@acorex/modules 20.0.5 → 20.0.7

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 (206) hide show
  1. package/common/index.d.ts +22 -2
  2. package/contact-management/README.md +568 -0
  3. package/contact-management/index.d.ts +263 -0
  4. package/conversation/index.d.ts +364 -391
  5. package/document-management/index.d.ts +5 -1
  6. package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs → acorex-modules-application-management-module-designer.component-BErRgx0w.mjs} +7 -7
  7. package/fesm2022/{acorex-modules-application-management-module-designer.component-CvFiEI1a.mjs.map → acorex-modules-application-management-module-designer.component-BErRgx0w.mjs.map} +1 -1
  8. package/fesm2022/acorex-modules-application-management.mjs +41 -42
  9. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  10. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs → acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs} +44 -44
  11. package/fesm2022/acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map +1 -0
  12. package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs → acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs} +5 -5
  13. package/fesm2022/{acorex-modules-auth-app-chooser.component-C-HPf2jz.mjs.map → acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-blank.layout-C5d42pO1.mjs → acorex-modules-auth-blank.layout-D2qSgxTy.mjs} +4 -4
  15. package/fesm2022/{acorex-modules-auth-blank.layout-C5d42pO1.mjs.map → acorex-modules-auth-blank.layout-D2qSgxTy.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs → acorex-modules-auth-login.module-CWOYzn0L.mjs} +8 -8
  17. package/fesm2022/{acorex-modules-auth-login.module-eC1_ukrb.mjs.map → acorex-modules-auth-login.module-CWOYzn0L.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs → acorex-modules-auth-master.layout-384T0lIg.mjs} +5 -5
  19. package/fesm2022/{acorex-modules-auth-master.layout-DpfqRgAl.mjs.map → acorex-modules-auth-master.layout-384T0lIg.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-password.component-rE9yrcGW.mjs → acorex-modules-auth-password.component-BW_ooTQG.mjs} +5 -5
  21. package/fesm2022/acorex-modules-auth-password.component-BW_ooTQG.mjs.map +1 -0
  22. package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs → acorex-modules-auth-password.component-JG95JpLz.mjs} +5 -5
  23. package/fesm2022/{acorex-modules-auth-password.component-DAB9dWB8.mjs.map → acorex-modules-auth-password.component-JG95JpLz.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs → acorex-modules-auth-routes-DqKtHu-i.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-auth-routes-EGvejNu9.mjs.map → acorex-modules-auth-routes-DqKtHu-i.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-fmuXNByb.mjs → acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs} +4 -4
  27. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-fmuXNByb.mjs.map → acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-two-factor-code.component-JYtAQ3qF.mjs → acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs} +4 -4
  29. package/fesm2022/{acorex-modules-auth-two-factor-code.component-JYtAQ3qF.mjs.map → acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs → acorex-modules-auth-two-factor.module-C88pXqao.mjs} +7 -7
  31. package/fesm2022/{acorex-modules-auth-two-factor.module-DF3_fgzH.mjs.map → acorex-modules-auth-two-factor.module-C88pXqao.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs → acorex-modules-auth-user-sessions.component-loloVwv0.mjs} +5 -5
  33. package/fesm2022/{acorex-modules-auth-user-sessions.component-BPb-WS4k.mjs.map → acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map} +1 -1
  34. package/fesm2022/acorex-modules-auth.mjs +1 -1
  35. package/fesm2022/{acorex-modules-common-search-popup.component-B5JU9uH9.mjs → acorex-modules-common-search-popup.component-CCKiQx0U.mjs} +8 -8
  36. package/fesm2022/{acorex-modules-common-search-popup.component-B5JU9uH9.mjs.map → acorex-modules-common-search-popup.component-CCKiQx0U.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DzvUTy5z.mjs → acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs} +8 -8
  38. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DzvUTy5z.mjs.map → acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs.map} +1 -1
  39. package/fesm2022/acorex-modules-common.mjs +215 -86
  40. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  41. package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs +489 -0
  42. package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +1 -0
  43. package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs +827 -0
  44. package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +1 -0
  45. package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs +509 -0
  46. package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +1 -0
  47. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs +469 -0
  48. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +1 -0
  49. package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs +489 -0
  50. package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +1 -0
  51. package/fesm2022/acorex-modules-contact-management.mjs +2332 -0
  52. package/fesm2022/acorex-modules-contact-management.mjs.map +1 -0
  53. package/fesm2022/acorex-modules-content-management.mjs +119 -55
  54. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  55. package/fesm2022/acorex-modules-conversation.mjs +2225 -2073
  56. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  57. package/fesm2022/acorex-modules-dashboard-management.mjs +84 -84
  58. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  59. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-ClH75xx1.mjs → acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs} +310 -235
  60. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B_tjfzIn.mjs → acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs} +5 -5
  62. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B_tjfzIn.mjs.map → acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DNdRcCAs.mjs → acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs} +5 -5
  64. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-DNdRcCAs.mjs.map → acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-document-management-details-view.component-JsK1UgZh.mjs → acorex-modules-document-management-details-view.component-Co5F8eWp.mjs} +5 -5
  66. package/fesm2022/{acorex-modules-document-management-details-view.component-JsK1UgZh.mjs.map → acorex-modules-document-management-details-view.component-Co5F8eWp.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DJT9oLek.mjs → acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs} +5 -5
  68. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DJT9oLek.mjs.map → acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-document-management-drive.component-DYxpvUWX.mjs → acorex-modules-document-management-drive.component-jGs09Jrd.mjs} +8 -8
  70. package/fesm2022/{acorex-modules-document-management-drive.component-DYxpvUWX.mjs.map → acorex-modules-document-management-drive.component-jGs09Jrd.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-B324V2hL.mjs → acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs} +5 -5
  72. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-B324V2hL.mjs.map → acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map} +1 -1
  73. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-V5gHyu9X.mjs → acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs} +5 -5
  74. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-V5gHyu9X.mjs.map → acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs.map} +1 -1
  75. package/fesm2022/{acorex-modules-document-management-link-dialog.component-B-BzU_4Y.mjs → acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs} +4 -4
  76. package/fesm2022/{acorex-modules-document-management-link-dialog.component-B-BzU_4Y.mjs.map → acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-document-management-list-view.component-Bm2EH2aT.mjs → acorex-modules-document-management-list-view.component-D4DbyB6W.mjs} +5 -5
  78. package/fesm2022/{acorex-modules-document-management-list-view.component-Bm2EH2aT.mjs.map → acorex-modules-document-management-list-view.component-D4DbyB6W.mjs.map} +1 -1
  79. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs +315 -0
  80. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs.map +1 -0
  81. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-BDhqsc2j.mjs → acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs} +4 -4
  82. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-BDhqsc2j.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs.map} +1 -1
  83. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-C4GC0GbF.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs} +4 -4
  84. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-C4GC0GbF.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs.map} +1 -1
  85. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs +31 -0
  86. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs.map +1 -0
  87. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DGqVDVLJ.mjs → acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DGqVDVLJ.mjs.map → acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-LgpvDguk.mjs → acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs} +5 -5
  90. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-LgpvDguk.mjs.map → acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DzuYhAD4.mjs → acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs} +4 -4
  92. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DzuYhAD4.mjs.map → acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DNN_3JF2.mjs → acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs} +4 -4
  94. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-DNN_3JF2.mjs.map → acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BwFoe1vd.mjs → acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs} +5 -5
  96. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BwFoe1vd.mjs.map → acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B5gp0wus.mjs → acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs} +5 -5
  98. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-B5gp0wus.mjs.map → acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs.map} +1 -1
  99. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  100. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B3o427If.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs} +58 -57
  101. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-B3o427If.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-form-template-management-category.entity-B7dGrmoa.mjs → acorex-modules-form-template-management-category.entity-B3iAtREq.mjs} +2 -2
  103. package/fesm2022/{acorex-modules-form-template-management-category.entity-B7dGrmoa.mjs.map → acorex-modules-form-template-management-category.entity-B3iAtREq.mjs.map} +1 -1
  104. package/fesm2022/{acorex-modules-form-template-management-designer.page-DaTGU3w_.mjs → acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs} +4 -4
  105. package/fesm2022/{acorex-modules-form-template-management-designer.page-DaTGU3w_.mjs.map → acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs.map} +1 -1
  106. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CjjlgO0w.mjs → acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs} +2 -2
  107. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CjjlgO0w.mjs.map → acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs.map} +1 -1
  108. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CiSjuHGI.mjs → acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs} +2 -2
  109. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CiSjuHGI.mjs.map → acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs.map} +1 -1
  110. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CQZ37yC2.mjs → acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs} +4 -4
  111. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CQZ37yC2.mjs.map → acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs.map} +1 -1
  112. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DUeV0yO8.mjs → acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs} +5 -5
  113. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-DUeV0yO8.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs.map} +1 -1
  114. package/fesm2022/{acorex-modules-form-template-management-template.entity-Cps77n3G.mjs → acorex-modules-form-template-management-template.entity-BGsixiEI.mjs} +2 -2
  115. package/fesm2022/{acorex-modules-form-template-management-template.entity-Cps77n3G.mjs.map → acorex-modules-form-template-management-template.entity-BGsixiEI.mjs.map} +1 -1
  116. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-K2ZznaDw.mjs → acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs} +9 -6
  117. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs.map +1 -0
  118. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  119. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-Blyh8QVB.mjs → acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs} +24 -24
  120. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-Blyh8QVB.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map} +1 -1
  121. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BzUN6Cty.mjs → acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs} +5 -5
  122. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-BzUN6Cty.mjs.map → acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs.map} +1 -1
  123. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  124. package/fesm2022/acorex-modules-log-management.mjs +10 -10
  125. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  126. package/fesm2022/acorex-modules-notification-management.mjs +35 -35
  127. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  128. package/fesm2022/{acorex-modules-organization-management-add-item.component-COUAmxM8.mjs → acorex-modules-organization-management-add-item.component-D99TugmE.mjs} +4 -4
  129. package/fesm2022/{acorex-modules-organization-management-add-item.component-COUAmxM8.mjs.map → acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map} +1 -1
  130. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.mjs → acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs} +5 -5
  131. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DjGUUbel.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs.map} +1 -1
  132. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.mjs → acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs} +4 -4
  133. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-DeoDX_ir.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs.map} +1 -1
  134. package/fesm2022/{acorex-modules-organization-management-org-chart.page-xlNWhN4W.mjs → acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs} +12 -12
  135. package/fesm2022/{acorex-modules-organization-management-org-chart.page-xlNWhN4W.mjs.map → acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs.map} +1 -1
  136. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
  137. package/fesm2022/acorex-modules-organization-management.mjs +122 -122
  138. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  139. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs} +933 -315
  140. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs.map +1 -0
  141. package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs → acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs} +7 -7
  142. package/fesm2022/{acorex-modules-platform-management-list-version.component-DidjxkmH.mjs.map → acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs.map} +1 -1
  143. package/fesm2022/{acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs → acorex-modules-platform-management-settings.provider--ARXqBUY.mjs} +35 -25
  144. package/fesm2022/acorex-modules-platform-management-settings.provider--ARXqBUY.mjs.map +1 -0
  145. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  146. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  147. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  148. package/fesm2022/acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs +302 -0
  149. package/fesm2022/acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs.map +1 -0
  150. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs +617 -0
  151. package/fesm2022/acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map +1 -0
  152. package/fesm2022/acorex-modules-report-management-run.command-CoXvPC15.mjs +20 -0
  153. package/fesm2022/acorex-modules-report-management-run.command-CoXvPC15.mjs.map +1 -0
  154. package/fesm2022/acorex-modules-report-management.mjs +976 -0
  155. package/fesm2022/acorex-modules-report-management.mjs.map +1 -0
  156. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  157. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  158. package/fesm2022/acorex-modules-security-management.mjs +624 -120
  159. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  160. package/fesm2022/{acorex-modules-settings-management-setting-page.component-B2CEFpES.mjs → acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs} +4 -4
  161. package/fesm2022/{acorex-modules-settings-management-setting-page.component-B2CEFpES.mjs.map → acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs.map} +1 -1
  162. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DnD83gFz.mjs → acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs} +4 -4
  163. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DnD83gFz.mjs.map → acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs.map} +1 -1
  164. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  165. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  166. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  167. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  168. package/fesm2022/acorex-modules-training-management.mjs +43 -44
  169. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  170. package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs +762 -0
  171. package/fesm2022/acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map +1 -0
  172. package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
  173. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  174. package/package.json +9 -1
  175. package/platform-management/index.d.ts +235 -8
  176. package/report-management/README.md +356 -0
  177. package/report-management/index.d.ts +46 -0
  178. package/security-management/index.d.ts +162 -2
  179. package/fesm2022/acorex-modules-auth-acorex-modules-auth-B10cRw3M.mjs.map +0 -1
  180. package/fesm2022/acorex-modules-auth-password.component-rE9yrcGW.mjs.map +0 -1
  181. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-ClH75xx1.mjs.map +0 -1
  182. package/fesm2022/acorex-modules-document-management-lock-dialog.component-DvZ-vrUE.mjs +0 -51
  183. package/fesm2022/acorex-modules-document-management-lock-dialog.component-DvZ-vrUE.mjs.map +0 -1
  184. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-q6mDKrFi.mjs +0 -190
  185. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-q6mDKrFi.mjs.map +0 -1
  186. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-rlSWRGGl.mjs +0 -32
  187. package/fesm2022/acorex-modules-document-management-meta-selector-widget-view.component-rlSWRGGl.mjs.map +0 -1
  188. package/fesm2022/acorex-modules-document-management-unlock-dialog.component-B_TMgAl1.mjs +0 -36
  189. package/fesm2022/acorex-modules-document-management-unlock-dialog.component-B_TMgAl1.mjs.map +0 -1
  190. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-K2ZznaDw.mjs.map +0 -1
  191. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DqpAYmHM.mjs.map +0 -1
  192. package/fesm2022/acorex-modules-platform-management-settings.provider-DcHKHrSK.mjs.map +0 -1
  193. package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs +0 -218
  194. package/fesm2022/acorex-modules-security-management-permissions-editor.component-B4TdyHtv.mjs.map +0 -1
  195. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs +0 -41
  196. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-DTMj6gxb.mjs.map +0 -1
  197. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs +0 -20
  198. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-BJdbKpRQ.mjs.map +0 -1
  199. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs +0 -51
  200. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-GTmDlgWW.mjs.map +0 -1
  201. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs +0 -21
  202. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-BZ75aI18.mjs.map +0 -1
  203. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs +0 -20
  204. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-CYQqerAX.mjs.map +0 -1
  205. package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs +0 -494
  206. package/fesm2022/acorex-modules-workflow-management-task-board.page-R4x5Rq-D.mjs.map +0 -1
package/common/index.d.ts CHANGED
@@ -11,6 +11,7 @@ import { AXPEntity, AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandPro
11
11
  import { AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader, AXPEntityPreloadEntity } from '@acorex/platform/layout/entity';
12
12
  import { Subject } from 'rxjs';
13
13
  import { AXPopupService } from '@acorex/components/popup';
14
+ import { AXFormComponent } from '@acorex/components/form';
14
15
 
15
16
  declare class AXPGlobalSearchModule {
16
17
  constructor(appInitService: AXPAppStartUpService, injector: Injector);
@@ -171,18 +172,37 @@ declare class AXMLockPopupWorkflowAction extends AXPWorkflowAction {
171
172
  }
172
173
  declare const AXMLockPopupWorkflow: AXPWorkflow;
173
174
 
175
+ declare class AXMUnlockConfirmWorkflowAction extends AXPWorkflowAction {
176
+ private dialogService;
177
+ private translationService;
178
+ private lockService;
179
+ private sessionService;
180
+ execute(context: AXPWorkflowContext): Promise<void>;
181
+ }
182
+ declare const AXMUnlockConfirmWorkflow: AXPWorkflow;
183
+
184
+ interface LockDuration {
185
+ value: string;
186
+ text: string;
187
+ hours?: number;
188
+ }
174
189
  declare class AXPLockPopupComponent extends AXBasePageComponent {
175
- lockAction: 'lock' | 'unlock';
176
190
  refId: string;
177
191
  refType: string;
178
192
  protected readonly isBusy: i0.WritableSignal<boolean>;
193
+ protected readonly form: i0.Signal<AXFormComponent>;
179
194
  private readonly lockService;
180
195
  private readonly sessionService;
196
+ private readonly translationService;
197
+ protected duration: string | null;
198
+ protected reason: string | null;
199
+ protected lockDurations: LockDuration[];
200
+ ngOnInit(): Promise<void>;
181
201
  handleConfirm(): Promise<void>;
182
202
  handleCancel(): void;
183
203
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPLockPopupComponent, never>;
184
204
  static ɵcmp: i0.ɵɵComponentDeclaration<AXPLockPopupComponent, "axp-lock-popup", never, {}, {}, never, never, true, never>;
185
205
  }
186
206
 
187
- export { AXMCommonModule, AXMEntityProvider, AXMLockPopupWorkflow, AXMLockPopupWorkflowAction, AXMMenuProvider, AXMSearchCommandProvider, AXMSettingProvider, AXPGlobalSearchModule, AXPGlobalSearchViewModel, AXPLockPopupComponent, AXPVersionHistoryModule, AXPWidgetsList, AXP_GLOBAL_SEARCH_CONFIG_TOKEN, RootConfig };
207
+ export { AXMCommonModule, AXMEntityProvider, AXMLockPopupWorkflow, AXMLockPopupWorkflowAction, AXMMenuProvider, AXMSearchCommandProvider, AXMSettingProvider, AXMUnlockConfirmWorkflow, AXMUnlockConfirmWorkflowAction, AXPGlobalSearchModule, AXPGlobalSearchViewModel, AXPLockPopupComponent, AXPVersionHistoryModule, AXPWidgetsList, AXP_GLOBAL_SEARCH_CONFIG_TOKEN, RootConfig };
188
208
  export type { AXPGlobalSearchConfigs };
@@ -0,0 +1,568 @@
1
+ # Contact Management Module
2
+
3
+ This module provides comprehensive contact management functionality for the ACoreX Platform, supporting both individual and organizational contacts with dynamic contact methods, addresses, categorization, and relationship mapping.
4
+
5
+ ## Overview
6
+
7
+ The Contact Management module enables organizations to maintain detailed contact records with flexible contact methods, structured addresses with geographic support, and complex relationship mapping between contacts. It supports both personal and business contacts with comprehensive metadata and categorization.
8
+
9
+ ## Core Features
10
+
11
+ - **Unified Contact Management**: Single entity supporting individuals and organizations
12
+ - **Dynamic Contact Methods**: Flexible contact methods with type-based validation
13
+ - **International Address Support**: Structured address format with map integration
14
+ - **Contact Relationships**: Map relationships between contacts (family, business, etc.)
15
+ - **Categorization System**: Flexible contact types and sources for organization
16
+ - **Geographic Integration**: Map widget support for address coordinates
17
+ - **Validation & Verification**: Contact method verification and validation rules
18
+
19
+ ## Entity Architecture
20
+
21
+ The module consists of 8 interconnected entities organized in a hierarchical structure:
22
+
23
+ ```
24
+ Contact (Main Entity)
25
+ ├── ContactType (Lookup)
26
+ ├── ContactSource (Lookup)
27
+ ├── ContactMethod (Related)
28
+ │ └── ContactMethodType (Lookup with Regex)
29
+ ├── ContactAddress (Related)
30
+ │ └── AddressType (Lookup)
31
+ └── ContactRelationship (Related)
32
+ ```
33
+
34
+ ## Entity Definitions
35
+
36
+ ### 1. Contact (Main Entity)
37
+
38
+ The primary entity representing individuals or organizations with core contact information.
39
+
40
+ **Key Properties:**
41
+
42
+ - `displayName`: Primary display name
43
+ - `firstName`, `lastName`: Individual names
44
+ - `title`, `jobTitle`: Professional titles
45
+ - `company`: Organization affiliation
46
+ - `contactTypeId`: Type classification
47
+ - `contactSourceId`: Source tracking
48
+ - `priority`: Contact priority level
49
+ - `status`: Current status
50
+ - `isVip`: VIP designation
51
+ - `notes`: Additional notes
52
+ - `lastContactDate`: Last interaction date
53
+
54
+ **Sample Data:**
55
+
56
+ ```json
57
+ {
58
+ "id": "c1",
59
+ "displayName": "John Smith",
60
+ "firstName": "John",
61
+ "lastName": "Smith",
62
+ "title": "Mr.",
63
+ "jobTitle": "Software Engineer",
64
+ "company": "Tech Solutions Inc.",
65
+ "contactTypeId": "ct1",
66
+ "contactSourceId": "cs1",
67
+ "priority": "High",
68
+ "status": "Active",
69
+ "isVip": true,
70
+ "notes": "Key technical contact for platform integration",
71
+ "lastContactDate": "2024-01-15T10:30:00Z"
72
+ }
73
+ ```
74
+
75
+ ### 2. ContactType (Lookup Entity)
76
+
77
+ Categorizes contacts by type (Individual, Organization, Vendor, Client, etc.).
78
+
79
+ **Key Properties:**
80
+
81
+ - `name`: Type name
82
+ - `description`: Type description
83
+ - `icon`: FontAwesome icon
84
+ - `isDefault`: Default selection
85
+ - `isActive`: Active status
86
+ - `order`: Display order
87
+
88
+ **Sample Data:**
89
+
90
+ ```json
91
+ [
92
+ {
93
+ "id": "ct1",
94
+ "name": "Individual",
95
+ "description": "Personal contact",
96
+ "icon": "fa-light fa-user",
97
+ "isDefault": true,
98
+ "isActive": true,
99
+ "order": 1
100
+ },
101
+ {
102
+ "id": "ct2",
103
+ "name": "Organization",
104
+ "description": "Company or organization",
105
+ "icon": "fa-light fa-building",
106
+ "isDefault": false,
107
+ "isActive": true,
108
+ "order": 2
109
+ },
110
+ {
111
+ "id": "ct3",
112
+ "name": "Vendor",
113
+ "description": "Service provider or supplier",
114
+ "icon": "fa-light fa-truck",
115
+ "isDefault": false,
116
+ "isActive": true,
117
+ "order": 3
118
+ }
119
+ ]
120
+ ```
121
+
122
+ ### 3. ContactSource (Lookup Entity)
123
+
124
+ Tracks the source or origin of contact acquisition.
125
+
126
+ **Key Properties:**
127
+
128
+ - `name`: Source name
129
+ - `description`: Source description
130
+ - `icon`: FontAwesome icon
131
+ - `isDefault`: Default selection
132
+ - `isActive`: Active status
133
+ - `order`: Display order
134
+
135
+ **Sample Data:**
136
+
137
+ ```json
138
+ [
139
+ {
140
+ "id": "cs1",
141
+ "name": "Website",
142
+ "description": "Contact form submission",
143
+ "icon": "fa-light fa-globe",
144
+ "isDefault": true,
145
+ "isActive": true,
146
+ "order": 1
147
+ },
148
+ {
149
+ "id": "cs2",
150
+ "name": "Referral",
151
+ "description": "Referred by existing contact",
152
+ "icon": "fa-light fa-user-plus",
153
+ "isDefault": false,
154
+ "isActive": true,
155
+ "order": 2
156
+ },
157
+ {
158
+ "id": "cs3",
159
+ "name": "Event",
160
+ "description": "Met at conference or event",
161
+ "icon": "fa-light fa-calendar-days",
162
+ "isDefault": false,
163
+ "isActive": true,
164
+ "order": 3
165
+ }
166
+ ]
167
+ ```
168
+
169
+ ### 4. ContactMethodType (Lookup with Validation)
170
+
171
+ Defines contact method types with regex validation patterns.
172
+
173
+ **Key Properties:**
174
+
175
+ - `name`: Method type name
176
+ - `validationRegex`: Validation pattern
177
+ - `placeholder`: Input placeholder
178
+ - `isActive`: Active status
179
+
180
+ **Sample Data:**
181
+
182
+ ```json
183
+ [
184
+ {
185
+ "id": "cmt1",
186
+ "name": "Email",
187
+ "validationRegex": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$",
188
+ "placeholder": "example@domain.com",
189
+ "isActive": true
190
+ },
191
+ {
192
+ "id": "cmt2",
193
+ "name": "Phone",
194
+ "validationRegex": "^[\\+]?[1-9]?[0-9]{7,15}$",
195
+ "placeholder": "+1-555-123-4567",
196
+ "isActive": true
197
+ },
198
+ {
199
+ "id": "cmt3",
200
+ "name": "LinkedIn",
201
+ "validationRegex": "^https://www\\.linkedin\\.com/in/[a-zA-Z0-9-]+/?$",
202
+ "placeholder": "https://www.linkedin.com/in/username",
203
+ "isActive": true
204
+ },
205
+ {
206
+ "id": "cmt4",
207
+ "name": "Skype",
208
+ "validationRegex": "^[a-zA-Z][a-zA-Z0-9._-]{5,31}$",
209
+ "placeholder": "skype_username",
210
+ "isActive": true
211
+ }
212
+ ]
213
+ ```
214
+
215
+ ### 5. ContactMethod (Related Entity)
216
+
217
+ Dynamic contact methods linked to contacts with type-based validation.
218
+
219
+ **Key Properties:**
220
+
221
+ - `contactId`: Parent contact reference
222
+ - `methodTypeId`: Method type reference
223
+ - `value`: Contact method value
224
+ - `isPrimary`: Primary method flag
225
+ - `isVerified`: Verification status
226
+ - `notes`: Additional notes
227
+
228
+ **Sample Data:**
229
+
230
+ ```json
231
+ [
232
+ {
233
+ "id": "cm1",
234
+ "contactId": "c1",
235
+ "methodTypeId": "cmt1",
236
+ "value": "john.smith@techsolutions.com",
237
+ "isPrimary": true,
238
+ "isVerified": true,
239
+ "notes": "Work email - primary contact"
240
+ },
241
+ {
242
+ "id": "cm2",
243
+ "contactId": "c1",
244
+ "methodTypeId": "cmt2",
245
+ "value": "+1-555-123-4567",
246
+ "isPrimary": true,
247
+ "isVerified": true,
248
+ "notes": "Mobile phone"
249
+ },
250
+ {
251
+ "id": "cm3",
252
+ "contactId": "c1",
253
+ "methodTypeId": "cmt3",
254
+ "value": "https://www.linkedin.com/in/johnsmith-dev",
255
+ "isPrimary": false,
256
+ "isVerified": false,
257
+ "notes": "Professional LinkedIn profile"
258
+ }
259
+ ]
260
+ ```
261
+
262
+ ### 6. AddressType (Lookup Entity)
263
+
264
+ Categorizes address types (Home, Work, Billing, Shipping, etc.).
265
+
266
+ **Key Properties:**
267
+
268
+ - `name`: Address type name
269
+ - `description`: Type description
270
+ - `icon`: FontAwesome icon
271
+ - `isDefault`: Default selection
272
+ - `isActive`: Active status
273
+ - `order`: Display order
274
+
275
+ **Sample Data:**
276
+
277
+ ```json
278
+ [
279
+ {
280
+ "id": "at1",
281
+ "name": "Work",
282
+ "description": "Business office address",
283
+ "icon": "fa-light fa-building",
284
+ "isDefault": true,
285
+ "isActive": true,
286
+ "order": 1
287
+ },
288
+ {
289
+ "id": "at2",
290
+ "name": "Home",
291
+ "description": "Residential address",
292
+ "icon": "fa-light fa-home",
293
+ "isDefault": false,
294
+ "isActive": true,
295
+ "order": 2
296
+ },
297
+ {
298
+ "id": "at3",
299
+ "name": "Billing",
300
+ "description": "Billing address",
301
+ "icon": "fa-light fa-credit-card",
302
+ "isDefault": false,
303
+ "isActive": true,
304
+ "order": 3
305
+ }
306
+ ]
307
+ ```
308
+
309
+ ### 7. ContactAddress (Related Entity)
310
+
311
+ Structured international addresses with geographic coordinates support.
312
+
313
+ **Key Properties:**
314
+
315
+ - `contactId`: Parent contact reference
316
+ - `addressTypeId`: Address type reference
317
+ - `street1`, `street2`: Street address lines
318
+ - `city`, `state`, `country`: Geographic location
319
+ - `postalCode`: Postal/ZIP code
320
+ - `coordinates`: Map coordinates (lat,lng)
321
+ - `isPrimary`: Primary address flag
322
+ - `notes`: Additional notes
323
+
324
+ **Sample Data:**
325
+
326
+ ```json
327
+ [
328
+ {
329
+ "id": "ca1",
330
+ "contactId": "c1",
331
+ "addressTypeId": "at1",
332
+ "street1": "123 Tech Boulevard",
333
+ "street2": "Suite 456",
334
+ "city": "San Francisco",
335
+ "state": "California",
336
+ "country": "United States",
337
+ "postalCode": "94107",
338
+ "coordinates": "37.7749,-122.4194",
339
+ "isPrimary": true,
340
+ "notes": "Main office building, parking available"
341
+ },
342
+ {
343
+ "id": "ca2",
344
+ "contactId": "c1",
345
+ "addressTypeId": "at2",
346
+ "street1": "789 Residential Street",
347
+ "street2": "Apt 12B",
348
+ "city": "Oakland",
349
+ "state": "California",
350
+ "country": "United States",
351
+ "postalCode": "94610",
352
+ "coordinates": "37.8044,-122.2711",
353
+ "isPrimary": false,
354
+ "notes": "Home address"
355
+ }
356
+ ]
357
+ ```
358
+
359
+ ### 8. ContactRelationship (Related Entity)
360
+
361
+ Maps relationships between contacts (family, business, professional).
362
+
363
+ **Key Properties:**
364
+
365
+ - `contactId`: Primary contact reference
366
+ - `relatedContactId`: Related contact reference
367
+ - `relationshipType`: Relationship classification
368
+ - `description`: Relationship details
369
+ - `isActive`: Active relationship status
370
+
371
+ **Available Relationship Types:**
372
+
373
+ - `parent` - Parent
374
+ - `child` - Child
375
+ - `spouse` - Spouse
376
+ - `sibling` - Sibling
377
+ - `friend` - Friend
378
+ - `colleague` - Colleague
379
+ - `business_partner` - Business Partner
380
+ - `vendor` - Vendor
381
+ - `client` - Client
382
+ - `other` - Other
383
+
384
+ **Sample Data:**
385
+
386
+ ```json
387
+ [
388
+ {
389
+ "id": "cr1",
390
+ "contactId": "c1",
391
+ "relatedContactId": "c2",
392
+ "relationshipType": "colleague",
393
+ "description": "Works in the same development team",
394
+ "isActive": true
395
+ },
396
+ {
397
+ "id": "cr2",
398
+ "contactId": "c1",
399
+ "relatedContactId": "c3",
400
+ "relationshipType": "business_partner",
401
+ "description": "Collaboration partner for platform integration",
402
+ "isActive": true
403
+ },
404
+ {
405
+ "id": "cr3",
406
+ "contactId": "c1",
407
+ "relatedContactId": "c4",
408
+ "relationshipType": "client",
409
+ "description": "Key client for enterprise solutions",
410
+ "isActive": true
411
+ }
412
+ ]
413
+ ```
414
+
415
+ ## Integration Examples
416
+
417
+ ### Complete Contact Profile
418
+
419
+ Here's how all entities work together to create a comprehensive contact profile:
420
+
421
+ ```json
422
+ {
423
+ "contact": {
424
+ "id": "c1",
425
+ "displayName": "John Smith",
426
+ "firstName": "John",
427
+ "lastName": "Smith",
428
+ "jobTitle": "Senior Software Engineer",
429
+ "company": "Tech Solutions Inc.",
430
+ "contactType": {
431
+ "id": "ct1",
432
+ "name": "Individual",
433
+ "icon": "fa-light fa-user"
434
+ },
435
+ "contactSource": {
436
+ "id": "cs1",
437
+ "name": "Website",
438
+ "icon": "fa-light fa-globe"
439
+ },
440
+ "priority": "High",
441
+ "status": "Active",
442
+ "isVip": true
443
+ },
444
+ "contactMethods": [
445
+ {
446
+ "methodType": { "name": "Email" },
447
+ "value": "john.smith@techsolutions.com",
448
+ "isPrimary": true,
449
+ "isVerified": true
450
+ },
451
+ {
452
+ "methodType": { "name": "Phone" },
453
+ "value": "+1-555-123-4567",
454
+ "isPrimary": true,
455
+ "isVerified": true
456
+ }
457
+ ],
458
+ "addresses": [
459
+ {
460
+ "addressType": { "name": "Work" },
461
+ "street1": "123 Tech Boulevard",
462
+ "city": "San Francisco",
463
+ "state": "California",
464
+ "country": "United States",
465
+ "postalCode": "94107",
466
+ "isPrimary": true
467
+ }
468
+ ],
469
+ "relationships": [
470
+ {
471
+ "relatedContact": { "displayName": "Jane Doe" },
472
+ "relationshipType": "colleague",
473
+ "description": "Development team member"
474
+ }
475
+ ]
476
+ }
477
+ ```
478
+
479
+ ## Usage & Implementation
480
+
481
+ ### Translation Keys
482
+
483
+ All entities support internationalization using the `@contact-management:` scope:
484
+
485
+ ```typescript
486
+ // Entity titles
487
+ '@contact-management:contact.individual-title';
488
+ '@contact-management:contact-method.plural-title';
489
+ '@contact-management:contact-address.basic-info';
490
+
491
+ // Field labels
492
+ '@contact-management:contact.display-name';
493
+ '@contact-management:contact-method.value';
494
+ '@contact-management:contact-address.street1';
495
+ ```
496
+
497
+ ### Widget Integration
498
+
499
+ The module leverages various ACoreX widgets:
500
+
501
+ - **Text Widgets**: `AXPWidgetsCatalog.text`, `AXPWidgetsCatalog.largeText`
502
+ - **Lookup Widgets**: `AXPWidgetsCatalog.lookup` for entity references
503
+ - **Selection Widgets**: `AXPWidgetsCatalog.select` for predefined options
504
+ - **Toggle Widgets**: `AXPWidgetsCatalog.toggle` for boolean flags
505
+ - **Map Widget**: `AXPWidgetsCatalog.map` for geographic coordinates
506
+ - **Number Widgets**: `AXPWidgetsCatalog.number` for ordering and priorities
507
+
508
+ ### Validation Rules
509
+
510
+ Contact methods include regex-based validation:
511
+
512
+ ```typescript
513
+ // Email validation
514
+ validationRegex: '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$';
515
+
516
+ // Phone validation
517
+ validationRegex: '^[\\+]?[1-9]?[0-9]{7,15}$';
518
+
519
+ // LinkedIn profile validation
520
+ validationRegex: '^https://www\\.linkedin\\.com/in/[a-zA-Z0-9-]+/?$';
521
+ ```
522
+
523
+ ## Module Structure
524
+
525
+ ```
526
+ libs/modules/contact-management/
527
+ ├── src/
528
+ │ ├── lib/
529
+ │ │ ├── entities/
530
+ │ │ │ ├── contact/
531
+ │ │ │ ├── contact-type/
532
+ │ │ │ ├── contact-source/
533
+ │ │ │ ├── contact-method-type/
534
+ │ │ │ ├── contact-method/
535
+ │ │ │ ├── address-type/
536
+ │ │ │ ├── contact-address/
537
+ │ │ │ └── contact-relationship/
538
+ │ │ ├── const.ts
539
+ │ │ ├── entity.provider.ts
540
+ │ │ ├── menu.provider.ts
541
+ │ │ ├── permission.provider.ts
542
+ │ │ ├── search.provider.ts
543
+ │ │ └── contact-management.module.ts
544
+ │ └── index.ts
545
+ ├── README.md
546
+ └── ng-package.json
547
+ ```
548
+
549
+ ## Installation & Setup
550
+
551
+ 1. **Module Registration**: The module auto-registers with lazy loading
552
+ 2. **Translation Files**: Add to `apps/demo/src/assets/i18n/{locale}/contact-management.json`
553
+ 3. **Permissions**: Configure via the permission provider
554
+ 4. **Menu Integration**: Automatically integrated via menu provider
555
+
556
+ ## Contributing
557
+
558
+ When extending this module:
559
+
560
+ 1. Follow ACoreX entity patterns
561
+ 2. Use proper widget names from `AXPWidgetsCatalog`
562
+ 3. Implement proper validation rules
563
+ 4. Add comprehensive translations
564
+ 5. Update this documentation
565
+
566
+ ---
567
+
568
+ > 💡 **Tip:** This module demonstrates advanced ACoreX patterns including dynamic contact methods, geographic integration, and complex entity relationships. Use it as a reference for implementing similar modules.