@acorex/modules 20.2.2 → 20.2.4-next.0

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 (176) hide show
  1. package/common/index.d.ts +16 -8
  2. package/content-management/index.d.ts +48 -3
  3. package/document-management/index.d.ts +27 -24
  4. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs → acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs} +10 -10
  5. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CdZ9BHOa.mjs.map → acorex-modules-auth-acorex-modules-auth-C8p1VeqM.mjs.map} +1 -1
  6. package/fesm2022/{acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs → acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs} +2 -2
  7. package/fesm2022/{acorex-modules-auth-app-chooser.component-D4ehfpnB.mjs.map → acorex-modules-auth-app-chooser.component-CDKLbD_u.mjs.map} +1 -1
  8. package/fesm2022/{acorex-modules-auth-login.module-BHRC357P.mjs → acorex-modules-auth-login.module-DGPRxnXo.mjs} +4 -4
  9. package/fesm2022/{acorex-modules-auth-login.module-BHRC357P.mjs.map → acorex-modules-auth-login.module-DGPRxnXo.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-auth-master.layout-DAYMmpBW.mjs → acorex-modules-auth-master.layout-BNFGuQQs.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-auth-master.layout-DAYMmpBW.mjs.map → acorex-modules-auth-master.layout-BNFGuQQs.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs → acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-auth-oauth-callback.component-B0Q3w45s.mjs.map → acorex-modules-auth-oauth-callback.component-B3sSFdOA.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-password.component-BJpxtJYh.mjs → acorex-modules-auth-password.component-Dyox9sR4.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-auth-password.component-BJpxtJYh.mjs.map → acorex-modules-auth-password.component-Dyox9sR4.mjs.map} +1 -1
  16. package/fesm2022/acorex-modules-auth-password.component-ln2kDKPR.mjs +226 -0
  17. package/fesm2022/acorex-modules-auth-password.component-ln2kDKPR.mjs.map +1 -0
  18. package/fesm2022/{acorex-modules-auth-routes-hvqL2dCH.mjs → acorex-modules-auth-routes-7vr8T08D.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-auth-routes-hvqL2dCH.mjs.map → acorex-modules-auth-routes-7vr8T08D.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-auth-two-factor.module-kPuT8yUw.mjs → acorex-modules-auth-two-factor.module-D6XCUP_A.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-auth-two-factor.module-kPuT8yUw.mjs.map → acorex-modules-auth-two-factor.module-D6XCUP_A.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs → acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-auth-user-sessions.component-Chx_jTSJ.mjs.map → acorex-modules-auth-user-sessions.component-B5aBDmdR.mjs.map} +1 -1
  24. package/fesm2022/acorex-modules-auth.mjs +1 -1
  25. package/fesm2022/acorex-modules-calendar-management.mjs +1 -1
  26. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  27. package/fesm2022/acorex-modules-common.mjs +503 -235
  28. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  29. package/fesm2022/acorex-modules-content-management.mjs +378 -457
  30. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  31. package/fesm2022/acorex-modules-conversation.mjs +119 -4
  32. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  33. package/fesm2022/acorex-modules-dashboard-management.mjs +9 -9
  34. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  35. package/fesm2022/acorex-modules-data-management.mjs +0 -1
  36. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  37. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs → acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs} +875 -142
  38. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-D9oPjJnn.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs → acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-CbDcYxEZ.mjs.map → acorex-modules-document-management-attachment-widget.component-CcWvTWv0.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs → acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs} +2 -2
  42. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BCs4aZKn.mjs.map → acorex-modules-document-management-create-folder-dialog.component-DPFIPNE_.mjs.map} +1 -1
  43. package/fesm2022/{acorex-modules-document-management-details-view.component-v1VroVv-.mjs → acorex-modules-document-management-details-view.component-BKNvUhdl.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-document-management-details-view.component-v1VroVv-.mjs.map → acorex-modules-document-management-details-view.component-BKNvUhdl.mjs.map} +1 -1
  45. package/fesm2022/acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs +116 -0
  46. package/fesm2022/acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs → acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-document-management-drive-choose.component-C5gJtH7_.mjs.map → acorex-modules-document-management-drive-choose.component-BOPjvKlN.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-document-management-drive.component-D5OwpnAP.mjs → acorex-modules-document-management-drive.component-DutBXTtm.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-document-management-drive.component-D5OwpnAP.mjs.map → acorex-modules-document-management-drive.component-DutBXTtm.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs → acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DkHt-dTD.mjs.map → acorex-modules-document-management-large-icons-view.component-DX2_xsbq.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs → acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D2nA00k3.mjs.map → acorex-modules-document-management-large-tiles-view.component-CshjCgG5.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-document-management-list-view.component-RaW67V7O.mjs → acorex-modules-document-management-list-view.component-DdLTVccZ.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-document-management-list-view.component-RaW67V7O.mjs.map → acorex-modules-document-management-list-view.component-DdLTVccZ.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-BZu8EbTh.mjs → acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs} +2 -2
  58. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BomZu2bT.mjs.map +1 -0
  59. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs → acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B6nu7fmX.mjs.map → acorex-modules-document-management-permission-definition.provider-_AXz3sdF.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs → acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component--6V1Zaoz.mjs.map → acorex-modules-document-management-rename-node-dialog.component-DZRAXwFy.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs → acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs} +2 -2
  64. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Cl1MKsX9.mjs.map → acorex-modules-document-management-small-icons-view.component-DG3AbQJO.mjs.map} +1 -1
  65. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs → acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-xoO1Loxt.mjs.map → acorex-modules-document-management-small-tiles-view.component-Cx9jczo-.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  68. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-CeQnu6WW.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs} +34 -12
  69. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CLSHVjDE.mjs.map +1 -0
  70. package/fesm2022/{acorex-modules-form-template-management-category.entity-DmrE2Pfz.mjs → acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs} +2 -2
  71. package/fesm2022/{acorex-modules-form-template-management-category.entity-DmrE2Pfz.mjs.map → acorex-modules-form-template-management-category.entity-BBjVWSJ_.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CfOa446m.mjs → acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CfOa446m.mjs.map → acorex-modules-form-template-management-permission-definition.provider-I8BY9RVh.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-form-template-management-settings.provider-hLlHnm-I.mjs → acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs} +2 -2
  75. package/fesm2022/{acorex-modules-form-template-management-settings.provider-hLlHnm-I.mjs.map → acorex-modules-form-template-management-settings.provider-B8ip0Ou_.mjs.map} +1 -1
  76. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-bxYZqmYR.mjs → acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs} +2 -3
  77. package/fesm2022/acorex-modules-form-template-management-template-picker.component-BNM3RyDv.mjs.map +1 -0
  78. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-D_Ys5kRT.mjs → acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs} +2 -2
  79. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-D_Ys5kRT.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-DFfvdZqJ.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-form-template-management-template.entity-CvlwS8TY.mjs → acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs} +10 -14
  81. package/fesm2022/acorex-modules-form-template-management-template.entity-BCpgfVMz.mjs.map +1 -0
  82. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CE13nuke.mjs → acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs} +2 -2
  83. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CE13nuke.mjs.map → acorex-modules-form-template-management-viewer-popup.component-DDfjwbrL.mjs.map} +1 -1
  84. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  85. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs → acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs} +77 -36
  86. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-CAibWOZT.mjs.map +1 -0
  87. package/fesm2022/acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs +28 -0
  88. package/fesm2022/acorex-modules-help-desk-capture-screen.component-BSBozesT.mjs.map +1 -0
  89. package/fesm2022/acorex-modules-help-desk.mjs +2 -0
  90. package/fesm2022/acorex-modules-help-desk.mjs.map +1 -0
  91. package/fesm2022/acorex-modules-identifier-management.mjs +81 -39
  92. package/fesm2022/acorex-modules-identifier-management.mjs.map +1 -1
  93. package/fesm2022/acorex-modules-location-management.mjs +4 -3
  94. package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
  95. package/fesm2022/acorex-modules-log-management.mjs +0 -1
  96. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  97. package/fesm2022/acorex-modules-meeting-management-meeting-publish-popup.component-PcBFprq3.mjs +121 -0
  98. package/fesm2022/acorex-modules-meeting-management-meeting-publish-popup.component-PcBFprq3.mjs.map +1 -0
  99. package/fesm2022/acorex-modules-meeting-management.mjs +2899 -0
  100. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -0
  101. package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs +544 -0
  102. package/fesm2022/acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs.map +1 -0
  103. package/fesm2022/acorex-modules-notification-management.mjs +145 -126
  104. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  105. package/fesm2022/{acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs → acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs} +114 -68
  106. package/fesm2022/acorex-modules-organization-management-employee.entity-CRc2YjNR.mjs.map +1 -0
  107. package/fesm2022/acorex-modules-organization-management.mjs +22 -1
  108. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  109. package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-B8X8tXFw.mjs → acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs} +6 -6
  110. package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-B8X8tXFw.mjs.map → acorex-modules-party-management-acorex-modules-party-management-BUc-9XOG.mjs.map} +1 -1
  111. package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-b8aNBCpT.mjs → acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs} +2 -2
  112. package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-b8aNBCpT.mjs.map → acorex-modules-party-management-party-identifier-type.entity-Bgq-y9TN.mjs.map} +1 -1
  113. package/fesm2022/{acorex-modules-party-management-party-identifier.entity-B_5MSDF1.mjs → acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs} +12 -10
  114. package/fesm2022/acorex-modules-party-management-party-identifier.entity-CP47qbc-.mjs.map +1 -0
  115. package/fesm2022/{acorex-modules-party-management-party-relationship.entity-CLAAuCde.mjs → acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs} +2 -2
  116. package/fesm2022/{acorex-modules-party-management-party-relationship.entity-CLAAuCde.mjs.map → acorex-modules-party-management-party-relationship.entity-pGea5plN.mjs.map} +1 -1
  117. package/fesm2022/{acorex-modules-party-management-party-role.entity-C5BeakjX.mjs → acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs} +7 -7
  118. package/fesm2022/acorex-modules-party-management-party-role.entity-CDt7Rxu7.mjs.map +1 -0
  119. package/fesm2022/{acorex-modules-party-management-party.entity-Blwg8o3o.mjs → acorex-modules-party-management-party.entity-DAvqOPic.mjs} +4 -4
  120. package/fesm2022/acorex-modules-party-management-party.entity-DAvqOPic.mjs.map +1 -0
  121. package/fesm2022/acorex-modules-party-management.mjs +1 -1
  122. package/fesm2022/{acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs → acorex-modules-platform-management-list-version.component-kFe_wuWc.mjs} +3 -3
  123. package/fesm2022/{acorex-modules-platform-management-list-version.component-DTfLeVbH.mjs.map → acorex-modules-platform-management-list-version.component-kFe_wuWc.mjs.map} +1 -1
  124. package/fesm2022/acorex-modules-platform-management.mjs +12 -232
  125. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  126. package/fesm2022/acorex-modules-project-management.mjs +98 -97
  127. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  128. package/fesm2022/{acorex-modules-report-management-report-create-root.component-CPR6H1R1.mjs → acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs} +2 -2
  129. package/fesm2022/acorex-modules-report-management-report-create-root.component-L-7aG8op.mjs.map +1 -0
  130. package/fesm2022/acorex-modules-report-management.mjs +1 -1
  131. package/fesm2022/acorex-modules-security-management.mjs +5 -5
  132. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  133. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BWXHxXwS.mjs → acorex-modules-settings-management-setting-page.component-D-NKWNvS.mjs} +11 -1
  134. package/fesm2022/acorex-modules-settings-management-setting-page.component-D-NKWNvS.mjs.map +1 -0
  135. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  136. package/fesm2022/{acorex-modules-workflow-management-task-board.page-2UTqXn3s.mjs → acorex-modules-task-management-task-board.page-DbpqZaC7.mjs} +16 -11
  137. package/fesm2022/acorex-modules-task-management-task-board.page-DbpqZaC7.mjs.map +1 -0
  138. package/fesm2022/acorex-modules-task-management.mjs +3026 -2821
  139. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  140. package/fesm2022/acorex-modules-workflow-management.mjs +39 -1
  141. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  142. package/form-template-management/index.d.ts +3 -0
  143. package/help-desk/README.md +3 -0
  144. package/{issue-management → help-desk}/index.d.ts +12 -12
  145. package/identifier-management/index.d.ts +15 -16
  146. package/meeting-management/README.md +29 -0
  147. package/meeting-management/index.d.ts +248 -0
  148. package/notification-management/index.d.ts +6 -4
  149. package/package.json +24 -20
  150. package/platform-management/index.d.ts +1 -12
  151. package/task-management/index.d.ts +34 -2
  152. package/workflow-management/index.d.ts +4 -33
  153. package/fesm2022/acorex-modules-auth-password.component-NAY46d_2.mjs +0 -226
  154. package/fesm2022/acorex-modules-auth-password.component-NAY46d_2.mjs.map +0 -1
  155. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C4G6L94e.mjs.map +0 -1
  156. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BZu8EbTh.mjs.map +0 -1
  157. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-CeQnu6WW.mjs.map +0 -1
  158. package/fesm2022/acorex-modules-form-template-management-template-picker.component-bxYZqmYR.mjs.map +0 -1
  159. package/fesm2022/acorex-modules-form-template-management-template.entity-CvlwS8TY.mjs.map +0 -1
  160. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-CTFlKzqy.mjs.map +0 -1
  161. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs +0 -28
  162. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DDvum8EG.mjs.map +0 -1
  163. package/fesm2022/acorex-modules-issue-management.mjs +0 -2
  164. package/fesm2022/acorex-modules-issue-management.mjs.map +0 -1
  165. package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +0 -1
  166. package/fesm2022/acorex-modules-party-management-party-identifier.entity-B_5MSDF1.mjs.map +0 -1
  167. package/fesm2022/acorex-modules-party-management-party-role.entity-C5BeakjX.mjs.map +0 -1
  168. package/fesm2022/acorex-modules-party-management-party.entity-Blwg8o3o.mjs.map +0 -1
  169. package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs +0 -93
  170. package/fesm2022/acorex-modules-platform-management-list-terms.component-B1gl5xfT.mjs.map +0 -1
  171. package/fesm2022/acorex-modules-report-management-report-create-root.component-CPR6H1R1.mjs.map +0 -1
  172. package/fesm2022/acorex-modules-settings-management-setting-page.component-BWXHxXwS.mjs.map +0 -1
  173. package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-BfE17ZXY.mjs +0 -244
  174. package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-BfE17ZXY.mjs.map +0 -1
  175. package/fesm2022/acorex-modules-workflow-management-task-board.page-2UTqXn3s.mjs.map +0 -1
  176. package/issue-management/README.md +0 -3
@@ -4,29 +4,30 @@ import * as i2$3 from '@acorex/platform/layout/builder';
4
4
  import { AXPWidgetsCatalog, AXPValueWidgetComponent, cloneProperty, AXPWidgetGroupEnum, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
5
5
  import { AXMEntityCrudServiceImpl, AXPEntityService, AXP_ENTITY_DEFINITION_LOADER, AXPEntityStorageService, AXPEntityDataProviderImpl } from '@acorex/platform/layout/entity';
6
6
  import * as i0 from '@angular/core';
7
- import { Injectable, NgModule, inject, signal, computed, effect, InjectionToken, viewChild, ViewContainerRef, input, output, afterNextRender, inputBinding, outputBinding, ChangeDetectionStrategy, Component, Injector, ChangeDetectorRef } from '@angular/core';
8
- import { AXPSessionService } from '@acorex/platform/auth';
7
+ import { Injectable, NgModule, inject, signal, computed, effect, Injector, InjectionToken, viewChild, ViewContainerRef, input, output, afterNextRender, inputBinding, outputBinding, ChangeDetectionStrategy, Component, ChangeDetectorRef } from '@angular/core';
8
+ import { AXPSessionService, AXPAuthGuard } from '@acorex/platform/auth';
9
9
  import { firstValueFrom } from 'rxjs';
10
- import * as i3$1 from '@acorex/components/badge';
10
+ import * as i1$1 from '@acorex/platform/layout/components';
11
+ import { AXPUserAvatarComponent, AXPComponentSlotModule, AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';
12
+ import { AXPRootLayoutComponent } from '@acorex/platform/themes/default';
13
+ import { Router, ROUTES } from '@angular/router';
14
+ import * as i3 from '@acorex/components/badge';
11
15
  import { AXBadgeModule } from '@acorex/components/badge';
12
- import * as i1 from '@acorex/components/button';
16
+ import * as i5 from '@acorex/components/button';
13
17
  import { AXButtonModule } from '@acorex/components/button';
14
- import * as i2 from '@acorex/components/decorators';
18
+ import * as i2$2 from '@acorex/components/decorators';
15
19
  import { AXDecoratorModule } from '@acorex/components/decorators';
16
20
  import * as i4 from '@acorex/components/popover';
17
21
  import { AXPopoverModule, AXPopoverComponent } from '@acorex/components/popover';
18
- import * as i2$2 from '@acorex/components/tabs';
22
+ import * as i2$1 from '@acorex/components/tabs';
19
23
  import { AXTabsModule } from '@acorex/components/tabs';
20
24
  import { AXToastService } from '@acorex/components/toast';
21
- import * as i3 from '@acorex/core/format';
25
+ import * as i2 from '@acorex/core/format';
22
26
  import { AXFormatModule } from '@acorex/core/format';
23
- import { Router } from '@angular/router';
24
27
  import { AXImageModule } from '@acorex/components/image';
25
- import * as i1$1 from '@acorex/platform/layout/components';
26
- import { AXPUserAvatarComponent, AXPComponentSlotModule } from '@acorex/platform/layout/components';
27
- import * as i2$1 from '@angular/common';
28
+ import * as i1 from '@angular/common';
28
29
  import { CommonModule, DatePipe } from '@angular/common';
29
- import * as i5 from '@acorex/core/translation';
30
+ import * as i5$1 from '@acorex/core/translation';
30
31
  import { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';
31
32
  import { AXP_WIDGETS_UTILITY_CATEGORY } from '@acorex/modules/dashboard-management';
32
33
  import { AXP_APPEARANCE_PROPERTY_GROUP, AXP_STYLING_PROPERTY_GROUP, AXP_DATA_PATH_PROPERTY } from '@acorex/platform/widgets';
@@ -36,6 +37,7 @@ import { AXPDataGenerator } from '@acorex/platform/core';
36
37
 
37
38
  const config = {
38
39
  i18n: 'notification-management',
40
+ route: 'notifications',
39
41
  };
40
42
  const RootConfig = {
41
43
  config,
@@ -1389,7 +1391,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
1389
1391
  }]
1390
1392
  }] });
1391
1393
 
1392
- class AXMNotificationManagmentModuleMenuProvider {
1394
+ class AXMMenuProvider {
1393
1395
  constructor() {
1394
1396
  this.entityService = inject(AXPEntityService);
1395
1397
  this.sessionService = inject(AXPSessionService);
@@ -1399,49 +1401,18 @@ class AXMNotificationManagmentModuleMenuProvider {
1399
1401
  if (!isAuthorized) {
1400
1402
  return;
1401
1403
  }
1402
- //
1403
1404
  const scope = RootConfig.config.i18n;
1404
1405
  const moduleName = RootConfig.module.name;
1405
- context.addItems([
1406
- {
1407
- name: moduleName,
1408
- priority: 9001,
1409
- text: `t('root-menu', {scope: "${scope}"})`,
1410
- icon: 'fa-light fa-bells',
1411
- data: {
1412
- // requiredPermission: 'demo.admin.settings',
1413
- },
1414
- children: [
1415
- {
1416
- text: `t('templates', {scope: "${scope}"})`,
1417
- //TODO something might be missing here notificationTemplate vs notification- template
1418
- path: this.entityService.createPath(moduleName, RootConfig.entities.template.name),
1419
- icon: 'fa-light fa-file-invoice',
1420
- data: {
1421
- // requiredPermission: '',
1422
- },
1423
- },
1424
- // {
1425
- // text: `t('reports', {scope: "${scope}"})`,
1426
- // path: this.entityService.createPath(moduleName, RootConfig.entities.notification.name),
1427
- // icon: 'fa-light fa-file-chart-column',
1428
- // data: {
1429
- // // requiredPermission: '',
1430
- // },
1431
- // },
1432
- ],
1433
- },
1434
- ]);
1435
- //
1436
1406
  context.find('user-profile').addItems([
1437
1407
  {
1438
- name: 'my-notifications',
1408
+ name: 'notifications',
1439
1409
  text: `t('my', {scope: "${scope}"})`,
1440
1410
  icon: 'fa-light fa-bell',
1441
- path: this.entityService.createPath(moduleName, 'my-notification'),
1442
- data: {
1443
- // requiredPermission: '',
1444
- },
1411
+ path: `${this.sessionService.application?.name}/${RootConfig.config.route}`,
1412
+ badgeKey: 'badge-notification',
1413
+ // data: {
1414
+ // requiredPermission: '',
1415
+ // },
1445
1416
  },
1446
1417
  ]);
1447
1418
  }
@@ -1588,7 +1559,7 @@ class AXMNotificationConnectorService {
1588
1559
  */
1589
1560
  async markAsRead(payload = { id: [] }) {
1590
1561
  try {
1591
- this.isLoading.set(true);
1562
+ // this.isLoading.set(true);
1592
1563
  this.error.set(null);
1593
1564
  await this.notificationService.markAsRead(payload);
1594
1565
  // Update local state to reflect read status without toggling
@@ -1597,9 +1568,7 @@ class AXMNotificationConnectorService {
1597
1568
  this.notifications.update((notifications) => notifications.map((notification) => {
1598
1569
  if (payload.id.includes(notification.id)) {
1599
1570
  // Only set readAt when it is null (no toggling to unread)
1600
- return notification.readAt === null
1601
- ? { ...notification, readAt: new Date() }
1602
- : notification;
1571
+ return notification.readAt === null ? { ...notification, readAt: new Date() } : notification;
1603
1572
  }
1604
1573
  return notification;
1605
1574
  }));
@@ -1613,7 +1582,7 @@ class AXMNotificationConnectorService {
1613
1582
  this.error.set(err instanceof Error ? err.message : 'Failed to mark notifications as read');
1614
1583
  }
1615
1584
  finally {
1616
- this.isLoading.set(false);
1585
+ // this.isLoading.set(false);
1617
1586
  }
1618
1587
  }
1619
1588
  async markAllAsRead() {
@@ -1764,6 +1733,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
1764
1733
  }]
1765
1734
  }], ctorParameters: () => [] });
1766
1735
 
1736
+ // Provides a live unread notifications count for header/task badges
1737
+ class AXMNotificationBadgeProvider {
1738
+ constructor() {
1739
+ this.notificationService = inject(AXMNotificationConnectorService);
1740
+ this.key = 'badge-notification';
1741
+ this.count = computed(() => this.notificationService.unreadCount(), ...(ngDevMode ? [{ debugName: "count" }] : []));
1742
+ }
1743
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationBadgeProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1744
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationBadgeProvider }); }
1745
+ }
1746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationBadgeProvider, decorators: [{
1747
+ type: Injectable
1748
+ }] });
1749
+
1750
+ class AXMEntityLoader {
1751
+ constructor() {
1752
+ this.injector = inject(Injector);
1753
+ }
1754
+ preload() {
1755
+ const module = RootConfig.module.name;
1756
+ return Array.from(Object.values(RootConfig.entities)).map((entity) => ({
1757
+ module: module,
1758
+ entity: entity.name,
1759
+ }));
1760
+ }
1761
+ async get(moduleName, entityName) {
1762
+ if (moduleName == RootConfig.module.name) {
1763
+ return new Promise(async (resolve) => {
1764
+ switch (entityName) {
1765
+ case RootConfig.entities.template.name: {
1766
+ const entity = (await Promise.resolve().then(function () { return template_entity; })).notificationTemplateEntityFactory;
1767
+ resolve(entity(this.injector));
1768
+ break;
1769
+ }
1770
+ case RootConfig.entities.channel.name: {
1771
+ const entity = (await Promise.resolve().then(function () { return channel_entity; })).notificationChannelEntityFactory;
1772
+ resolve(entity(this.injector));
1773
+ break;
1774
+ }
1775
+ //TODO: Add your custom entity here
1776
+ case 'my-notification': {
1777
+ const entity = (await Promise.resolve().then(function () { return myNotification; })).myNotificationEntityFactory;
1778
+ resolve(entity(this.injector));
1779
+ break;
1780
+ }
1781
+ case RootConfig.entities.notification.name: {
1782
+ const entity = (await Promise.resolve().then(function () { return notification_entity; })).notificationEntityFactory;
1783
+ resolve(entity(this.injector));
1784
+ break;
1785
+ }
1786
+ default:
1787
+ resolve(null);
1788
+ }
1789
+ });
1790
+ }
1791
+ return null;
1792
+ }
1793
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMEntityLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1794
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMEntityLoader }); }
1795
+ }
1796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMEntityLoader, decorators: [{
1797
+ type: Injectable
1798
+ }] });
1799
+
1767
1800
  class AXPNotificationDefinitionProvider {
1768
1801
  }
1769
1802
  const DEFAULT_NOTIFICATION_DEFINITION = [
@@ -1843,7 +1876,9 @@ class AXMAdminNotificationItemComponent {
1843
1876
  constructor() {
1844
1877
  this.notificationDefinitionService = inject(AXPNotificationDefinitionService);
1845
1878
  this.div = viewChild('component', ...(ngDevMode ? [{ debugName: "div", read: ViewContainerRef }] : [{ read: ViewContainerRef }]));
1846
- this.adminSlot = inject(AXMAdminNotificationSlotComponent);
1879
+ this.adminSlot = inject(AXMAdminNotificationSlotComponent, {
1880
+ optional: true,
1881
+ });
1847
1882
  this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : []));
1848
1883
  this.onPressNotificationItem = output();
1849
1884
  this.#af = afterNextRender(() => this.renderComponent());
@@ -1851,7 +1886,7 @@ class AXMAdminNotificationItemComponent {
1851
1886
  pressNotificationItem(id) {
1852
1887
  this.onPressNotificationItem.emit(id);
1853
1888
  this.getNotificationProvider()?.execute({ name: 'click' }, this.data());
1854
- this.adminSlot.popover()?.close();
1889
+ this.adminSlot?.popover()?.close();
1855
1890
  }
1856
1891
  getNotificationProvider() {
1857
1892
  return this.notificationDefinitionService.resolve(this.data().type);
@@ -1862,7 +1897,7 @@ class AXMAdminNotificationItemComponent {
1862
1897
  }
1863
1898
  onAction(command) {
1864
1899
  this.getNotificationProvider()?.execute(command, this.data());
1865
- this.adminSlot.popover()?.close();
1900
+ this.adminSlot?.popover()?.close();
1866
1901
  }
1867
1902
  async renderComponent() {
1868
1903
  if (this.getNotificationContent() && this.getNotificationProvider()) {
@@ -1879,7 +1914,7 @@ class AXMAdminNotificationItemComponent {
1879
1914
  }
1880
1915
  #af;
1881
1916
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMAdminNotificationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1882
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMAdminNotificationItemComponent, isStandalone: true, selector: "axp-master-notification-item", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onPressNotificationItem: "onPressNotificationItem" }, viewQueries: [{ propertyName: "div", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div\n class=\"notification-item\"\n [id]=\"data().id\"\n (click)=\"pressNotificationItem(data().id)\"\n [class]=\"[data().template.prority, data().readAt ? 'read' : 'unread']\"\n>\n <div class=\"notification-avatar\">\n <axp-user-avatar [size]=\"48\" [userId]=\"data().sender.id\"></axp-user-avatar>\n @if (!data().readAt) {\n <!-- <div class=\"unread-badge\"></div> -->\n }\n </div>\n\n <div class=\"notification-content\">\n <div class=\"notification-header\">\n <div class=\"notification-title\">{{ data().sender.fullName || data().title }}</div>\n <div class=\"notification-meta\">\n @if (data().template.isPinned) {\n <div class=\"pin-notification\">\n <ax-icon>\n <i class=\"fa-solid fa-thumbtack\"></i>\n </ax-icon>\n </div>\n }\n <div class=\"notification-time\">{{ data().createAt | format: 'timeleft' | async }}</div>\n </div>\n </div>\n @if (this.getNotificationContent() && this.getNotificationProvider()) {\n <div #component></div>\n } @else {\n <div class=\"notification-body\">{{ data().body }}</div>\n }\n </div>\n</div>\n", styles: [".notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:.125rem;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.notification-item.read{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.notification-item.unread{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.notification-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.notification-item.Notice:before,.notification-item.Danger:before,.notification-item.Warning:before{content:\"\";position:absolute;top:.5rem;bottom:.5rem;inset-inline-start:0px;width:.125rem;border-radius:9999px}.notification-item.Notice:before{background:rgb(var(--ax-sys-color-success-500))}.notification-item.Danger:before{background:rgb(var(--ax-sys-color-danger-500))}.notification-item.Warning:before{background:rgb(var(--ax-sys-color-warning-500))}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-meta{display:flex;align-items:center;gap:.5rem}.notification-item .notification-content .notification-header .notification-meta .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification{border-radius:9999px;padding:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification i{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPUserAvatarComponent, selector: "axp-user-avatar", inputs: ["size", "userId"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1917
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMAdminNotificationItemComponent, isStandalone: true, selector: "axp-master-notification-item", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { onPressNotificationItem: "onPressNotificationItem" }, viewQueries: [{ propertyName: "div", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<div\n class=\"notification-item\"\n [id]=\"data().id\"\n (click)=\"pressNotificationItem(data().id)\"\n [class]=\"[data().template.prority, data().readAt ? 'read' : 'unread']\"\n>\n <div class=\"notification-avatar\">\n <axp-user-avatar [size]=\"48\" [userId]=\"data().sender.id\"></axp-user-avatar>\n @if (!data().readAt) {\n <!-- <div class=\"unread-badge\"></div> -->\n }\n </div>\n\n <div class=\"notification-content\">\n <div class=\"notification-header\">\n <div class=\"notification-title\">{{ data().sender.fullName || data().title }}</div>\n <div class=\"notification-meta\">\n <!-- @if (data().template.isPinned) {\n <div class=\"pin-notification\">\n <ax-icon>\n <i class=\"fa-solid fa-thumbtack\"></i>\n </ax-icon>\n </div>\n } -->\n <div class=\"notification-time\">{{ data().createAt | format: 'timeleft' | async }}</div>\n </div>\n </div>\n @if (this.getNotificationContent() && this.getNotificationProvider()) {\n <div #component></div>\n } @else {\n <div class=\"notification-body\">{{ data().body }}</div>\n }\n </div>\n</div>\n", styles: [".notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:.125rem;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.notification-item.read{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.notification-item.unread{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.notification-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.notification-item.Notice:before,.notification-item.Danger:before,.notification-item.Warning:before{content:\"\";position:absolute;top:.5rem;bottom:.5rem;inset-inline-start:0px;width:.125rem;border-radius:9999px}.notification-item.Notice:before{background:rgb(var(--ax-sys-color-success-500))}.notification-item.Danger:before{background:rgb(var(--ax-sys-color-danger-500))}.notification-item.Warning:before{background:rgb(var(--ax-sys-color-warning-500))}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-meta{display:flex;align-items:center;gap:.5rem}.notification-item .notification-content .notification-header .notification-meta .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-align:start;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification{border-radius:9999px;padding:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification i{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: AXPUserAvatarComponent, selector: "axp-user-avatar", inputs: ["size", "userId"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXFormatPipe, name: "format" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1883
1918
  }
1884
1919
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMAdminNotificationItemComponent, decorators: [{
1885
1920
  type: Component,
@@ -1891,7 +1926,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
1891
1926
  AXImageModule,
1892
1927
  AXBadgeModule,
1893
1928
  AXFormatModule,
1894
- ], template: "<div\n class=\"notification-item\"\n [id]=\"data().id\"\n (click)=\"pressNotificationItem(data().id)\"\n [class]=\"[data().template.prority, data().readAt ? 'read' : 'unread']\"\n>\n <div class=\"notification-avatar\">\n <axp-user-avatar [size]=\"48\" [userId]=\"data().sender.id\"></axp-user-avatar>\n @if (!data().readAt) {\n <!-- <div class=\"unread-badge\"></div> -->\n }\n </div>\n\n <div class=\"notification-content\">\n <div class=\"notification-header\">\n <div class=\"notification-title\">{{ data().sender.fullName || data().title }}</div>\n <div class=\"notification-meta\">\n @if (data().template.isPinned) {\n <div class=\"pin-notification\">\n <ax-icon>\n <i class=\"fa-solid fa-thumbtack\"></i>\n </ax-icon>\n </div>\n }\n <div class=\"notification-time\">{{ data().createAt | format: 'timeleft' | async }}</div>\n </div>\n </div>\n @if (this.getNotificationContent() && this.getNotificationProvider()) {\n <div #component></div>\n } @else {\n <div class=\"notification-body\">{{ data().body }}</div>\n }\n </div>\n</div>\n", styles: [".notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:.125rem;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.notification-item.read{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.notification-item.unread{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.notification-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.notification-item.Notice:before,.notification-item.Danger:before,.notification-item.Warning:before{content:\"\";position:absolute;top:.5rem;bottom:.5rem;inset-inline-start:0px;width:.125rem;border-radius:9999px}.notification-item.Notice:before{background:rgb(var(--ax-sys-color-success-500))}.notification-item.Danger:before{background:rgb(var(--ax-sys-color-danger-500))}.notification-item.Warning:before{background:rgb(var(--ax-sys-color-warning-500))}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-meta{display:flex;align-items:center;gap:.5rem}.notification-item .notification-content .notification-header .notification-meta .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification{border-radius:9999px;padding:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification i{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}\n"] }]
1929
+ ], template: "<div\n class=\"notification-item\"\n [id]=\"data().id\"\n (click)=\"pressNotificationItem(data().id)\"\n [class]=\"[data().template.prority, data().readAt ? 'read' : 'unread']\"\n>\n <div class=\"notification-avatar\">\n <axp-user-avatar [size]=\"48\" [userId]=\"data().sender.id\"></axp-user-avatar>\n @if (!data().readAt) {\n <!-- <div class=\"unread-badge\"></div> -->\n }\n </div>\n\n <div class=\"notification-content\">\n <div class=\"notification-header\">\n <div class=\"notification-title\">{{ data().sender.fullName || data().title }}</div>\n <div class=\"notification-meta\">\n <!-- @if (data().template.isPinned) {\n <div class=\"pin-notification\">\n <ax-icon>\n <i class=\"fa-solid fa-thumbtack\"></i>\n </ax-icon>\n </div>\n } -->\n <div class=\"notification-time\">{{ data().createAt | format: 'timeleft' | async }}</div>\n </div>\n </div>\n @if (this.getNotificationContent() && this.getNotificationProvider()) {\n <div #component></div>\n } @else {\n <div class=\"notification-body\">{{ data().body }}</div>\n }\n </div>\n</div>\n", styles: [".notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:.125rem;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.notification-item.read{background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.notification-item.unread{background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.notification-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}.notification-item.Notice:before,.notification-item.Danger:before,.notification-item.Warning:before{content:\"\";position:absolute;top:.5rem;bottom:.5rem;inset-inline-start:0px;width:.125rem;border-radius:9999px}.notification-item.Notice:before{background:rgb(var(--ax-sys-color-success-500))}.notification-item.Danger:before{background:rgb(var(--ax-sys-color-danger-500))}.notification-item.Warning:before{background:rgb(var(--ax-sys-color-warning-500))}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-meta{display:flex;align-items:center;gap:.5rem}.notification-item .notification-content .notification-header .notification-meta .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-align:start;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification{border-radius:9999px;padding:.375rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .pin-notification i{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}\n"] }]
1895
1930
  }] });
1896
1931
 
1897
1932
  class AXMAdminNotificationPanelComponent {
@@ -2035,10 +2070,10 @@ class AXMAdminNotificationPanelComponent {
2035
2070
  }
2036
2071
  }
2037
2072
  viewAllNotifications() {
2038
- this.router.navigate([`${this.sessionService.application?.name}/m/notification-management/e/my-notification/list`]);
2073
+ this.router.navigate([`${this.sessionService.application?.name}/notifications`]);
2039
2074
  }
2040
2075
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMAdminNotificationPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2041
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMAdminNotificationPanelComponent, isStandalone: true, selector: "axm-admin-notification-panel", inputs: { providedTabs: { classPropertyName: "providedTabs", publicName: "providedTabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNewNotfication: "onNewNotfication" }, ngImport: i0, template: "<div class=\"ax-p-4 ax-flex ax-justify-between ax-items-center\">\n <span class=\"ax-text-xl\">Notifications</span>\n <ax-button color=\"default\" look=\"blank\">\n <ax-icon>\n <i class=\"fa-regular fa-gear fa-lg\"></i>\n </ax-icon>\n </ax-button>\n</div>\n<ax-tabs [content]=\"cons\" look=\"with-line\" location=\"bottom\">\n @for (tab of tabItems(); track tab.text) {\n <ax-tab-item [text]=\"tab.text\" [active]=\"activeTab() === tab.text\" (activeChange)=\"changeActiveTab(tab.text)\">\n <ax-suffix>\n @if (tab.count && tab.text === 'Unread') {\n <ax-badge [color]=\"activeTab() === tab.text ? 'primary' : 'ghost'\" [text]=\"tab.count.toString()\"></ax-badge>\n }\n </ax-suffix>\n <ax-content>\n <div class=\"ax-max-h-[50vh] md:ax-w-[32rem] ax-overflow-y-auto\">\n @if (getNotificationItems(tab.text).length === 0) {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-gap-2 ax-p-6\">\n <i class=\"fa-regular fa-bell-slash ax-text-2xl\"></i>\n <div class=\"ax-text-sm\">No notifications</div>\n </div>\n } @else {\n @for (notif of getNotificationItems(tab.text); track notif.id) {\n <axp-master-notification-item\n [data]=\"notif\"\n (onPressNotificationItem)=\"markAsRead($event)\"\n ></axp-master-notification-item>\n }\n }\n </div>\n <div class=\"ax-flex ax-gap-4 ax-justify-between ax-p-4 ax-border-t ax-border-default\">\n <ax-button\n [disabled]=\"NewNotification() === 0\"\n [color]=\"'default'\"\n text=\"Mark all as read\"\n (onClick)=\"markAllAsRead()\"\n ></ax-button>\n <ax-button color=\"primary\" text=\"View all notifications\" (onClick)=\"viewAllNotifications()\"></ax-button>\n </div>\n </ax-content>\n </ax-tab-item>\n }\n</ax-tabs>\n\n<ng-template [axTabContent] #cons=\"axTabContent\"></ng-template>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i2$2.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$2.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i2$2.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: AXMAdminNotificationItemComponent, selector: "axp-master-notification-item", inputs: ["data"], outputs: ["onPressNotificationItem"] }, { kind: "ngmodule", type: AXFormatModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2076
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMAdminNotificationPanelComponent, isStandalone: true, selector: "axm-admin-notification-panel", inputs: { providedTabs: { classPropertyName: "providedTabs", publicName: "providedTabs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onNewNotfication: "onNewNotfication" }, ngImport: i0, template: "<div class=\"ax-p-4 ax-flex ax-justify-between ax-items-center\">\n <span class=\"ax-text-xl\">Notifications</span>\n <ax-button color=\"default\" look=\"blank\">\n <ax-icon>\n <i class=\"fa-regular fa-gear fa-lg\"></i>\n </ax-icon>\n </ax-button>\n</div>\n<ax-tabs [content]=\"cons\" look=\"with-line\" location=\"bottom\">\n @for (tab of tabItems(); track tab.text) {\n <ax-tab-item [text]=\"tab.text\" [active]=\"activeTab() === tab.text\" (activeChange)=\"changeActiveTab(tab.text)\">\n <ax-suffix>\n @if (tab.count && tab.text === 'Unread') {\n <ax-badge [color]=\"activeTab() === tab.text ? 'primary' : 'ghost'\" [text]=\"tab.count.toString()\"></ax-badge>\n }\n </ax-suffix>\n <ax-content>\n <div class=\"ax-max-h-[50vh] md:ax-w-[32rem] ax-overflow-y-auto\">\n @if (getNotificationItems(tab.text).length === 0) {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-gap-2 ax-p-6\">\n <i class=\"fa-regular fa-bell-slash ax-text-2xl\"></i>\n <div class=\"ax-text-sm\">No notifications</div>\n </div>\n } @else {\n @for (notif of getNotificationItems(tab.text); track notif.id) {\n <axp-master-notification-item\n [data]=\"notif\"\n (onPressNotificationItem)=\"markAsRead($event)\"\n ></axp-master-notification-item>\n }\n }\n </div>\n <div class=\"ax-flex ax-gap-4 ax-justify-between ax-p-4 ax-border-t ax-border-default\">\n <ax-button\n [disabled]=\"NewNotification() === 0\"\n [color]=\"'default'\"\n text=\"Mark all as read\"\n (onClick)=\"markAllAsRead()\"\n ></ax-button>\n <ax-button color=\"primary\" text=\"View all notifications\" (onClick)=\"viewAllNotifications()\"></ax-button>\n </div>\n </ax-content>\n </ax-tab-item>\n }\n</ax-tabs>\n\n<ng-template [axTabContent] #cons=\"axTabContent\"></ng-template>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i2$1.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$1.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "directive", type: i2$1.AXTabContentDirective, selector: "[axTabContent]", inputs: ["axTabContent"], exportAs: ["axTabContent"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: AXMAdminNotificationItemComponent, selector: "axp-master-notification-item", inputs: ["data"], outputs: ["onPressNotificationItem"] }, { kind: "ngmodule", type: AXFormatModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2042
2077
  }
2043
2078
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMAdminNotificationPanelComponent, decorators: [{
2044
2079
  type: Component,
@@ -2062,63 +2097,13 @@ class AXMAdminNotificationSlotComponent {
2062
2097
  this.totalNewNotification.set(value);
2063
2098
  }
2064
2099
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMAdminNotificationSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2065
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMAdminNotificationSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ax-button class=\"ax-relative\" color=\"primary\" #notification>\n <ax-icon>\n <i class=\"fa-regular fa-bell\"></i>\n </ax-icon>\n <ax-suffix class=\"ax-absolute ax-top-0 ax-left-1/2\">\n @if (totalNewNotification()) {\n <ax-badge color=\"success\" [text]=\"totalNewNotification().toString()\"></ax-badge>\n }\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"notification\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-lightest ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full\">\n <axm-admin-notification-panel (onNewNotfication)=\"setTotalNewNotification($event)\"> </axm-admin-notification-panel>\n </div>\n</ax-popover>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXMAdminNotificationPanelComponent, selector: "axm-admin-notification-panel", inputs: ["providedTabs"], outputs: ["onNewNotfication"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2100
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMAdminNotificationSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<ax-button class=\"ax-relative\" color=\"primary\" #notification>\n <ax-icon>\n <i class=\"fa-regular fa-bell\"></i>\n </ax-icon>\n <ax-suffix class=\"ax-absolute ax-top-0 ax-left-1/2\">\n @if (totalNewNotification()) {\n <ax-badge color=\"success\" [text]=\"totalNewNotification().toString()\"></ax-badge>\n }\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"notification\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-lightest ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full\">\n <axm-admin-notification-panel (onNewNotfication)=\"setTotalNewNotification($event)\"> </axm-admin-notification-panel>\n </div>\n</ax-popover>\n", dependencies: [{ kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["width", "disabled", "offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: AXMAdminNotificationPanelComponent, selector: "axm-admin-notification-panel", inputs: ["providedTabs"], outputs: ["onNewNotfication"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2066
2101
  }
2067
2102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMAdminNotificationSlotComponent, decorators: [{
2068
2103
  type: Component,
2069
2104
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [AXButtonModule, AXDecoratorModule, AXBadgeModule, AXPopoverModule, AXMAdminNotificationPanelComponent], template: "<ax-button class=\"ax-relative\" color=\"primary\" #notification>\n <ax-icon>\n <i class=\"fa-regular fa-bell\"></i>\n </ax-icon>\n <ax-suffix class=\"ax-absolute ax-top-0 ax-left-1/2\">\n @if (totalNewNotification()) {\n <ax-badge color=\"success\" [text]=\"totalNewNotification().toString()\"></ax-badge>\n }\n </ax-suffix>\n</ax-button>\n<ax-popover [target]=\"notification\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-lightest ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full\">\n <axm-admin-notification-panel (onNewNotfication)=\"setTotalNewNotification($event)\"> </axm-admin-notification-panel>\n </div>\n</ax-popover>\n" }]
2070
2105
  }] });
2071
2106
 
2072
- class AXMEntityLoader {
2073
- constructor() {
2074
- this.injector = inject(Injector);
2075
- }
2076
- preload() {
2077
- const module = RootConfig.module.name;
2078
- return Array.from(Object.values(RootConfig.entities)).map((entity) => ({
2079
- module: module,
2080
- entity: entity.name,
2081
- }));
2082
- }
2083
- async get(moduleName, entityName) {
2084
- if (moduleName == RootConfig.module.name) {
2085
- return new Promise(async (resolve) => {
2086
- switch (entityName) {
2087
- case RootConfig.entities.template.name: {
2088
- const entity = (await Promise.resolve().then(function () { return template_entity; })).notificationTemplateEntityFactory;
2089
- resolve(entity(this.injector));
2090
- break;
2091
- }
2092
- case RootConfig.entities.channel.name: {
2093
- const entity = (await Promise.resolve().then(function () { return channel_entity; })).notificationChannelEntityFactory;
2094
- resolve(entity(this.injector));
2095
- break;
2096
- }
2097
- //TODO: Add your custom entity here
2098
- case 'my-notification': {
2099
- const entity = (await Promise.resolve().then(function () { return myNotification; })).myNotificationEntityFactory;
2100
- resolve(entity(this.injector));
2101
- break;
2102
- }
2103
- case RootConfig.entities.notification.name: {
2104
- const entity = (await Promise.resolve().then(function () { return notification_entity; })).notificationEntityFactory;
2105
- resolve(entity(this.injector));
2106
- break;
2107
- }
2108
- default:
2109
- resolve(null);
2110
- }
2111
- });
2112
- }
2113
- return null;
2114
- }
2115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMEntityLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2116
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMEntityLoader }); }
2117
- }
2118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMEntityLoader, decorators: [{
2119
- type: Injectable
2120
- }] });
2121
-
2122
2107
  /**
2123
2108
  * Notification Widget Component
2124
2109
  * Displays notifications in a card with tabs
@@ -2337,7 +2322,7 @@ class AXPNotificationWidgetViewComponent extends AXPValueWidgetComponent {
2337
2322
  popover: () => ({ close: () => { } }),
2338
2323
  },
2339
2324
  },
2340
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-p-2 ax-size-full\">\n <ax-tabs\n class=\"ax-bg-light-start ax-border-b ax-border-default\"\n [fitParent]=\"true\"\n location=\"bottom\"\n (onActiveTabChanged)=\"handleTabChange($event)\"\n >\n <ax-tab-item\n [text]=\"('unread' | translate: { scope: 'notification-management' } | async) ?? 'Unread'\"\n class=\"ax-font-medium\"\n >\n <ax-suffix>\n @if (getNewMessageCount() > 0) {\n <ax-badge color=\"primary\" [text]=\"getNewMessageCount().toString()\" size=\"sm\" class=\"ax-ml-1\"></ax-badge>\n }\n </ax-suffix>\n </ax-tab-item>\n <ax-tab-item\n [text]=\"('all' | translate: { scope: 'notification-management' } | async) ?? 'All'\"\n class=\"ax-font-medium\"\n ></ax-tab-item>\n </ax-tabs>\n <div class=\"ax-space-y-1 ax-mt-2\">\n @for (item of notificationItems(); track item.id) {\n <axp-master-notification-item\n [data]=\"item\"\n (onPressNotificationItem)=\"onAdminItemClick($event)\"\n />\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-12 ax-px-4 ax-text-gray-400\">\n <ax-icon class=\"ax-text-4xl ax-mb-3 ax-text-gray-300\">\n <i class=\"fa-light fa-bell-slash\"></i>\n </ax-icon>\n <p class=\"ax-text-center\">{{ 'no-notifications' | translate: { scope: 'notification-management' } | async }}</p>\n </div>\n }\n </div>\n</div>\n\n", styles: [":host{display:block;width:100%;height:100%}.notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:1rem;padding:.5rem;text-align:start;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));animation-duration:.2s}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i2$2.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$2.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXMAdminNotificationItemComponent, selector: "axp-master-notification-item", inputs: ["data"], outputs: ["onPressNotificationItem"] }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2325
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-p-2 ax-size-full ax-flex ax-flex-col ax-gap-2\">\n <ax-tabs\n class=\"ax-bg-light-start ax-border-b ax-border-default ax-shrink-0\"\n [fitParent]=\"true\"\n location=\"bottom\"\n (onActiveTabChanged)=\"handleTabChange($event)\"\n >\n <ax-tab-item\n [text]=\"('unread' | translate: { scope: 'notification-management' } | async) ?? 'Unread'\"\n class=\"ax-font-medium\"\n >\n <ax-suffix>\n @if (getNewMessageCount() > 0) {\n <ax-badge color=\"primary\" [text]=\"getNewMessageCount().toString()\" size=\"sm\" class=\"ax-ml-1\"></ax-badge>\n }\n </ax-suffix>\n </ax-tab-item>\n <ax-tab-item\n [text]=\"('all' | translate: { scope: 'notification-management' } | async) ?? 'All'\"\n class=\"ax-font-medium\"\n ></ax-tab-item>\n </ax-tabs>\n <div class=\"ax-space-y-1 ax-overflow-auto\">\n @for (item of notificationItems(); track item.id) {\n <axp-master-notification-item [data]=\"item\" (onPressNotificationItem)=\"onAdminItemClick($event)\" />\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-12 ax-px-4 ax-text-gray-400\">\n <ax-icon class=\"ax-text-4xl ax-mb-3 ax-text-gray-300\">\n <i class=\"fa-light fa-bell-slash\"></i>\n </ax-icon>\n <p class=\"ax-text-center\">{{ 'no-notifications' | translate: { scope: 'notification-management' } | async }}</p>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:1rem;padding:.5rem;text-align:start;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));animation-duration:.2s}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i2$1.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i2$1.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i3.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXMAdminNotificationItemComponent, selector: "axp-master-notification-item", inputs: ["data"], outputs: ["onPressNotificationItem"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i5$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2341
2326
  }
2342
2327
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXPNotificationWidgetViewComponent, decorators: [{
2343
2328
  type: Component,
@@ -2358,7 +2343,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
2358
2343
  popover: () => ({ close: () => { } }),
2359
2344
  },
2360
2345
  },
2361
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-p-2 ax-size-full\">\n <ax-tabs\n class=\"ax-bg-light-start ax-border-b ax-border-default\"\n [fitParent]=\"true\"\n location=\"bottom\"\n (onActiveTabChanged)=\"handleTabChange($event)\"\n >\n <ax-tab-item\n [text]=\"('unread' | translate: { scope: 'notification-management' } | async) ?? 'Unread'\"\n class=\"ax-font-medium\"\n >\n <ax-suffix>\n @if (getNewMessageCount() > 0) {\n <ax-badge color=\"primary\" [text]=\"getNewMessageCount().toString()\" size=\"sm\" class=\"ax-ml-1\"></ax-badge>\n }\n </ax-suffix>\n </ax-tab-item>\n <ax-tab-item\n [text]=\"('all' | translate: { scope: 'notification-management' } | async) ?? 'All'\"\n class=\"ax-font-medium\"\n ></ax-tab-item>\n </ax-tabs>\n <div class=\"ax-space-y-1 ax-mt-2\">\n @for (item of notificationItems(); track item.id) {\n <axp-master-notification-item\n [data]=\"item\"\n (onPressNotificationItem)=\"onAdminItemClick($event)\"\n />\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-12 ax-px-4 ax-text-gray-400\">\n <ax-icon class=\"ax-text-4xl ax-mb-3 ax-text-gray-300\">\n <i class=\"fa-light fa-bell-slash\"></i>\n </ax-icon>\n <p class=\"ax-text-center\">{{ 'no-notifications' | translate: { scope: 'notification-management' } | async }}</p>\n </div>\n }\n </div>\n</div>\n\n", styles: [":host{display:block;width:100%;height:100%}.notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:1rem;padding:.5rem;text-align:start;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));animation-duration:.2s}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}\n"] }]
2346
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-p-2 ax-size-full ax-flex ax-flex-col ax-gap-2\">\n <ax-tabs\n class=\"ax-bg-light-start ax-border-b ax-border-default ax-shrink-0\"\n [fitParent]=\"true\"\n location=\"bottom\"\n (onActiveTabChanged)=\"handleTabChange($event)\"\n >\n <ax-tab-item\n [text]=\"('unread' | translate: { scope: 'notification-management' } | async) ?? 'Unread'\"\n class=\"ax-font-medium\"\n >\n <ax-suffix>\n @if (getNewMessageCount() > 0) {\n <ax-badge color=\"primary\" [text]=\"getNewMessageCount().toString()\" size=\"sm\" class=\"ax-ml-1\"></ax-badge>\n }\n </ax-suffix>\n </ax-tab-item>\n <ax-tab-item\n [text]=\"('all' | translate: { scope: 'notification-management' } | async) ?? 'All'\"\n class=\"ax-font-medium\"\n ></ax-tab-item>\n </ax-tabs>\n <div class=\"ax-space-y-1 ax-overflow-auto\">\n @for (item of notificationItems(); track item.id) {\n <axp-master-notification-item [data]=\"item\" (onPressNotificationItem)=\"onAdminItemClick($event)\" />\n } @empty {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-12 ax-px-4 ax-text-gray-400\">\n <ax-icon class=\"ax-text-4xl ax-mb-3 ax-text-gray-300\">\n <i class=\"fa-light fa-bell-slash\"></i>\n </ax-icon>\n <p class=\"ax-text-center\">{{ 'no-notifications' | translate: { scope: 'notification-management' } | async }}</p>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;width:100%;height:100%}.notification-item{position:relative;margin-top:2px;margin-bottom:2px;display:flex;cursor:pointer;gap:1rem;border-radius:1rem;padding:.5rem;text-align:start;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface));animation-duration:.2s}.notification-item .notification-avatar{position:relative}.notification-item .notification-avatar .unread-badge{position:absolute;bottom:.25rem;inset-inline-end:.25rem;width:10px;height:10px;background:rgb(var(--ax-sys-color-primary-500));border:2px solid rgb(var(--ax-sys-color-surface));border-radius:50%}.notification-item .notification-content{min-width:0px;flex:1 1 0%}.notification-item .notification-content .notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.notification-item .notification-content .notification-header .notification-title{font-size:1rem;line-height:1.5rem;font-weight:500;color:rgb(var(--ax-sys-color-on-surface))}.notification-item .notification-content .notification-header .notification-time{white-space:nowrap;font-size:.75rem;line-height:1rem;color:rgb(var(--ax-sys-color-on-surface-variant))}.notification-item .notification-content .notification-body{margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;color:rgb(var(--ax-sys-color-on-surface-variant))}\n"] }]
2362
2347
  }], ctorParameters: () => [] });
2363
2348
 
2364
2349
  var notificationWidget_component = /*#__PURE__*/Object.freeze({
@@ -2504,10 +2489,35 @@ const AXPMyNotificationDashboardWidget = {
2504
2489
  },
2505
2490
  };
2506
2491
 
2492
+ function routesFactory() {
2493
+ const routes = [
2494
+ {
2495
+ path: ':app/notifications',
2496
+ canActivate: [AXPAuthGuard],
2497
+ loadComponent: () => {
2498
+ return AXPRootLayoutComponent;
2499
+ },
2500
+ title: 'Notifications',
2501
+ children: [
2502
+ {
2503
+ path: '',
2504
+ loadComponent: () => import('./acorex-modules-notification-management-notification-page.component-TLxLpxzE.mjs').then((c) => c.AXMNotificationPageComponent),
2505
+ data: { reuse: true },
2506
+ },
2507
+ ],
2508
+ },
2509
+ ];
2510
+ return routes;
2511
+ }
2507
2512
  class AXMNotificationManagementModule {
2508
2513
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2509
2514
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationManagementModule, imports: [i1$1.AXPComponentSlotModule, i2$3.AXPLayoutBuilderModule] }); }
2510
2515
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationManagementModule, providers: [
2516
+ {
2517
+ provide: ROUTES,
2518
+ multi: true,
2519
+ useFactory: routesFactory,
2520
+ },
2511
2521
  {
2512
2522
  provide: AXMNotificationManagementTemplateEntityService,
2513
2523
  useClass: AXMNotificationManagementTemplateEntityServiceImpl,
@@ -2527,7 +2537,7 @@ class AXMNotificationManagementModule {
2527
2537
  },
2528
2538
  {
2529
2539
  provide: AXP_MENU_PROVIDER,
2530
- useClass: AXMNotificationManagmentModuleMenuProvider,
2540
+ useClass: AXMMenuProvider,
2531
2541
  multi: true,
2532
2542
  },
2533
2543
  {
@@ -2539,6 +2549,11 @@ class AXMNotificationManagementModule {
2539
2549
  },
2540
2550
  multi: true,
2541
2551
  },
2552
+ {
2553
+ provide: AXP_TASK_BADGE_PROVIDERS,
2554
+ useClass: AXMNotificationBadgeProvider,
2555
+ multi: true,
2556
+ },
2542
2557
  ], imports: [AXPComponentSlotModule.forChild({
2543
2558
  'root-header-end': [
2544
2559
  {
@@ -2548,9 +2563,7 @@ class AXMNotificationManagementModule {
2548
2563
  ],
2549
2564
  }),
2550
2565
  AXPLayoutBuilderModule.forChild({
2551
- widgets: [
2552
- AXPMyNotificationDashboardWidget,
2553
- ],
2566
+ widgets: [AXPMyNotificationDashboardWidget],
2554
2567
  })] }); }
2555
2568
  }
2556
2569
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMNotificationManagementModule, decorators: [{
@@ -2566,14 +2579,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
2566
2579
  ],
2567
2580
  }),
2568
2581
  AXPLayoutBuilderModule.forChild({
2569
- widgets: [
2570
- AXPMyNotificationDashboardWidget,
2571
- ],
2582
+ widgets: [AXPMyNotificationDashboardWidget],
2572
2583
  }),
2573
2584
  ],
2574
2585
  exports: [],
2575
2586
  declarations: [],
2576
2587
  providers: [
2588
+ {
2589
+ provide: ROUTES,
2590
+ multi: true,
2591
+ useFactory: routesFactory,
2592
+ },
2577
2593
  {
2578
2594
  provide: AXMNotificationManagementTemplateEntityService,
2579
2595
  useClass: AXMNotificationManagementTemplateEntityServiceImpl,
@@ -2593,7 +2609,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
2593
2609
  },
2594
2610
  {
2595
2611
  provide: AXP_MENU_PROVIDER,
2596
- useClass: AXMNotificationManagmentModuleMenuProvider,
2612
+ useClass: AXMMenuProvider,
2597
2613
  multi: true,
2598
2614
  },
2599
2615
  {
@@ -2605,6 +2621,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
2605
2621
  },
2606
2622
  multi: true,
2607
2623
  },
2624
+ {
2625
+ provide: AXP_TASK_BADGE_PROVIDERS,
2626
+ useClass: AXMNotificationBadgeProvider,
2627
+ multi: true,
2628
+ },
2608
2629
  ],
2609
2630
  }]
2610
2631
  }] });
@@ -3000,7 +3021,6 @@ async function myNotificationEntityFactory(injector) {
3000
3021
  commands: {
3001
3022
  create: {
3002
3023
  execute: async (data) => {
3003
- console.log('CREATE', data);
3004
3024
  const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });
3005
3025
  await dataProvider.insertOne(entity);
3006
3026
  return entity;
@@ -3008,7 +3028,6 @@ async function myNotificationEntityFactory(injector) {
3008
3028
  },
3009
3029
  delete: {
3010
3030
  execute: async (id) => {
3011
- console.log('CREATE', id);
3012
3031
  await dataProvider.deleteOne(id);
3013
3032
  },
3014
3033
  },
@@ -3236,5 +3255,5 @@ async function notificationLogEntityFactory(injector) {
3236
3255
  * Generated bundle index. Do not edit.
3237
3256
  */
3238
3257
 
3239
- export { AXMNotificationConnectorService, AXMNotificationEntityService, AXMNotificationEntityServiceImpl, AXMNotificationManagementChannelEntityService, AXMNotificationManagementChannelEntityServiceImpl, AXMNotificationManagementModule, AXMNotificationManagementTemplateEntityModule, AXMNotificationManagementTemplateEntityService, AXMNotificationManagementTemplateEntityServiceImpl, AXMNotificationManagmentModuleMenuProvider, AXMOsNotificationService, AXMSettingProvider, AXPMyNotificationDashboardWidget, AXPNotificationDefinitionProvider, AXPNotificationDefinitionProviderDefault, AXPNotificationDefinitionService, AXPNotificationWidgetViewComponent, AXP_NOTIFICATION_DEFINITION_PROVIDER, RootConfig, myNotificationEntityFactory, notificationChannelEntityFactory, notificationEntityFactory, notificationLogEntityFactory, notificationTemplateEntityFactory };
3258
+ export { AXMMenuProvider, AXMNotificationConnectorService, AXMNotificationEntityService, AXMNotificationEntityServiceImpl, AXMNotificationManagementChannelEntityService, AXMNotificationManagementChannelEntityServiceImpl, AXMNotificationManagementModule, AXMNotificationManagementTemplateEntityModule, AXMNotificationManagementTemplateEntityService, AXMNotificationManagementTemplateEntityServiceImpl, AXMOsNotificationService, AXMSettingProvider, AXPMyNotificationDashboardWidget, AXPNotificationDefinitionProvider, AXPNotificationDefinitionProviderDefault, AXPNotificationDefinitionService, AXPNotificationWidgetViewComponent, AXP_NOTIFICATION_DEFINITION_PROVIDER, RootConfig, myNotificationEntityFactory, notificationChannelEntityFactory, notificationEntityFactory, notificationLogEntityFactory, notificationTemplateEntityFactory };
3240
3259
  //# sourceMappingURL=acorex-modules-notification-management.mjs.map