@acorex-platform/module-person-core-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.
Files changed (64) hide show
  1. package/fesm2022/acorex-platform-module-person-core-client-assign-existing-person-to-party.command-CicvKND6.mjs.map +1 -1
  2. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.mjs +229 -0
  3. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.mjs.map +1 -0
  4. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-role.mjs +215 -0
  5. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-role.mjs.map +1 -0
  6. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-education-level.mjs +197 -0
  7. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-education-level.mjs.map +1 -0
  8. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-gender.mjs +197 -0
  9. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-gender.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-marital-status.mjs +197 -0
  11. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-marital-status.mjs.map +1 -0
  12. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-identifier-type.mjs +267 -0
  13. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-identifier-type.mjs.map +1 -0
  14. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-relationship.mjs +231 -0
  15. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-relationship.mjs.map +1 -0
  16. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-title.mjs +197 -0
  17. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-title.mjs.map +1 -0
  18. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person.mjs +567 -0
  19. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person.mjs.map +1 -0
  20. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-religion.mjs +197 -0
  21. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-religion.mjs.map +1 -0
  22. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-acorex-platform-module-person-core-client-contracts-entity-catalog-CJmzbjJI.mjs +106 -0
  23. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-acorex-platform-module-person-core-client-contracts-entity-catalog-CJmzbjJI.mjs.map +1 -0
  24. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-assignment.entity-BtVczZ89.mjs +151 -0
  25. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-assignment.entity-BtVczZ89.mjs.map +1 -0
  26. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-role.entity-uqPhUsRm.mjs +137 -0
  27. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-role.entity-uqPhUsRm.mjs.map +1 -0
  28. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-education-level.entity-C1pz4Bh2.mjs +119 -0
  29. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-education-level.entity-C1pz4Bh2.mjs.map +1 -0
  30. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-gender.entity-BaoSo66c.mjs +119 -0
  31. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-gender.entity-BaoSo66c.mjs.map +1 -0
  32. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-marital-status.entity-NdZ6U6Ue.mjs +119 -0
  33. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-marital-status.entity-NdZ6U6Ue.mjs.map +1 -0
  34. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-identifier-type.entity-D_XVLaZw.mjs +189 -0
  35. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-identifier-type.entity-D_XVLaZw.mjs.map +1 -0
  36. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-relationship.entity-Bt_Y9UTE.mjs +153 -0
  37. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-relationship.entity-Bt_Y9UTE.mjs.map +1 -0
  38. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-title.entity-B5jB67Eh.mjs +119 -0
  39. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-title.entity-B5jB67Eh.mjs.map +1 -0
  40. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person.entity-Bx2b-wa4.mjs +489 -0
  41. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person.entity-Bx2b-wa4.mjs.map +1 -0
  42. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-religion.entity-BUHOGYxG.mjs +119 -0
  43. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-religion.entity-BUHOGYxG.mjs.map +1 -0
  44. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog.mjs +2 -0
  45. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog.mjs.map +1 -0
  46. package/fesm2022/acorex-platform-module-person-core-client-contracts.mjs.map +1 -1
  47. package/fesm2022/acorex-platform-module-person-core-client-create-contact-with-new-person.command-DJXhGax3.mjs.map +1 -1
  48. package/fesm2022/acorex-platform-module-person-core-client-local-entities.mjs +38 -0
  49. package/fesm2022/acorex-platform-module-person-core-client-local-entities.mjs.map +1 -0
  50. package/fesm2022/acorex-platform-module-person-core-client.mjs.map +1 -1
  51. package/package.json +50 -1
  52. package/types/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.d.ts +5 -0
  53. package/types/acorex-platform-module-person-core-client-contracts-entities-contact-role.d.ts +5 -0
  54. package/types/acorex-platform-module-person-core-client-contracts-entities-education-level.d.ts +5 -0
  55. package/types/acorex-platform-module-person-core-client-contracts-entities-gender.d.ts +5 -0
  56. package/types/acorex-platform-module-person-core-client-contracts-entities-marital-status.d.ts +5 -0
  57. package/types/acorex-platform-module-person-core-client-contracts-entities-person-identifier-type.d.ts +5 -0
  58. package/types/acorex-platform-module-person-core-client-contracts-entities-person-relationship.d.ts +5 -0
  59. package/types/acorex-platform-module-person-core-client-contracts-entities-person-title.d.ts +5 -0
  60. package/types/acorex-platform-module-person-core-client-contracts-entities-person.d.ts +5 -0
  61. package/types/acorex-platform-module-person-core-client-contracts-entities-religion.d.ts +5 -0
  62. package/types/acorex-platform-module-person-core-client-contracts-entity-catalog.d.ts +10 -0
  63. package/types/acorex-platform-module-person-core-client-contracts.d.ts +3 -3
  64. package/types/acorex-platform-module-person-core-client-local-entities.d.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-person-core-client-assign-existing-person-to-party.command-CicvKND6.mjs","sources":["../../../../libs/modules/person-core/client/src/lib/commands/assign-existing-person-to-party.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult, runtimeCommandPayloadData} from '@acorex-platform/framework-shared/core';\nimport { inject, Injectable } from '@angular/core';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityFormBuilderService,\n} from '@acorex-platform/framework-client/layout/entity';\n\nimport { RootConfig, buildContactAssignmentPersonSnapshot, resolveContactAssignmentPartyContext } from '@acorex-platform/module-person-core-client/contracts';\nimport {\n AXPCommand,\n mergeEntityActionProcessData,\n resolveEntityActionCommandInput,\n type AXPCommandExecuteResultPromise,\n} from '@acorex-platform/framework-shared/runtime';\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMContactAssignmentAssignExistingPersonCommand implements AXPCommand<any, any> {\n private readonly entityDataSelector = inject(AXPEntityDataSelectorService);\n private readonly entityForm = inject(AXPEntityFormBuilderService);\n private readonly entityService = inject(AXPEntityDefinitionRegistryService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n async execute(input: any): AXPCommandExecuteResultPromise<any> {\n const resolved = resolveEntityActionCommandInput(input);\n const processData = mergeEntityActionProcessData(input);\n const entity = resolved.entity;\n const locale = this.translationService.getActiveLang?.() ?? 'en-US';\n const partyContext = resolveContactAssignmentPartyContext(processData, locale);\n\n if (!partyContext.partyId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@person-core:contact-assignments.messages.missing-party-context',\n ),\n },\n };\n }\n\n const [moduleName, entityName] = (entity || '').split('.');\n if (!moduleName || !entityName) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-identifier'),\n },\n };\n }\n\n const personEntity = await this.entityService.resolve(\n RootConfig.module.name,\n RootConfig.entities.person.name,\n );\n if (!personEntity) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-identifier'),\n },\n };\n }\n\n const selectorTitle = await this.translationService.translateAsync(\n '@person-core:contact-assignments.actions.assign-existing-person.selector-title',\n );\n const selectorResult = await this.entityDataSelector.open({\n entity: personEntity,\n title: selectorTitle,\n allowMultiple: false,\n columns: ['fullName', 'phones', 'emails'],\n });\n\n if (!selectorResult?.items?.length) {\n return { success: false };\n }\n\n const selectedPerson = selectorResult.items[0];\n const personId = selectedPerson.id ?? selectedPerson._id;\n const personSnapshot = buildContactAssignmentPersonSnapshot(\n selectedPerson as Record<string, unknown>,\n personId as string,\n );\n\n const formTitle = await this.translationService.translateAsync(\n '@person-core:contact-assignments.actions.assign-existing-person.form-title',\n { params: { partyTitle: partyContext.partyTitle } },\n );\n\n const result = await this.entityForm\n .entity(`${moduleName}.${entityName}`)\n .create({\n partyId: partyContext.partyId,\n personId,\n person: personSnapshot,\n })\n .include('roleId', 'notes')\n .title(formTitle)\n .actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.create.title');\n })\n .onAction<AXPRuntimeCommandResult<any>>(async (dialogRef) => {\n if (dialogRef.action() === 'cancel') {\n return { success: false };\n }\n\n const contactAssignmentEntity = await this.entityService.resolve(moduleName, entityName);\n const createFn = contactAssignmentEntity?.commands?.create?.execute as\n | ((payload: unknown) => AXPCommandExecuteResultPromise<any>)\n | undefined;\n\n if (!createFn) {\n const msg = await this.translationService.translateAsync(\n '@general:messages.entity.create-command-unavailable',\n );\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: msg,\n });\n throw new Error(msg);\n }\n\n dialogRef.setLoading(true);\n try {\n const context = dialogRef.context();\n const createResult = await createFn({\n ...context,\n partyId: partyContext.partyId,\n personId,\n person: personSnapshot,\n });\n const __single_createResult = runtimeCommandPayloadData(createResult);\n if (__single_createResult) {\n return { success: true, kind: 'object',\n data: runtimeCommandPayloadData(createResult),\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n };\n }\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.create-failed'),\n },\n };\n } catch (error: unknown) {\n const errorMsg =\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.entity.create-failed');\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: errorMsg,\n });\n throw error;\n } finally {\n dialogRef.setLoading(false);\n }\n })\n .show();\n\n return result as unknown as AXPRuntimeCommandResult<any>;\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;;;AAAA;AAoBA;AAEA;MAGa,+CAA+C,CAAA;AAD5D,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACzD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,2BAA2B,CAAC;AAChD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,kCAAkC,CAAC;AAC1D,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AAmJnE,IAAA;IAjJC,MAAM,OAAO,CAAC,KAAU,EAAA;AACtB,QAAA,MAAM,QAAQ,GAAG,+BAA+B,CAAC,KAAK,CAAC;AACvD,QAAA,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,CAAC;AACvD,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,IAAI,IAAI,OAAO;QACnE,MAAM,YAAY,GAAG,oCAAoC,CAAC,WAAW,EAAE,MAAM,CAAC;AAE9E,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACzB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAChD,iEAAiE,CAClE;AACF,iBAAA;aACF;QACH;AAEA,QAAA,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC;AAC1D,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;YAC9B,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,6CAA6C,CAAC;AAClG,iBAAA;aACF;QACH;QAEA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CACnD,UAAU,CAAC,MAAM,CAAC,IAAI,EACtB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAChC;QACD,IAAI,CAAC,YAAY,EAAE;YACjB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,6CAA6C,CAAC;AAClG,iBAAA;aACF;QACH;QAEA,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAChE,gFAAgF,CACjF;QACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AACxD,YAAA,MAAM,EAAE,YAAY;AACpB,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC;AAC1C,SAAA,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE;AAClC,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,IAAI,cAAc,CAAC,GAAG;QACxD,MAAM,cAAc,GAAG,oCAAoC,CACzD,cAAyC,EACzC,QAAkB,CACnB;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAC5D,4EAA4E,EAC5E,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,CACpD;AAED,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AACvB,aAAA,MAAM,CAAC,CAAA,EAAG,UAAU,CAAA,CAAA,EAAI,UAAU,EAAE;AACpC,aAAA,MAAM,CAAC;YACN,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,QAAQ;AACR,YAAA,MAAM,EAAE,cAAc;SACvB;AACA,aAAA,OAAO,CAAC,QAAQ,EAAE,OAAO;aACzB,KAAK,CAAC,SAAS;AACf,aAAA,OAAO,CAAC,CAAC,OAAO,KAAI;AACnB,YAAA,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAC/C,YAAA,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC;AACjD,QAAA,CAAC;AACA,aAAA,QAAQ,CAA+B,OAAO,SAAS,KAAI;AAC1D,YAAA,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,QAAQ,EAAE;AACnC,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3B;AAEA,YAAA,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC;YACxF,MAAM,QAAQ,GAAG,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAE/C;YAEb,IAAI,CAAC,QAAQ,EAAE;gBACb,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACtD,qDAAqD,CACtD;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,uCAAuC,CAAC;AAC5F,oBAAA,OAAO,EAAE,GAAG;AACb,iBAAA,CAAC;AACF,gBAAA,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC;YACtB;AAEA,YAAA,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI;AACF,gBAAA,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE;AACnC,gBAAA,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC;AAClC,oBAAA,GAAG,OAAO;oBACV,OAAO,EAAE,YAAY,CAAC,OAAO;oBAC7B,QAAQ;AACR,oBAAA,MAAM,EAAE,cAAc;AACvB,iBAAA,CAAC;AACF,gBAAA,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,YAAY,CAAC;gBACrE,IAAI,qBAAqB,EAAE;AACzB,oBAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ;AACpC,wBAAA,IAAI,EAAE,yBAAyB,CAAC,YAAY,CAAC;AAC7C,wBAAA,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,+CAA+C,CAAC;AACpG,yBAAA;qBACF;gBACH;gBACA,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,wCAAwC,CAAC;AAC7F,qBAAA;iBACF;YACH;YAAE,OAAO,KAAc,EAAE;AACvB,gBAAA,MAAM,QAAQ,GACZ,KAAK,YAAY;sBACb,KAAK,CAAC;sBACN,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,wCAAwC,CAAC;AAC5F,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,uCAAuC,CAAC;AAC5F,oBAAA,OAAO,EAAE,QAAQ;AAClB,iBAAA,CAAC;AACF,gBAAA,MAAM,KAAK;YACb;oBAAU;AACR,gBAAA,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;YAC7B;AACF,QAAA,CAAC;AACA,aAAA,IAAI,EAAE;AAET,QAAA,OAAO,MAAiD;IAC1D;8GAvJW,+CAA+C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA/C,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,+CAA+C,cADlC,MAAM,EAAA,CAAA,CAAA;;2FACnB,+CAA+C,EAAA,UAAA,EAAA,CAAA;kBAD3D,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-person-core-client-assign-existing-person-to-party.command-CicvKND6.mjs","sources":["../../../../libs/modules/person-core/client/src/lib/commands/assign-existing-person-to-party.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult, runtimeCommandPayloadData} from '@acorex-platform/framework-shared/core';\nimport { inject, Injectable } from '@angular/core';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityFormBuilderService,\n} from '@acorex-platform/framework-client/layout/entity';\n\nimport { RootConfig, buildContactAssignmentPersonSnapshot, resolveContactAssignmentPartyContext } from '@acorex-platform/module-person-core-client/contracts';\nimport {\n AXPCommand,\n mergeEntityActionProcessData,\n resolveEntityActionCommandInput,\n type AXPCommandExecuteResultPromise,\n} from '@acorex-platform/framework-shared/runtime';\n\n//#endregion\n\n//#region ---- Command ----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMContactAssignmentAssignExistingPersonCommand implements AXPCommand<any, any> {\n private readonly entityDataSelector = inject(AXPEntityDataSelectorService);\n private readonly entityForm = inject(AXPEntityFormBuilderService);\n private readonly entityService = inject(AXPEntityDefinitionRegistryService);\n private readonly toastService = inject(AXToastService);\n private readonly translationService = inject(AXTranslationService);\n\n async execute(input: any): AXPCommandExecuteResultPromise<any> {\n const resolved = resolveEntityActionCommandInput(input);\n const processData = mergeEntityActionProcessData(input);\n const entity = resolved.entity;\n const locale = this.translationService.getActiveLang?.() ?? 'en-US';\n const partyContext = resolveContactAssignmentPartyContext(processData, locale);\n\n if (!partyContext.partyId) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync(\n '@person-core:contact-assignments.messages.missing-party-context',\n ),\n },\n };\n }\n\n const [moduleName, entityName] = (entity || '').split('.');\n if (!moduleName || !entityName) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-identifier'),\n },\n };\n }\n\n const personEntity = await this.entityService.resolve(\n RootConfig.module.name,\n RootConfig.entities.person.name,\n );\n if (!personEntity) {\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-identifier'),\n },\n };\n }\n\n const selectorTitle = await this.translationService.translateAsync(\n '@person-core:contact-assignments.actions.assign-existing-person.selector-title',\n );\n const selectorResult = await this.entityDataSelector.open({\n entity: personEntity,\n title: selectorTitle,\n allowMultiple: false,\n columns: ['fullName', 'phones', 'emails'],\n });\n\n if (!selectorResult?.items?.length) {\n return { success: false };\n }\n\n const selectedPerson = selectorResult.items[0];\n const personId = selectedPerson.id ?? selectedPerson._id;\n const personSnapshot = buildContactAssignmentPersonSnapshot(\n selectedPerson as Record<string, unknown>,\n personId as string,\n );\n\n const formTitle = await this.translationService.translateAsync(\n '@person-core:contact-assignments.actions.assign-existing-person.form-title',\n { params: { partyTitle: partyContext.partyTitle } },\n );\n\n const result = await this.entityForm\n .entity(`${moduleName}.${entityName}`)\n .create({\n partyId: partyContext.partyId,\n personId,\n person: personSnapshot,\n })\n .include('roleId', 'notes')\n .title(formTitle)\n .actions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.create.title');\n })\n .onAction<AXPRuntimeCommandResult<any>>(async (dialogRef) => {\n if (dialogRef.action() === 'cancel') {\n return { success: false };\n }\n\n const contactAssignmentEntity = await this.entityService.resolve(moduleName, entityName);\n const createFn = contactAssignmentEntity?.commands?.create?.execute as\n | ((payload: unknown) => AXPCommandExecuteResultPromise<any>)\n | undefined;\n\n if (!createFn) {\n const msg = await this.translationService.translateAsync(\n '@general:messages.entity.create-command-unavailable',\n );\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: msg,\n });\n throw new Error(msg);\n }\n\n dialogRef.setLoading(true);\n try {\n const context = dialogRef.context();\n const createResult = await createFn({\n ...context,\n partyId: partyContext.partyId,\n personId,\n person: personSnapshot,\n });\n const __single_createResult = runtimeCommandPayloadData(createResult);\n if (__single_createResult) {\n return { success: true, kind: 'object',\n data: runtimeCommandPayloadData(createResult),\n message: {\n text: await this.translationService.translateAsync('@general:messages.generic.success.description'),\n },\n };\n }\n return {\n success: false,\n message: {\n text: await this.translationService.translateAsync('@general:messages.entity.create-failed'),\n },\n };\n } catch (error: unknown) {\n const errorMsg =\n error instanceof Error\n ? error.message\n : await this.translationService.translateAsync('@general:messages.entity.create-failed');\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync('@general:messages.generic.error.title'),\n content: errorMsg,\n });\n throw error;\n } finally {\n dialogRef.setLoading(false);\n }\n })\n .show();\n\n return result as unknown as AXPRuntimeCommandResult<any>;\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'person-core',
6
+ module: 'PersonCore',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ name: config.module,
12
+ title: `@${config.i18n}:module.title`,
13
+ icon: 'fa-light fa-user',
14
+ },
15
+ entities: {
16
+ person: {
17
+ name: 'Person',
18
+ title: `@${config.i18n}:persons.entities.person.title`,
19
+ titlePlural: `@${config.i18n}:persons.entities.person.plural`,
20
+ icon: 'fa-light fa-user',
21
+ },
22
+ educationLevel: {
23
+ name: 'EducationLevel',
24
+ title: `@${config.i18n}:education-levels.entities.education-level.title`,
25
+ titlePlural: `@${config.i18n}:education-levels.entities.education-level.plural`,
26
+ icon: 'fa-light fa-graduation-cap',
27
+ },
28
+ gender: {
29
+ name: 'Gender',
30
+ title: `@${config.i18n}:genders.entities.gender.title`,
31
+ titlePlural: `@${config.i18n}:genders.entities.gender.plural`,
32
+ icon: 'fa-light fa-venus-mars',
33
+ },
34
+ maritalStatus: {
35
+ name: 'MaritalStatus',
36
+ title: `@${config.i18n}:marital-statuses.entities.marital-status.title`,
37
+ titlePlural: `@${config.i18n}:marital-statuses.entities.marital-status.plural`,
38
+ icon: 'fa-light fa-ring',
39
+ },
40
+ personTitle: {
41
+ name: 'PersonTitle',
42
+ title: `@${config.i18n}:person-titles.entities.person-title.title`,
43
+ titlePlural: `@${config.i18n}:person-titles.entities.person-title.plural`,
44
+ icon: 'fa-light fa-user-tie',
45
+ },
46
+ personIdentifierType: {
47
+ name: 'PersonIdentifierType',
48
+ title: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.title`,
49
+ titlePlural: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.plural`,
50
+ icon: 'fa-light fa-id-card',
51
+ },
52
+ religion: {
53
+ name: 'Religion',
54
+ title: `@${config.i18n}:religions.entities.religion.title`,
55
+ titlePlural: `@${config.i18n}:religions.entities.religion.plural`,
56
+ icon: 'fa-light fa-place-of-worship',
57
+ },
58
+ contactRole: {
59
+ name: 'ContactRole',
60
+ title: `@${config.i18n}:contact-roles.entities.contact-role.title`,
61
+ titlePlural: `@${config.i18n}:contact-roles.entities.contact-role.plural`,
62
+ icon: 'fa-light fa-user-tag',
63
+ },
64
+ personRelationship: {
65
+ name: 'PersonRelationship',
66
+ title: `@${config.i18n}:person-relationships.entities.person-relationship.title`,
67
+ titlePlural: `@${config.i18n}:person-relationships.entities.person-relationship.plural`,
68
+ icon: 'fa-light fa-link',
69
+ },
70
+ contactAssignment: {
71
+ name: 'ContactAssignment',
72
+ title: `@${config.i18n}:contact-assignments.entities.contact-assignment.title`,
73
+ titlePlural: `@${config.i18n}:contact-assignments.entities.contact-assignment.plural`,
74
+ icon: 'fa-light fa-address-book',
75
+ },
76
+ },
77
+ };
78
+
79
+ //#endregion
80
+ //#region ---- Entity Factory ----
81
+ async function contactAssignmentFactory() {
82
+ const entityDef = {
83
+ module: RootConfig.module.name,
84
+ name: RootConfig.entities.contactAssignment.name,
85
+ title: RootConfig.entities.contactAssignment.title,
86
+ icon: RootConfig.entities.contactAssignment.icon,
87
+ formats: {
88
+ individual: RootConfig.entities.contactAssignment.title,
89
+ plural: RootConfig.entities.contactAssignment.titlePlural,
90
+ searchResult: {
91
+ title: '{{ context.eval("person.fullName") + " (" + context.eval("role.title", { pipes: ["translate"] }) + ")" }}',
92
+ description: '@person-core:contact-assignments.entities.contact-assignment.search-result-description',
93
+ },
94
+ },
95
+ plugins: [{ name: 'notes' }],
96
+ groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],
97
+ properties: [
98
+ {
99
+ name: 'partyId',
100
+ title: '@person-core:contact-assignments.entities.contact-assignment.fields.party.title',
101
+ groupId: 'basic-info',
102
+ options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },
103
+ schema: {
104
+ dataType: 'string',
105
+ interface: {
106
+ type: AXPWidgetsList.Editors.LookupBox,
107
+ options: {
108
+ entity: 'BusinessCore.Party',
109
+ multiple: false,
110
+ textField: 'title',
111
+ columns: ['title'],
112
+ expose: [
113
+ { source: 'id', target: 'party.id' },
114
+ { source: 'title', target: 'party.title' },
115
+ ],
116
+ },
117
+ },
118
+ },
119
+ validations: [{ rule: 'required' }],
120
+ },
121
+ {
122
+ name: 'personId',
123
+ title: '@person-core:contact-assignments.entities.contact-assignment.fields.person.title',
124
+ groupId: 'basic-info',
125
+ options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },
126
+ schema: {
127
+ dataType: 'string',
128
+ interface: {
129
+ type: AXPWidgetsList.Editors.LookupBox,
130
+ options: {
131
+ entity: `${RootConfig.module.name}.${RootConfig.entities.person.name}`,
132
+ multiple: false,
133
+ textField: 'fullName',
134
+ columns: ['fullName', 'phones', 'emails'],
135
+ allowCreate: 'quick',
136
+ expose: [
137
+ { source: 'id', target: 'person.id' },
138
+ { source: 'fullName', target: 'person.fullName' },
139
+ { source: 'phones', target: 'person.phones' },
140
+ { source: 'emails', target: 'person.emails' },
141
+ ],
142
+ },
143
+ },
144
+ },
145
+ validations: [{ rule: 'required' }],
146
+ },
147
+ {
148
+ name: 'roleId',
149
+ title: '@person-core:contact-assignments.entities.contact-assignment.fields.role.title',
150
+ groupId: 'basic-info',
151
+ options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },
152
+ schema: {
153
+ dataType: 'string',
154
+ interface: {
155
+ type: AXPWidgetsList.Editors.LookupBox,
156
+ options: {
157
+ look: 'select',
158
+ entity: `${RootConfig.module.name}.${RootConfig.entities.contactRole.name}`,
159
+ multiple: false,
160
+ allowCreate: 'quick',
161
+ expose: [
162
+ { source: 'id', target: 'role.id' },
163
+ { source: 'title', target: 'role.title' },
164
+ ],
165
+ },
166
+ },
167
+ },
168
+ validations: [{ rule: 'required' }],
169
+ },
170
+ ],
171
+ columns: [
172
+ { name: 'personId', title: '@general:terms.people.contact', options: { dataPath: 'person.fullName' } },
173
+ {
174
+ name: 'roleId',
175
+ title: '@person-core:contact-assignments.entities.contact-assignment.fields.role.title',
176
+ options: { dataPath: 'role.title' },
177
+ },
178
+ { name: 'person.phones', title: '@general:terms.communication.phones', options: { width: '200px' } },
179
+ { name: 'person.emails', title: '@general:terms.communication.emails', options: { width: '200px' } },
180
+ ],
181
+ interfaces: {
182
+ master: {
183
+ create: {
184
+ sections: [{ id: 'basic-info' }],
185
+ properties: [
186
+ { name: 'partyId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
187
+ { name: 'personId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
188
+ { name: 'roleId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
189
+ ],
190
+ },
191
+ update: {
192
+ sections: [{ id: 'basic-info' }],
193
+ properties: [
194
+ { name: 'partyId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
195
+ { name: 'personId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
196
+ { name: 'roleId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
197
+ ],
198
+ },
199
+ single: {
200
+ title: '{{ context.eval("person.fullName") + " - " + context.eval("role.title", { pipes: ["translate"] }) }}',
201
+ sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],
202
+ properties: [
203
+ { name: 'partyId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
204
+ { name: 'personId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
205
+ { name: 'roleId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },
206
+ ],
207
+ actions: [...entityMasterRecordActions()],
208
+ },
209
+ list: {
210
+ actions: [...entityMasterCrudActions()],
211
+ views: [
212
+ createAllQueryView({
213
+ sorts: [{ name: 'roleId', dir: 'asc' }],
214
+ }),
215
+ ],
216
+ },
217
+ },
218
+ },
219
+ };
220
+ return entityDef;
221
+ }
222
+ //#endregion
223
+
224
+ /**
225
+ * Generated bundle index. Do not edit.
226
+ */
227
+
228
+ export { contactAssignmentFactory };
229
+ //# sourceMappingURL=acorex-platform-module-person-core-client-contracts-entities-contact-assignment.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-person-core-client-contracts-entities-contact-assignment.mjs","sources":["../../../../libs/modules/person-core/contracts/src/root-config.ts","../../../../libs/modules/person-core/contracts/src/entities/contact-assignment/contact-assignment.entity.ts","../../../../libs/modules/person-core/contracts/src/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.ts"],"sourcesContent":["const config = {\n i18n: 'person-core',\n module: 'PersonCore',\n};\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-user',\n },\n entities: {\n person: {\n name: 'Person',\n title: `@${config.i18n}:persons.entities.person.title`,\n titlePlural: `@${config.i18n}:persons.entities.person.plural`,\n icon: 'fa-light fa-user',\n },\n educationLevel: {\n name: 'EducationLevel',\n title: `@${config.i18n}:education-levels.entities.education-level.title`,\n titlePlural: `@${config.i18n}:education-levels.entities.education-level.plural`,\n icon: 'fa-light fa-graduation-cap',\n },\n gender: {\n name: 'Gender',\n title: `@${config.i18n}:genders.entities.gender.title`,\n titlePlural: `@${config.i18n}:genders.entities.gender.plural`,\n icon: 'fa-light fa-venus-mars',\n },\n maritalStatus: {\n name: 'MaritalStatus',\n title: `@${config.i18n}:marital-statuses.entities.marital-status.title`,\n titlePlural: `@${config.i18n}:marital-statuses.entities.marital-status.plural`,\n icon: 'fa-light fa-ring',\n },\n personTitle: {\n name: 'PersonTitle',\n title: `@${config.i18n}:person-titles.entities.person-title.title`,\n titlePlural: `@${config.i18n}:person-titles.entities.person-title.plural`,\n icon: 'fa-light fa-user-tie',\n },\n personIdentifierType: {\n name: 'PersonIdentifierType',\n title: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.title`,\n titlePlural: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.plural`,\n icon: 'fa-light fa-id-card',\n },\n religion: {\n name: 'Religion',\n title: `@${config.i18n}:religions.entities.religion.title`,\n titlePlural: `@${config.i18n}:religions.entities.religion.plural`,\n icon: 'fa-light fa-place-of-worship',\n },\n contactRole: {\n name: 'ContactRole',\n title: `@${config.i18n}:contact-roles.entities.contact-role.title`,\n titlePlural: `@${config.i18n}:contact-roles.entities.contact-role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n personRelationship: {\n name: 'PersonRelationship',\n title: `@${config.i18n}:person-relationships.entities.person-relationship.title`,\n titlePlural: `@${config.i18n}:person-relationships.entities.person-relationship.plural`,\n icon: 'fa-light fa-link',\n },\n contactAssignment: {\n name: 'ContactAssignment',\n title: `@${config.i18n}:contact-assignments.entities.contact-assignment.title`,\n titlePlural: `@${config.i18n}:contact-assignments.entities.contact-assignment.plural`,\n icon: 'fa-light fa-address-book',\n },\n },\n} as const;\n","import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Imports ----\n\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function contactAssignmentFactory(): Promise<AXPEntity> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.contactAssignment.name,\n title: RootConfig.entities.contactAssignment.title,\n icon: RootConfig.entities.contactAssignment.icon,\n formats: {\n individual: RootConfig.entities.contactAssignment.title,\n plural: RootConfig.entities.contactAssignment.titlePlural,\n searchResult: {\n title: '{{ context.eval(\"person.fullName\") + \" (\" + context.eval(\"role.title\", { pipes: [\"translate\"] }) + \")\" }}',\n description: '@person-core:contact-assignments.entities.contact-assignment.search-result-description',\n },\n },\n plugins: [{ name: 'notes' }],\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'partyId',\n title: '@person-core:contact-assignments.entities.contact-assignment.fields.party.title',\n groupId: 'basic-info',\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'BusinessCore.Party',\n multiple: false,\n textField: 'title',\n columns: ['title'],\n expose: [\n { source: 'id', target: 'party.id' },\n { source: 'title', target: 'party.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'personId',\n title: '@person-core:contact-assignments.entities.contact-assignment.fields.person.title',\n groupId: 'basic-info',\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.person.name}`,\n multiple: false,\n textField: 'fullName',\n columns: ['fullName', 'phones', 'emails'],\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: 'person.id' },\n { source: 'fullName', target: 'person.fullName' },\n { source: 'phones', target: 'person.phones' },\n { source: 'emails', target: 'person.emails' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'roleId',\n title: '@person-core:contact-assignments.entities.contact-assignment.fields.role.title',\n groupId: 'basic-info',\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.contactRole.name}`,\n multiple: false,\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: 'role.id' },\n { source: 'title', target: 'role.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n ],\n columns: [\n { name: 'personId', title: '@general:terms.people.contact', options: { dataPath: 'person.fullName' } },\n {\n name: 'roleId',\n title: '@person-core:contact-assignments.entities.contact-assignment.fields.role.title',\n options: { dataPath: 'role.title' },\n },\n { name: 'person.phones', title: '@general:terms.communication.phones', options: { width: '200px' } },\n { name: 'person.emails', title: '@general:terms.communication.emails', options: { width: '200px' } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'partyId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'personId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'partyId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'personId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n },\n single: {\n title: '{{ context.eval(\"person.fullName\") + \" - \" + context.eval(\"role.title\", { pipes: [\"translate\"] }) }}',\n sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],\n properties: [\n { name: 'partyId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'personId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'roleId', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.contact-assignment';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,215 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
+
4
+ const config = {
5
+ i18n: 'person-core',
6
+ module: 'PersonCore',
7
+ };
8
+ const RootConfig = {
9
+ config,
10
+ module: {
11
+ name: config.module,
12
+ title: `@${config.i18n}:module.title`,
13
+ icon: 'fa-light fa-user',
14
+ },
15
+ entities: {
16
+ person: {
17
+ name: 'Person',
18
+ title: `@${config.i18n}:persons.entities.person.title`,
19
+ titlePlural: `@${config.i18n}:persons.entities.person.plural`,
20
+ icon: 'fa-light fa-user',
21
+ },
22
+ educationLevel: {
23
+ name: 'EducationLevel',
24
+ title: `@${config.i18n}:education-levels.entities.education-level.title`,
25
+ titlePlural: `@${config.i18n}:education-levels.entities.education-level.plural`,
26
+ icon: 'fa-light fa-graduation-cap',
27
+ },
28
+ gender: {
29
+ name: 'Gender',
30
+ title: `@${config.i18n}:genders.entities.gender.title`,
31
+ titlePlural: `@${config.i18n}:genders.entities.gender.plural`,
32
+ icon: 'fa-light fa-venus-mars',
33
+ },
34
+ maritalStatus: {
35
+ name: 'MaritalStatus',
36
+ title: `@${config.i18n}:marital-statuses.entities.marital-status.title`,
37
+ titlePlural: `@${config.i18n}:marital-statuses.entities.marital-status.plural`,
38
+ icon: 'fa-light fa-ring',
39
+ },
40
+ personTitle: {
41
+ name: 'PersonTitle',
42
+ title: `@${config.i18n}:person-titles.entities.person-title.title`,
43
+ titlePlural: `@${config.i18n}:person-titles.entities.person-title.plural`,
44
+ icon: 'fa-light fa-user-tie',
45
+ },
46
+ personIdentifierType: {
47
+ name: 'PersonIdentifierType',
48
+ title: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.title`,
49
+ titlePlural: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.plural`,
50
+ icon: 'fa-light fa-id-card',
51
+ },
52
+ religion: {
53
+ name: 'Religion',
54
+ title: `@${config.i18n}:religions.entities.religion.title`,
55
+ titlePlural: `@${config.i18n}:religions.entities.religion.plural`,
56
+ icon: 'fa-light fa-place-of-worship',
57
+ },
58
+ contactRole: {
59
+ name: 'ContactRole',
60
+ title: `@${config.i18n}:contact-roles.entities.contact-role.title`,
61
+ titlePlural: `@${config.i18n}:contact-roles.entities.contact-role.plural`,
62
+ icon: 'fa-light fa-user-tag',
63
+ },
64
+ personRelationship: {
65
+ name: 'PersonRelationship',
66
+ title: `@${config.i18n}:person-relationships.entities.person-relationship.title`,
67
+ titlePlural: `@${config.i18n}:person-relationships.entities.person-relationship.plural`,
68
+ icon: 'fa-light fa-link',
69
+ },
70
+ contactAssignment: {
71
+ name: 'ContactAssignment',
72
+ title: `@${config.i18n}:contact-assignments.entities.contact-assignment.title`,
73
+ titlePlural: `@${config.i18n}:contact-assignments.entities.contact-assignment.plural`,
74
+ icon: 'fa-light fa-address-book',
75
+ },
76
+ },
77
+ };
78
+
79
+ //#endregion
80
+ //#region ---- Entity Factory ----
81
+ async function contactRoleFactory() {
82
+ const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];
83
+ const propertyLayouts = [
84
+ { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
85
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
86
+ { name: 'inverseTypeId', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },
87
+ ];
88
+ const entityDef = {
89
+ module: RootConfig.module.name,
90
+ name: RootConfig.entities.contactRole.name,
91
+ title: RootConfig.entities.contactRole.title,
92
+ icon: RootConfig.entities.contactRole.icon,
93
+ formats: {
94
+ individual: RootConfig.entities.contactRole.title,
95
+ plural: RootConfig.entities.contactRole.titlePlural,
96
+ searchResult: {
97
+ title: '{{ title }}',
98
+ description: '@person-core:contact-roles.entities.contact-role.search-result-description',
99
+ },
100
+ },
101
+ plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'clone' }],
102
+ groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],
103
+ properties: [
104
+ {
105
+ name: 'id',
106
+ title: '@general:terms.common.id',
107
+ groupId: 'basic-info',
108
+ schema: {
109
+ dataType: 'uuid',
110
+ visible: false,
111
+ readonly: true,
112
+ unique: { enabled: true },
113
+ },
114
+ },
115
+ {
116
+ name: 'title',
117
+ title: '@general:terms.common.title',
118
+ groupId: 'basic-info',
119
+ options: {
120
+ sort: { enabled: true },
121
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
122
+ },
123
+ schema: {
124
+ dataType: 'string',
125
+ interface: {
126
+ type: AXPWidgetsList.Editors.TextBox,
127
+ options: {
128
+ placeholder: '@person-core:contact-roles.entities.contact-role.fields.title.placeholder',
129
+ },
130
+ },
131
+ },
132
+ validations: [{ rule: 'required' }],
133
+ },
134
+ {
135
+ name: 'description',
136
+ title: '@general:terms.common.description',
137
+ groupId: 'basic-info',
138
+ options: {
139
+ sort: { enabled: false },
140
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
141
+ },
142
+ schema: {
143
+ dataType: 'string',
144
+ interface: {
145
+ type: AXPWidgetsList.Editors.LargeTextBox,
146
+ options: {
147
+ rows: 3,
148
+ placeholder: '@person-core:contact-roles.entities.contact-role.fields.description.placeholder',
149
+ },
150
+ },
151
+ },
152
+ },
153
+ {
154
+ name: 'inverseTypeId',
155
+ title: '@person-core:contact-roles.entities.contact-role.fields.inverse-type.title',
156
+ groupId: 'basic-info',
157
+ options: {
158
+ sort: { enabled: false },
159
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
160
+ },
161
+ schema: {
162
+ dataType: 'string',
163
+ interface: {
164
+ type: AXPWidgetsList.Editors.LookupBox,
165
+ options: {
166
+ look: 'select',
167
+ entity: `${RootConfig.module.name}.${RootConfig.entities.contactRole.name}`,
168
+ multiple: false,
169
+ textField: 'title',
170
+ columns: ['title'],
171
+ expose: [
172
+ { source: 'id', target: 'inverseType.id' },
173
+ { source: 'title', target: 'inverseType.title' },
174
+ ],
175
+ },
176
+ },
177
+ },
178
+ },
179
+ ],
180
+ columns: [
181
+ { name: 'title', options: { width: '220px', order: 1 } },
182
+ { name: 'description', options: { width: '320px', order: 2 } },
183
+ { name: 'inverseTypeId', options: { width: '220px', order: 3 } },
184
+ ],
185
+ interfaces: {
186
+ master: {
187
+ create: { sections, properties: propertyLayouts },
188
+ update: { sections, properties: propertyLayouts },
189
+ single: {
190
+ title: '{{ title }}',
191
+ sections,
192
+ properties: propertyLayouts,
193
+ actions: [...entityMasterRecordActions()],
194
+ },
195
+ list: {
196
+ actions: [...entityMasterCrudActions()],
197
+ views: [
198
+ createAllQueryView({
199
+ sorts: [{ name: 'title', dir: 'asc' }],
200
+ }),
201
+ ],
202
+ },
203
+ },
204
+ },
205
+ };
206
+ return entityDef;
207
+ }
208
+ //#endregion
209
+
210
+ /**
211
+ * Generated bundle index. Do not edit.
212
+ */
213
+
214
+ export { contactRoleFactory };
215
+ //# sourceMappingURL=acorex-platform-module-person-core-client-contracts-entities-contact-role.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-person-core-client-contracts-entities-contact-role.mjs","sources":["../../../../libs/modules/person-core/contracts/src/root-config.ts","../../../../libs/modules/person-core/contracts/src/entities/contact-role/contact-role.entity.ts","../../../../libs/modules/person-core/contracts/src/acorex-platform-module-person-core-client-contracts-entities-contact-role.ts"],"sourcesContent":["const config = {\n i18n: 'person-core',\n module: 'PersonCore',\n};\n\nexport const RootConfig = {\n config,\n module: {\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-user',\n },\n entities: {\n person: {\n name: 'Person',\n title: `@${config.i18n}:persons.entities.person.title`,\n titlePlural: `@${config.i18n}:persons.entities.person.plural`,\n icon: 'fa-light fa-user',\n },\n educationLevel: {\n name: 'EducationLevel',\n title: `@${config.i18n}:education-levels.entities.education-level.title`,\n titlePlural: `@${config.i18n}:education-levels.entities.education-level.plural`,\n icon: 'fa-light fa-graduation-cap',\n },\n gender: {\n name: 'Gender',\n title: `@${config.i18n}:genders.entities.gender.title`,\n titlePlural: `@${config.i18n}:genders.entities.gender.plural`,\n icon: 'fa-light fa-venus-mars',\n },\n maritalStatus: {\n name: 'MaritalStatus',\n title: `@${config.i18n}:marital-statuses.entities.marital-status.title`,\n titlePlural: `@${config.i18n}:marital-statuses.entities.marital-status.plural`,\n icon: 'fa-light fa-ring',\n },\n personTitle: {\n name: 'PersonTitle',\n title: `@${config.i18n}:person-titles.entities.person-title.title`,\n titlePlural: `@${config.i18n}:person-titles.entities.person-title.plural`,\n icon: 'fa-light fa-user-tie',\n },\n personIdentifierType: {\n name: 'PersonIdentifierType',\n title: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.title`,\n titlePlural: `@${config.i18n}:person-identifier-types.entities.person-identifier-type.plural`,\n icon: 'fa-light fa-id-card',\n },\n religion: {\n name: 'Religion',\n title: `@${config.i18n}:religions.entities.religion.title`,\n titlePlural: `@${config.i18n}:religions.entities.religion.plural`,\n icon: 'fa-light fa-place-of-worship',\n },\n contactRole: {\n name: 'ContactRole',\n title: `@${config.i18n}:contact-roles.entities.contact-role.title`,\n titlePlural: `@${config.i18n}:contact-roles.entities.contact-role.plural`,\n icon: 'fa-light fa-user-tag',\n },\n personRelationship: {\n name: 'PersonRelationship',\n title: `@${config.i18n}:person-relationships.entities.person-relationship.title`,\n titlePlural: `@${config.i18n}:person-relationships.entities.person-relationship.plural`,\n icon: 'fa-light fa-link',\n },\n contactAssignment: {\n name: 'ContactAssignment',\n title: `@${config.i18n}:contact-assignments.entities.contact-assignment.title`,\n titlePlural: `@${config.i18n}:contact-assignments.entities.contact-assignment.plural`,\n icon: 'fa-light fa-address-book',\n },\n },\n} as const;\n","import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n\n//#region ---- Imports ----\n\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function contactRoleFactory(): Promise<AXPEntity> {\n const sections = [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }];\n const propertyLayouts = [\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'inverseTypeId', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n ];\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.contactRole.name,\n title: RootConfig.entities.contactRole.title,\n icon: RootConfig.entities.contactRole.icon,\n formats: {\n individual: RootConfig.entities.contactRole.title,\n plural: RootConfig.entities.contactRole.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '@person-core:contact-roles.entities.contact-role.search-result-description',\n },\n },\n plugins: [{ name: 'history' }, { name: 'compare' }, { name: 'clone' }],\n groups: [{ id: 'basic-info', title: '@general:terms.interface.basic-info' }],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'title',\n title: '@general:terms.common.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@person-core:contact-roles.entities.contact-role.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@general:terms.common.description',\n groupId: 'basic-info',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 3,\n placeholder: '@person-core:contact-roles.entities.contact-role.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'inverseTypeId',\n title: '@person-core:contact-roles.entities.contact-role.fields.inverse-type.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n look: 'select',\n entity: `${RootConfig.module.name}.${RootConfig.entities.contactRole.name}`,\n multiple: false,\n textField: 'title',\n columns: ['title'],\n expose: [\n { source: 'id', target: 'inverseType.id' },\n { source: 'title', target: 'inverseType.title' },\n ],\n },\n },\n },\n },\n ],\n columns: [\n { name: 'title', options: { width: '220px', order: 1 } },\n { name: 'description', options: { width: '320px', order: 2 } },\n { name: 'inverseTypeId', options: { width: '220px', order: 3 } },\n ],\n interfaces: {\n master: {\n create: { sections, properties: propertyLayouts },\n update: { sections, properties: propertyLayouts },\n single: {\n title: '{{ title }}',\n sections,\n properties: propertyLayouts,\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'title', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entity-entry.contact-role';\n"],"names":[],"mappings":"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"}