@acorex/modules 19.4.1 → 19.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/document-management/lib/document-management.module.d.ts +11 -10
- package/document-management/lib/features/drive-choose/drive-choose.module.d.ts +7 -0
- package/document-management/lib/features/drive-choose/slots/file-uploader-widget-extension/file-uploader-widget-extension.component.d.ts +8 -0
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BhTLWa3y.mjs → acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs} +13 -13
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BhTLWa3y.mjs.map → acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-J5vGfv56.mjs → acorex-modules-auth-app-chooser.component-DNr963RR.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-J5vGfv56.mjs.map → acorex-modules-auth-app-chooser.component-DNr963RR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-DUlctvyx.mjs → acorex-modules-auth-login.module-HfQItJY6.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-DUlctvyx.mjs.map → acorex-modules-auth-login.module-HfQItJY6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-BFCxBj8H.mjs → acorex-modules-auth-master.layout-DgN0Dh-I.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-master.layout-BFCxBj8H.mjs.map → acorex-modules-auth-master.layout-DgN0Dh-I.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CSE7_3Ey.mjs → acorex-modules-auth-password.component-B-L3ksjM.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-CSE7_3Ey.mjs.map → acorex-modules-auth-password.component-B-L3ksjM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-CPpJug_X.mjs → acorex-modules-auth-password.component-CVgNTaKI.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-CPpJug_X.mjs.map → acorex-modules-auth-password.component-CVgNTaKI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-BSk5njsU.mjs → acorex-modules-auth-routes-CtoZQEq9.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-BSk5njsU.mjs.map → acorex-modules-auth-routes-CtoZQEq9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-D3mhXLXx.mjs → acorex-modules-auth-two-factor.module-CCP_Oovk.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-D3mhXLXx.mjs.map → acorex-modules-auth-two-factor.module-CCP_Oovk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-COeH4jjg.mjs → acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-COeH4jjg.mjs.map → acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common.mjs +2 -2
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BcgxVPuR.mjs → acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs} +84 -19
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cwa7HuUo.mjs → acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cwa7HuUo.mjs.map → acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BN0pWX7a.mjs → acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BN0pWX7a.mjs.map → acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-details-view.component-DXn54h2g.mjs → acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-details-view.component-DXn54h2g.mjs.map → acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs → acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs.map → acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DwAyEZUU.mjs → acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DwAyEZUU.mjs.map → acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-B0n1rs-g.mjs → acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-B0n1rs-g.mjs.map → acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-CIAQBAcy.mjs → acorex-modules-document-management-list-view.component-DZBjqWfy.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-list-view.component-CIAQBAcy.mjs.map → acorex-modules-document-management-list-view.component-DZBjqWfy.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BBXmMuIh.mjs → acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BBXmMuIh.mjs.map → acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-D28zKZqZ.mjs → acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-D28zKZqZ.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dg5nb2yW.mjs → acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dg5nb2yW.mjs.map → acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BCaQYHQF.mjs → acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BCaQYHQF.mjs.map → acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +2 -2
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CO8rzxOh.mjs → acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs} +172 -9
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-version.component-gWnz7cp6.mjs → acorex-modules-platform-management-list-version.component-BGhETw3U.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-list-version.component-gWnz7cp6.mjs.map → acorex-modules-platform-management-list-version.component-BGhETw3U.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-settings.provider-JEwENvqy.mjs → acorex-modules-platform-management-settings.provider-C327XLKW.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-settings.provider-JEwENvqy.mjs.map → acorex-modules-platform-management-settings.provider-C327XLKW.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +1 -0
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/package.json +9 -9
- package/platform-management/lib/features/app-terms/settings.keys.d.ts +3 -0
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BcgxVPuR.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CO8rzxOh.mjs.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-modules-notification-management.mjs","sources":["../../../../libs/modules/notification-management/src/lib/const.ts","../../../../libs/modules/notification-management/src/lib/entities/channel/channel.service.ts","../../../../libs/modules/notification-management/src/lib/entities/channel/channel.entity.ts","../../../../libs/modules/notification-management/src/lib/entities/notification/notification.service.ts","../../../../libs/modules/notification-management/src/lib/entities/notification/notification.entity.ts","../../../../libs/modules/notification-management/src/lib/entities/template/template.service.ts","../../../../libs/modules/notification-management/src/lib/entities/template/template.entity.ts","../../../../libs/modules/notification-management/src/lib/entities/template/template.module.ts","../../../../libs/modules/notification-management/src/lib/menu.provider.ts","../../../../libs/modules/notification-management/src/lib/features/shared/notification-connector.service.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-item/admin-notification-item.component.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-item/admin-notification-item.component.html","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-panel/admin-notification-panel.component.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-panel/admin-notification-panel.component.html","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-slot/admin-notification-slot.component.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-slot/admin-notification-slot.component.html","../../../../libs/modules/notification-management/src/lib/entity.provider.ts","../../../../libs/modules/notification-management/src/lib/features/dashboard/widgets/my-notification/notification-widget.component.ts","../../../../libs/modules/notification-management/src/lib/features/dashboard/widgets/my-notification/notification-widget.component.html","../../../../libs/modules/notification-management/src/lib/features/dashboard/widgets/my-notification/notification-widget.config.ts","../../../../libs/modules/notification-management/src/lib/notification-management.module.ts","../../../../libs/modules/notification-management/src/lib/settings.keys.ts","../../../../libs/modules/notification-management/src/lib/settings.provider.ts","../../../../libs/modules/notification-management/src/lib/entities/my-notification.ts","../../../../libs/modules/notification-management/src/lib/entities/notification-log.entity.ts","../../../../libs/modules/notification-management/src/acorex-modules-notification-management.ts"],"sourcesContent":["const config = {\n i18n: 'notification-management',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'notification-management',\n name: 'NotificationManagement',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-bell',\n },\n entities: {\n channel: {\n name: 'Channels',\n title: `t(\"channel\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-list',\n },\n template: {\n name: 'Templates',\n title: `t(\"template\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-code',\n },\n notification: {\n name: 'Notifications',\n title: `t(\"notification\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-code',\n },\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementChannelEntityModel } from './channel.types';\n\nexport abstract class AXMNotificationManagementChannelEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMNotificationManagementChannelEntityModel\n> {}\n\n@Injectable()\nexport class AXMNotificationManagementChannelEntityServiceImpl extends AXMNotificationManagementChannelEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.channel.name}`);\n }\n}\n","import { RootConfig as RootConfigTextTemplate } from '@acorex/modules/text-template-management';\nimport { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementChannelEntityService } from './channel.service';\n\nexport async function notificationChannelEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationManagementChannelEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.channel.name,\n source: '',\n title: RootConfig.entities.channel.title,\n formats: {\n individual: `t(\"channel\", { scope: \"${i18n}\" })`,\n plural: `t(\"channels\", { scope: \"${i18n}\" })`,\n },\n relatedEntities: [],\n groups: [\n {\n id: 'notificationChannel',\n title: 'Notification Channel',\n },\n {\n id: 'in-app',\n title: 'In App',\n },\n ],\n properties: [\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'template',\n title: `t(\"template\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfigTextTemplate.module.name}.${RootConfigTextTemplate.entities.template.name}`,\n expose: { source: 'content', target: 'body' },\n },\n },\n },\n },\n {\n name: 'body',\n title: `t(\"body\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'imageId',\n title: `t(\"body\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.file,\n options: {\n multiple: false,\n },\n },\n },\n },\n {\n name: 'channel',\n title: `t(\"channel\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'SMS', name: 'sms' },\n { title: 'Email', name: 'email' },\n { title: 'In App', name: 'inApp' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: `t(\"type\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Notification', name: 'notification' },\n { title: 'Promotion', name: 'promotion' },\n { title: 'PopUp', name: 'popup' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n },\n {\n name: 'contentType',\n title: `t(\"contentType\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Media', name: 'media' },\n { title: 'Text', name: 'text' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'shape',\n title: `t(\"shape\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Circle', name: 'circle' },\n { title: 'Square', name: 'square' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'placement',\n title: `t(\"placement\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Side Menu Footer', name: 'side-menu-footer' },\n { title: 'Side Menu Header', name: 'side-menu-header' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'pin',\n title: `t(\"pin\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.checkbox,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'trigger',\n title: `t(\"trigger\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.cronJob,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'title' }, { name: 'body' }, { name: 'channel' }],\n commands: {\n create: {\n execute: async (data: any) => {\n console.log(data);\n\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'notificationChannel',\n },\n {\n id: 'in-app',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'imageId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'trigger',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 10,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'contentType',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'shape',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'placement',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 6,\n },\n },\n },\n },\n {\n name: 'pin',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'notificationChannel',\n },\n {\n id: 'in-app',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'imageId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'trigger',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 10,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'contentType',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'shape',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'placement',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 6,\n },\n },\n },\n },\n {\n name: 'pin',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notificationChannel',\n },\n {\n id: 'in-app',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'imageId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'trigger',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 10,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'contentType',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'shape',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'placement',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 6,\n },\n },\n },\n },\n {\n name: 'pin',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport {\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationResponse,\n} from '../../notification-management.type';\nimport { AXMNotificationManagementNotificationEntityModel } from './notification.types';\n\nexport abstract class AXMNotificationEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMNotificationManagementNotificationEntityModel\n> {\n abstract getList(): Promise<AXMNotificationResponse>;\n abstract markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void>;\n abstract create(payload?: AXMNotificationItem): Promise<void>;\n}\n\n@Injectable()\nexport class AXMNotificationEntityServiceImpl extends AXMNotificationEntityService {\n override getList(): Promise<AXMNotificationResponse> {\n throw new Error('Method not implemented.');\n }\n override markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n throw new Error('Method not implemented.');\n }\n override create(payload?: AXMNotificationItem): Promise<void> {\n throw new Error('Method not implemented.');\n }\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.notification.name}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationEntityService } from './notification.service';\n\nexport async function notificationEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.notification.name,\n source: '',\n title: RootConfig.entities.notification.title,\n formats: {\n individual: `t(\"notifications\",{scope: \"${i18n}\"})`,\n plural: `t(\"notifications\",{scope: \"notification-management\"})`,\n },\n relatedEntities: [\n {\n entity: 'notification-management.notificationLog',\n columns: ['title', 'status'],\n },\n ],\n groups: [\n {\n id: 'notification',\n title: 'Notification',\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'body',\n title: `t(\"body\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'channel',\n title: `t(\"channel\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'user.name',\n title: `t(\"user.name\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'body' }, { name: 'user.name' }, { name: 'channel' }],\n queries: {\n byKey: {\n execute: async (id: string) => {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const entity = await dataService.getOne(id);\n resolve(entity);\n }, 500);\n });\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notification',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'user.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementTemplateEntityModel } from './template.types';\n\nexport abstract class AXMNotificationManagementTemplateEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMNotificationManagementTemplateEntityModel\n> {}\n\n@Injectable()\nexport class AXMNotificationManagementTemplateEntityServiceImpl extends AXMNotificationManagementTemplateEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.template.name}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementTemplateEntityService } from './template.service';\n\nexport async function notificationTemplateEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationManagementTemplateEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.template.name,\n source: '',\n title: RootConfig.entities.template.title,\n formats: {\n individual: 't(\"template\",{scope: \"notification-management\"})',\n plural: 't(\"template\",{scope: \"notification-management\"})',\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.channel.name}`,\n columns: ['title', 'body', 'channel'],\n conditions: [\n {\n name: 'notificationId',\n operator: {\n type: 'equal',\n },\n value: 'id',\n },\n ],\n },\n ],\n groups: [\n {\n id: 'notification',\n title: `t(\"title\", { scope: \"common\" })`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"common\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `t(\"description\", { scope: \"common\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'notification',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'notification',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notification',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMNotificationManagementTemplateEntityService,\n AXMNotificationManagementTemplateEntityServiceImpl,\n} from './template.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMNotificationManagementTemplateEntityService,\n useClass: AXMNotificationManagementTemplateEntityServiceImpl,\n },\n ],\n})\nexport class AXMNotificationManagementTemplateEntityModule {}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\n\nexport class AXMNotificationManagmentModuleMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n const scope = RootConfig.config.i18n;\n const moduleName = RootConfig.module.name;\n context.addItems([\n {\n name: moduleName,\n priority: 9001,\n text: `t('root-menu', {scope: \"${scope}\"})`,\n icon: 'fa-light fa-bells',\n data: {\n // requiredPermission: 'demo.admin.settings',\n },\n children: [\n {\n text: `t('templates', {scope: \"${scope}\"})`,\n //TODO something might be missing here notificationTemplate vs notification- template\n path: this.entityService.createPath(moduleName, RootConfig.entities.template.name),\n icon: 'fa-light fa-file-invoice',\n data: {\n // requiredPermission: '',\n },\n },\n // {\n // text: `t('reports', {scope: \"${scope}\"})`,\n // path: this.entityService.createPath(moduleName, RootConfig.entities.notification.name),\n // icon: 'fa-light fa-file-chart-column',\n // data: {\n // // requiredPermission: '',\n // },\n // },\n ],\n },\n ]);\n //\n context.find('user-profile').addItems([\n {\n name: 'my-notifications',\n text: `t('my', {scope: \"${scope}\"})`,\n icon: 'fa-light fa-bell',\n path: this.entityService.createPath(moduleName, 'my-notification'),\n data: {\n // requiredPermission: '',\n },\n },\n ]);\n }\n}\n","import { AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/core';\nimport { computed, effect, inject, Injectable, signal } from '@angular/core';\nimport { AXMNotificationEntityService } from '../../entities/notification';\nimport { AXMNotificationManagementNotificationEntityModel } from '../../entities/notification/notification.types';\nimport {\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationResponse,\n} from '../../notification-management.type';\n\n/**\n * Signal store that provides a reactive interface for notification-related operations\n * Acts as a layer between notification components and the entity service\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMNotificationConnectorService {\n private readonly notificationService = inject(AXMNotificationEntityService);\n\n // State signals\n private readonly isLoading = signal<boolean>(false);\n private readonly error = signal<string | null>(null);\n private readonly notifications = signal<AXMNotificationItem[]>([]);\n private readonly totalCount = signal<number>(0);\n\n // Public computed signals\n readonly loading = computed(() => this.isLoading());\n readonly errorMessage = computed(() => this.error());\n readonly notificationList = computed(() => this.notifications());\n readonly total = computed(() => this.totalCount());\n readonly unreadCount = computed(\n () => this.notifications().filter((notification) => notification.readAt === null).length\n );\n\n // Effects\n constructor() {\n // Auto-fetch notifications when service is initialized\n effect(() => {\n this.getList();\n });\n }\n\n // Methods from entity service with additional state management\n\n /**\n * Get list of notifications\n */\n async getList(): Promise<AXMNotificationResponse> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const response = await this.notificationService.getList();\n\n this.notifications.set(response.items);\n this.totalCount.set(response.total);\n\n return response;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to fetch notifications');\n return { total: 0, items: [] };\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Mark notifications as read or toggle read status\n * If no specific IDs are provided, mark all as read\n * If specific IDs are provided, toggle their read status (mark as read if unread, mark as unread if read)\n */\n async markAsRead(payload: AXMNotificationMarkAsReadRequest = { id: [] }): Promise<void> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n await this.notificationService.markAsRead(payload);\n\n // Update local state to reflect toggled read status\n if (payload?.id?.length) {\n // Toggle read status for specific notifications\n this.notifications.update((notifications) =>\n notifications.map((notification) => {\n if (payload.id.includes(notification.id)) {\n // Toggle read status\n return {\n ...notification,\n readAt: notification.readAt ? null : new Date(),\n };\n }\n return notification;\n })\n );\n } else {\n // If no specific IDs are provided, mark all unread notifications as read\n this.notifications.update((notifications) =>\n notifications.map((notification) =>\n notification.readAt ? notification : { ...notification, readAt: new Date() }\n )\n );\n }\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to mark notifications as read');\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Create a new notification\n */\n async create(payload?: AXMNotificationItem): Promise<void> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n await this.notificationService.create(payload);\n\n // Refresh list after creating a notification\n await this.getList();\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to create notification');\n } finally {\n this.isLoading.set(false);\n }\n }\n\n // Methods from AXMEntityCrudServiceImpl\n\n /**\n * Insert one notification\n */\n async insertOne(request: Omit<AXMNotificationManagementNotificationEntityModel, 'id'>): Promise<string> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const id = await this.notificationService.insertOne(request);\n\n // Refresh list after inserting\n await this.getList();\n\n return id;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to insert notification');\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Get one notification by id\n */\n async getOne(id: string): Promise<AXMNotificationManagementNotificationEntityModel> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n return await this.notificationService.getOne(id);\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : `Failed to get notification with id ${id}`);\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Delete one notification\n */\n async deleteOne(id: string): Promise<void> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n await this.notificationService.deleteOne(id);\n\n // Update local state to remove deleted notification\n this.notifications.update((notifications) => notifications.filter((notification) => notification.id !== id));\n\n // Update total count\n this.totalCount.update((count) => count - 1);\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : `Failed to delete notification with id ${id}`);\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Update one notification\n */\n async updateOne(\n id: string,\n values: Partial<AXMNotificationManagementNotificationEntityModel>\n ): Promise<AXMNotificationManagementNotificationEntityModel> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const updated = await this.notificationService.updateOne(id, values);\n\n // Update local state to reflect changes\n this.notifications.update((notifications) =>\n notifications.map((notification) =>\n notification.id === id ? ({ ...notification, ...values } as AXMNotificationItem) : notification\n )\n );\n\n return updated;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : `Failed to update notification with id ${id}`);\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Query notifications\n */\n async query(\n request: AXPQueryRequest = { skip: 0, take: 100 }\n ): Promise<AXPPagedListResult<AXMNotificationManagementNotificationEntityModel>> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const result = await this.notificationService.query(request);\n\n // Update local state with query results\n this.notifications.set(result.items as unknown as AXMNotificationItem[]);\n this.totalCount.set(result.total);\n\n return result;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to query notifications');\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { AXMNotificationItem } from '../../../notification-management.type';\n\n@Component({\n selector: 'axp-master-notification-item',\n templateUrl: './admin-notification-item.component.html',\n styleUrls: ['./admin-notification-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXPUserAvatarComponent,\n AXImageModule,\n AXBadgeModule,\n AXFormatModule,\n ],\n})\nexport class AXMAdminNotificationItemComponent {\n data = input.required<AXMNotificationItem>();\n onPressNotificationItem = output<string>();\n\n differentTime = computed<number>(() => Date.now() - this.data().createAt.getTime());\n\n pressNotificationItem(id: string) {\n this.onPressNotificationItem.emit(id);\n }\n}\n","<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 <axp-user-avatar [size]=\"40\" [userId]=\"data().user.id\"></axp-user-avatar>\n <div>\n <div class=\"notification-item-title\">{{ data().user.name || data().title }}</div>\n <div class=\"notification-item-title\">{{ data().user.name || data().title }}</div>\n <div class=\"notification-item-body\">{{ data().body }}</div>\n <!-- @if(false){\n <div>\n <div class=\"notification-file\">\n <ax-avatar color=\"primary\">\n <ax-icon>\n <i class=\"fa-solid fa-file-word ax-text-2xl\"></i>\n </ax-icon>\n </ax-avatar>\n <div>\n <div class=\"notification-file-name\">New project details.docx</div>\n <div class=\"notification-file-size\">250 KB</div>\n </div>\n <ax-button look=\"blank\">\n <ax-icon>\n <i class=\"fa-solid fa-download\"></i>\n </ax-icon>\n </ax-button>\n </div>\n </div>\n } -->\n <div class=\"notification-item-time\">{{ differentTime() | format : 'timeleft' | async }}</div>\n </div>\n @if(!data().template.isPinned){\n <div class=\"pin-notification ltr:ax-rotate-45 rtl:ax-left-0 rtl:-ax-rotate-45 ltr:ax-right-0\">\n <ax-icon>\n <i class=\"fa-solid fa-thumbtack\"></i>\n </ax-icon>\n </div>\n }\n</div>\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, OnInit, output, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXMNotificationCategory, AXMNotificationItem } from '../../../notification-management.type';\nimport { AXMNotificationConnectorService } from '../../shared/notification-connector.service';\nimport { AXMAdminNotificationItemComponent } from '../admin-notification-item/admin-notification-item.component';\n@Component({\n selector: 'axm-admin-notification-panel',\n templateUrl: './admin-notification-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXTabsModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXPopoverModule,\n AXMAdminNotificationItemComponent,\n AXFormatModule,\n ],\n})\nexport class AXMAdminNotificationPanelComponent implements OnInit {\n onNewNotfication = output<number>();\n\n private notificationConnector = inject(AXMNotificationConnectorService);\n private toastService = inject(AXToastService);\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n\n // Use store's signals directly\n protected readonly notifications = this.notificationConnector.notificationList;\n protected readonly totalNotifications = this.notificationConnector.total;\n protected readonly isLoading = this.notificationConnector.loading;\n protected readonly errorMessage = this.notificationConnector.errorMessage;\n\n activeTab = signal<AXMTabDataText>('All');\n\n tabItems = computed<AXTabData[]>(() => this.getTabItems(this.notifications()), {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n\n changeActiveTab(tab: AXMTabDataText) {\n this.activeTab.set(tab);\n }\n\n NewNotification = computed<number>(() => this.getNewNotification(this.tabItems()));\n NewNotificationEffect = effect(() => this.onNewNotfication.emit(this.NewNotification()));\n\n ngOnInit(): void {\n this.loadNotification();\n }\n\n private async loadNotification() {\n try {\n await this.notificationConnector.getList();\n } catch (error) {\n this.toastService.show({\n content: typeof error === 'string' ? error : 'Failed to load notifications!',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n }\n\n private getTabItems(notifications: AXMNotificationItem[] | undefined): AXTabData[] {\n if (!notifications) {\n return [\n {\n text: 'All',\n count: 0,\n },\n ];\n }\n const categoryCountMap = new Map<AXMTabDataText, number>();\n notifications.forEach((notification) => {\n const category = notification.template.category;\n if (!categoryCountMap.has(category)) {\n categoryCountMap.set(category, 0);\n }\n if (!notification.readAt) {\n categoryCountMap.set(category, categoryCountMap.get(category)! + 1);\n }\n });\n const tabItems = Array.from(categoryCountMap.entries()).map(([category, count]) => ({\n text: category,\n count: count,\n }));\n const totalCount = Array.from(categoryCountMap.values()).reduce((a, b) => a + b, 0);\n tabItems.unshift({\n text: 'All',\n count: totalCount,\n });\n return tabItems;\n }\n\n private getNewNotification(data: AXTabData[]): number {\n const total = data.filter((tab) => tab.text !== 'All').reduce((sum, tab) => sum + tab.count, 0);\n return total;\n }\n\n protected getNotificationItems(category: AXMTabDataText) {\n if (category === 'All') {\n return this.notifications();\n } else {\n return this.notifications()?.filter((item) => item.template.category === category) as AXMNotificationItem[];\n }\n }\n\n /**\n * Mark a notification as read or unread (toggle read status)\n */\n protected async markAsRead(id: string): Promise<void> {\n try {\n await this.notificationConnector.markAsRead({ id: [id] });\n } catch (error) {\n console.error('Failed to toggle notification read status:', error);\n }\n }\n\n /**\n * Mark all unread notifications as read\n */\n protected async markAllAsRead() {\n try {\n await this.notificationConnector.markAsRead({ id: [] });\n } catch (error) {\n console.error('Failed to mark all notifications as read:', error);\n }\n }\n\n protected viewAllNotifications(): void {\n this.router.navigate([`${this.sessionService.application?.name}/m/notification-management/e/my-notification/list`]);\n }\n}\n\ninterface AXTabData {\n text: AXMTabDataText;\n count: number;\n}\ntype AXMTabDataText = AXMNotificationCategory | 'All';\n","<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){\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] ax-overflow-y-auto\">\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 </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","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { AXMAdminNotificationPanelComponent } from '../admin-notification-panel/admin-notification-panel.component';\n@Component({\n templateUrl: './admin-notification-slot.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXPopoverModule,\n AXMAdminNotificationPanelComponent,\n ],\n})\nexport class AXMAdminNotificationSlotComponent {\n totalNewNotification = signal<number>(0);\n setTotalNewNotification(value: number): void {\n this.totalNewNotification.set(value);\n }\n}\n","<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","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityLoader implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n return new Promise(async (resolve) => {\n switch (entityName) {\n case RootConfig.entities.template.name: {\n const entity = (await import('./entities/template/template.entity')).notificationTemplateEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n case RootConfig.entities.channel.name: {\n const entity = (await import('./entities/channel/channel.entity')).notificationChannelEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n //TODO: Add your custom entity here\n case 'my-notification': {\n const entity = (await import('./entities/my-notification')).myNotificationEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n case RootConfig.entities.notification.name: {\n const entity = (await import('./entities/notification/notification.entity')).notificationEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n default:\n resolve(null);\n }\n });\n }\n return null;\n }\n}\n","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n inject,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n signal,\n} from '@angular/core';\nimport { AXMNotificationItem } from '../../../../notification-management.type';\nimport { AXMNotificationConnectorService } from '../../../shared/notification-connector.service';\n\n/**\n * Notification Widget Component\n * Displays notifications in a card with tabs\n */\n@Component({\n templateUrl: './notification-widget.component.html',\n styleUrls: ['./notification-widget.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n AXTabsModule,\n AXDecoratorModule,\n AXButtonModule,\n AXBadgeModule,\n AXAvatarModule,\n AXImageModule,\n AXTranslationModule,\n AXPUserAvatarComponent,\n ],\n providers: [DatePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPNotificationWidgetViewComponent extends AXPValueWidgetComponent<any> implements OnInit, OnDestroy {\n // Outputs\n notificationClick = output<AXMNotificationItem>();\n markAsRead = output<AXMNotificationItem>();\n\n // Dependencies\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly datePipe = inject(DatePipe);\n private readonly notificationConnector = inject(AXMNotificationConnectorService);\n private readonly toastService = inject(AXToastService);\n\n // State\n protected activeTab = signal<'new' | 'all'>('new');\n private refreshTimerId: number | null = null;\n\n // Configuration\n protected readonly maxItems = computed(() => this.options()?.maxItems ?? 10);\n protected readonly showAvatar = computed(() => this.options()?.showAvatar ?? true);\n protected readonly showDate = computed(() => this.options()?.showDate ?? true);\n protected readonly autoRefresh = computed(() => this.options()?.autoRefresh ?? true);\n protected readonly refreshInterval = computed(() => (this.options()?.refreshInterval ?? 60) * 1000); // Convert to milliseconds\n\n // Use store's signals directly\n protected readonly notifications = this.notificationConnector.notificationList;\n protected readonly totalNotifications = this.notificationConnector.total;\n protected readonly isLoading = this.notificationConnector.loading;\n\n // Computed data\n protected readonly notificationItems = computed(() => {\n const items = this.notifications();\n if (!items?.length) return [];\n\n // Sort by pinned status and date\n const sortedItems = [...items].sort((a, b) => {\n if (a.template.isPinned === b.template.isPinned) {\n return new Date(b.createAt).getTime() - new Date(a.createAt).getTime();\n }\n return a.template.isPinned ? -1 : 1;\n });\n\n // Filter by active tab\n const filtered = this.activeTab() === 'new' ? sortedItems.filter((n) => !n.readAt) : sortedItems;\n\n return filtered.slice(0, this.maxItems());\n });\n\n constructor() {\n super();\n\n // Watch for changes to auto-refresh settings\n effect(() => {\n this.setupAutoRefresh();\n });\n }\n\n override ngOnInit(): void {\n this.loadNotifications();\n }\n\n ngOnDestroy(): void {\n this.clearRefreshTimer();\n }\n\n /**\n * Set up auto-refresh timer based on configuration\n */\n private setupAutoRefresh(): void {\n this.clearRefreshTimer();\n\n if (this.autoRefresh()) {\n const interval = this.refreshInterval();\n this.refreshTimerId = setInterval(() => {\n this.loadNotifications();\n }, interval);\n }\n }\n\n /**\n * Clear the refresh timer if it exists\n */\n private clearRefreshTimer(): void {\n if (this.refreshTimerId !== null) {\n clearInterval(this.refreshTimerId);\n this.refreshTimerId = null;\n }\n }\n\n /**\n * Load notifications data from service\n */\n private async loadNotifications(): Promise<void> {\n try {\n await this.notificationConnector.getList();\n this.cdr.detectChanges();\n } catch (error) {\n this.toastService.show({\n content: typeof error === 'string' ? error : 'Failed to load notifications!',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n }\n\n /**\n * Manually refresh notifications\n */\n protected refreshNotifications(): void {\n this.loadNotifications();\n }\n\n /**\n * Get the count of new messages for the badge\n */\n protected getNewMessageCount(): number {\n const items = this.notifications();\n if (!items?.length) return 0;\n\n return items.filter((n) => !n.readAt).length;\n }\n\n /**\n * Handle tab change event from ax-tabs component\n * @param data The tab change event data\n */\n protected handleTabChange(data: AXTabStripChangedEvent): void {\n const index = data.index;\n // Map index to tab name: 0 = 'new', 1 = 'all'\n const tabName = index === 0 ? 'new' : 'all';\n this.onTabChange(tabName);\n }\n\n /**\n * Mark all notifications as read\n */\n protected async markAllAsRead(): Promise<void> {\n try {\n await this.notificationConnector.markAsRead({ id: [] });\n this.cdr.detectChanges();\n } catch (error) {\n this.toastService.show({\n content: 'Failed to mark notifications as read',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n });\n }\n }\n\n /**\n * Change the active tab\n */\n protected onTabChange(tabName: 'new' | 'all'): void {\n this.activeTab.set(tabName);\n this.cdr.detectChanges();\n }\n\n /**\n * Handle notification click event\n */\n protected onNotificationClick(notification: AXMNotificationItem): void {\n this.markAsReadIfNeeded(notification);\n this.notificationClick.emit(notification);\n }\n\n /**\n * Format the timestamp in a user-friendly way\n */\n protected formatTime(date: Date | string | undefined): string {\n if (!date) return '';\n\n const dateObj = typeof date === 'string' ? new Date(date) : date;\n const diffDays = this.getDaysDifference(dateObj);\n\n // Format based on how recent the date is\n if (diffDays === 0) return this.datePipe.transform(dateObj, 'h:mm a') || ''; // Today\n if (diffDays === 1) return 'Yesterday';\n if (diffDays < 7) return this.datePipe.transform(dateObj, 'EEE') || ''; // Day of week\n return this.datePipe.transform(dateObj, 'MM/DD/YYYY') || ''; // Older date\n }\n\n /**\n * Mark notification as read if needed\n */\n private async markAsReadIfNeeded(notification: AXMNotificationItem): Promise<void> {\n try {\n // Always mark as read on click if unread, but don't toggle back to unread\n if (notification.readAt) return;\n\n await this.notificationConnector.markAsRead({ id: [notification.id] });\n\n // Emit the updated notification with readAt set\n // It will be read now because we only call this for unread notifications\n const updatedNotification = {\n ...notification,\n readAt: new Date(),\n };\n this.markAsRead.emit(updatedNotification);\n this.cdr.detectChanges();\n } catch (error) {\n console.error('Failed to mark notification as read:', error);\n }\n }\n\n /**\n * Calculate days difference from now\n */\n private getDaysDifference(date: Date): number {\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n return Math.floor(diffMs / (1000 * 60 * 60 * 24));\n }\n}\n","<div class=\"ax-p-4 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]=\"('new' | translate: { scope: 'notification-management' } | async) ?? 'New'\"\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-4 ax-mt-4 ax-px-2\">\n @for (item of notificationItems(); track item.id) {\n <ng-container [ngTemplateOutlet]=\"chatItemTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\n </ng-container>\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<ng-template #chatItemTemplateRef let-data>\n <div class=\"ax-flex ax-gap-3\">\n @if (showAvatar()) {\n <axp-user-avatar [size]=\"40\" [userId]=\"data.user?.id\"></axp-user-avatar>\n }\n <div class=\"ax-overflow-hidden ax-grow ax-text-start\">\n <h6 class=\"ax-pb-2 ax-font-semibold ax-truncate\">{{ data.user?.name || data.title }}</h6>\n <p class=\"ax-text-xs ax-truncate\">{{ data.body }}</p>\n </div>\n @if (showDate()) {\n <div class=\"ax-text-xs ax-shrink-0\">\n <span>\n {{ formatTime(data.createdAt) }}\n </span>\n </div>\n }\n </div>\n</ng-template>\n","import { AXP_WIDGETS_UTILITY_CATEGORY } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetConfig, AXPWidgetGroupEnum, AXPWidgetsCatalog, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_APPEARANCE_PROPERTY_GROUP,\n AXP_DATA_PATH_PROPERTY,\n AXP_STYLING_PROPERTY_GROUP,\n} from '@acorex/platform/widgets';\n\n/**\n * Configuration for the Notification Widget\n */\nexport const AXPMyNotificationDashboardWidget: AXPWidgetConfig = {\n name: 'my-notification-dashboard',\n title: 'My Notification Widget',\n categories: [AXP_WIDGETS_UTILITY_CATEGORY],\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n type: 'dashboard',\n description: 'Displays notifications in a widget format',\n icon: 'fa-regular fa-bell',\n properties: [\n cloneProperty(AXP_DATA_PATH_PROPERTY, { visible: false }),\n // ====== Title ======\n {\n name: 'title',\n title: '@notification-management:widgets.my-notification-dashboard.chart-title',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: '',\n dataType: 'string',\n interface: {\n name: 'title',\n path: 'options.title',\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'Enter chart title',\n },\n },\n },\n visible: true,\n },\n {\n name: 'maxItems',\n title: '@notification-management:widgets.my-notification-dashboard.max-items',\n description: 'Maximum number of notification items to display',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n defaultValue: 10,\n dataType: 'number',\n interface: {\n name: 'maxItems',\n path: 'options.maxItems',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 100,\n },\n },\n },\n visible: true,\n },\n {\n name: 'showAvatar',\n title: '@notification-management:widgets.my-notification-dashboard.show-avatar',\n description: 'Whether to show avatars in notifications',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: true,\n dataType: 'boolean',\n interface: {\n name: 'showAvatar',\n path: 'options.showAvatar',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'showDate',\n title: '@notification-management:widgets.my-notification-dashboard.show-date',\n description: 'Whether to show date in notifications',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: true,\n dataType: 'boolean',\n interface: {\n name: 'showDate',\n path: 'options.showDate',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'autoRefresh',\n title: '@notification-management:widgets.my-notification-dashboard.auto-refresh',\n description: 'Automatically refresh notifications at regular intervals',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: true,\n dataType: 'boolean',\n interface: {\n name: 'autoRefresh',\n path: 'options.autoRefresh',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'refreshInterval',\n title: '@notification-management:widgets.my-notification-dashboard.refresh-interval',\n description: 'Interval in seconds between automatic refreshes',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: 60,\n dataType: 'number',\n interface: {\n name: 'refreshInterval',\n path: 'options.refreshInterval',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 10,\n maxValue: 3600,\n },\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./notification-widget.component').then((c) => c.AXPNotificationWidgetViewComponent),\n },\n },\n meta: {\n dimensions: {\n width: 3,\n height: 5,\n minWidth: 2,\n minHeight: 4,\n maxWidth: 4,\n maxHeight: 7,\n },\n },\n};\n","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { AXMAdminNotificationSlotComponent } from './features/components/admin-notification-slot/admin-notification-slot.component';\nimport {\n AXMNotificationManagementChannelEntityService,\n AXMNotificationManagementChannelEntityServiceImpl,\n} from './entities/channel/channel.service';\nimport { AXMNotificationEntityService, AXMNotificationEntityServiceImpl } from './entities/notification';\nimport {\n AXMNotificationManagementTemplateEntityService,\n AXMNotificationManagementTemplateEntityServiceImpl,\n} from './entities/template/template.service';\nimport { AXMEntityLoader } from './entity.provider';\nimport { AXMNotificationManagmentModuleMenuProvider } from './menu.provider';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPMyNotificationDashboardWidget } from './features/dashboard/widgets/my-notification';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\n\n@NgModule({\n imports: [\n AXPComponentSlotModule.forChild({\n 'header-end': [\n {\n name: 'notification',\n component: AXMAdminNotificationSlotComponent,\n },\n ],\n }),\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPMyNotificationDashboardWidget,\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMNotificationManagementTemplateEntityService,\n useClass: AXMNotificationManagementTemplateEntityServiceImpl,\n },\n {\n provide: AXMNotificationManagementChannelEntityService,\n useClass: AXMNotificationManagementChannelEntityServiceImpl,\n },\n {\n provide: AXMNotificationEntityService,\n useClass: AXMNotificationEntityServiceImpl,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityLoader,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMNotificationManagmentModuleMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n ],\n})\nexport class AXMNotificationManagementModule { }\n","export enum AXPSettingKeys {\n // SMTP Settings\n Server = 'notification:email:server',\n Port = 'notification:email:port',\n Username = 'notification:email:username',\n Password = 'notification:email:password',\n FromAddress = 'notification:email:fromAddress',\n UseSSL = 'notification:email:useSSL',\n UseTLS = 'notification:email:useTLS',\n\n // Telegram Settings\n TelegramToken = 'notification:telegram:token',\n TelegramChatId = 'notification:telegram:chatId',\n\n // WhatsApp Settings\n WhatsAppApiUrl = 'notification:whatsapp:apiUrl',\n WhatsAppAuthToken = 'notification:whatsapp:authToken',\n\n // Firebase Settings\n FirebaseApiKey = 'notification:firebase:apiKey',\n FirebaseProjectId = 'notification:firebase:projectId',\n FirebaseSenderId = 'notification:firebase:senderId',\n FirebaseAppId = 'notification:firebase:appId',\n}\n","import { RootConfig } from '@acorex/modules/form-template-management';\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPSettingKeys } from './settings.keys';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Injector } from '@angular/core';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n private readonly translateService = this.injector.get(AXTranslationService);\n\n constructor(private injector: Injector) { }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const trans = async (key: string) => await this.translateService.translateAsync(`settings.notification-settings.${key}`, { scope: 'notification-management' });\n\n context\n // Add Notification Settings Group\n .addGroup(\n 'notification-settings',\n await trans('title'),\n await trans('description'),\n RootConfig.module.icon\n )\n\n // SMTP Settings Section\n .addSection('smtp-settings', await trans('smtp.title'), await trans('smtp.description'))\n .addSetting({\n key: AXPSettingKeys.Server,\n title: await trans('smtp.server.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('smtp.server.description'),\n })\n .addSetting({\n key: AXPSettingKeys.Port,\n title: await trans('smtp.port.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: 587,\n widget: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n minValue: 1,\n maxValue: 65535,\n },\n },\n description: await trans('smtp.port.description'),\n })\n .addSetting({\n key: AXPSettingKeys.Username,\n title: await trans('smtp.username.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('smtp.username.description'),\n })\n .addSetting({\n key: AXPSettingKeys.Password,\n title: await trans('smtp.password.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.PasswordBox,\n },\n description: await trans('smtp.password.description'),\n })\n .addSetting({\n key: AXPSettingKeys.UseSSL,\n title: await trans('smtp.ssl.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: await trans('smtp.ssl.description'),\n })\n .addSetting({\n key: AXPSettingKeys.UseTLS,\n title: await trans('smtp.tls.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: await trans('smtp.tls.description'),\n })\n .endSection()\n\n // Telegram Settings Section\n .addSection('telegram-settings', await trans('telegram.title'), await trans('telegram.description'))\n .addSetting({\n key: AXPSettingKeys.TelegramToken,\n title: await trans('telegram.token.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('telegram.token.description'),\n })\n .addSetting({\n key: AXPSettingKeys.TelegramChatId,\n title: await trans('telegram.chat-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('telegram.chat-id.description'),\n })\n .endSection()\n\n // WhatsApp Settings Section\n .addSection('whatsapp-settings', await trans('whatsapp.title'), await trans('whatsapp.description'))\n .addSetting({\n key: AXPSettingKeys.WhatsAppApiUrl,\n title: await trans('whatsapp.api-url.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('whatsapp.api-url.description'),\n })\n .addSetting({\n key: AXPSettingKeys.WhatsAppAuthToken,\n title: await trans('whatsapp.auth-token.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.PasswordBox,\n },\n description: await trans('whatsapp.auth-token.description'),\n })\n .endSection()\n\n // Firebase Settings Section\n .addSection('firebase-settings', await trans('firebase.title'), await trans('firebase.description'))\n .addSetting({\n key: AXPSettingKeys.FirebaseApiKey,\n title: await trans('firebase.api-key.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.api-key.description'),\n })\n .addSetting({\n key: AXPSettingKeys.FirebaseProjectId,\n title: await trans('firebase.project-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.project-id.description'),\n })\n .addSetting({\n key: AXPSettingKeys.FirebaseSenderId,\n title: await trans('firebase.sender-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.sender-id.description'),\n })\n .addSetting({\n key: AXPSettingKeys.FirebaseAppId,\n title: await trans('firebase.app-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.app-id.description'),\n })\n .endSection()\n\n // End Notification Settings Group\n .endGroup();\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPEntityDataProviderImpl, AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { Injector } from '@angular/core';\n\nexport async function myNotificationEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const storageService = injector.get(AXPEntityStorageService);\n const dataProvider = new AXPEntityDataProviderImpl<any>(storageService, 'notifications');\n const moduleName = 'notification-management';\n const scope = `#${moduleName}`;\n\n const entityDef: AXPEntity = {\n module: moduleName,\n name: 'notification',\n source: 'notification-management.notification',\n title: `t('my',{scope: 'notification-management'})`,\n formats: {\n individual: `t('my',{scope: 'notification-management'})`,\n plural: `t('my',{scope: 'notification-management'})`,\n },\n groups: [\n { id: 'data', title: 'Data' },\n { id: 'content', title: 'Content' },\n { id: 'action', title: 'Action' },\n { id: 'user', title: 'User' },\n { id: 'template', title: 'Template' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'data',\n schema: {\n dataType: 'string',\n hidden: true,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'body',\n title: 't(\"body\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n },\n },\n },\n {\n name: 'channel',\n title: 't(\"channel\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['InApp', 'Email', 'SMS'], multiple: false },\n },\n },\n },\n {\n name: 'content.type',\n title: 't(\"content.type\", { scope: \"common\" })',\n groupId: 'content',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n },\n {\n name: 'action.type',\n title: 't(\"action.type\", { scope: \"common\" })',\n groupId: 'action',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['Link', 'Entity', 'Popup'], multiple: false },\n },\n },\n },\n {\n name: 'User.name',\n title: 't(\"User.name\", { scope: \"common\" })',\n groupId: 'user',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n\n {\n name: 'template.category',\n title: 't(\"template.category\", { scope: \"common\" })',\n groupId: 'template',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['Inbox', 'Archive'], multiple: false },\n },\n },\n },\n {\n name: 'template.prority',\n title: 't(\"template.prority\", { scope: \"common\" })',\n groupId: 'template',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['Warning', 'Danger', 'Notice'], multiple: false },\n },\n },\n },\n {\n name: 'template.isPinned',\n title: 't(\"template.isPinned\", { scope: \"common\" })',\n groupId: 'template',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.checkbox,\n options: {\n label: 'Is Pinned',\n },\n },\n },\n },\n {\n name: 'readAt',\n title: 't(\"readAt\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'datetime',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: { format: 'date' },\n },\n },\n },\n {\n name: 'createAt',\n title: 't(\"createAt\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'datetime',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: { format: 'date' },\n },\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'body' },\n { name: 'channel' },\n { name: 'user.name' },\n { name: 'template.category' },\n { name: 'template.prority' },\n { name: 'createAt' },\n { name: 'readAt' },\n ],\n commands: {\n create: {\n execute: async (data: any) => {\n console.log('CREATE', data);\n const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });\n await dataProvider.insertOne(entity);\n return entity;\n },\n },\n delete: {\n execute: async (id: any) => {\n console.log('CREATE', id);\n await dataProvider.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n await dataProvider.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataProvider.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n const list = await dataProvider.getAll();\n return {\n total: list.length,\n items: list.slice(e.skip, e.skip + e.take),\n };\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n list: {\n actions: [\n {\n title: 'Delete',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n ],\n views: [{ name: 'all', title: 'All Notifications', fixed: true, columns: [], conditions: [], sorts: [] }],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../const';\nimport { AXMNotificationManagementChannelEntityService } from './channel/channel.service';\n\nexport async function notificationLogEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationManagementChannelEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: 'notification-management',\n name: 'notification',\n source: 'notification-management.notificationLog',\n title: 'Notification',\n formats: {\n individual: 'NotificationLog',\n plural: 'NotificationLogs',\n },\n relatedEntities: [],\n groups: [\n {\n id: 'notification',\n title: 'Notification',\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'status',\n title: `t(\"status\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }, { name: 'body' }, { name: 'user.name' }, { name: 'channel' }],\n queries: {\n byKey: {\n execute: async (id: string) => {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const entity = await dataService.getOne(id);\n resolve(entity);\n }, 500);\n });\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notification',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'user.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["RootConfigTextTemplate","i2","i3","i1","RootConfig"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-modules-notification-management.mjs","sources":["../../../../libs/modules/notification-management/src/lib/const.ts","../../../../libs/modules/notification-management/src/lib/entities/channel/channel.service.ts","../../../../libs/modules/notification-management/src/lib/entities/channel/channel.entity.ts","../../../../libs/modules/notification-management/src/lib/entities/notification/notification.service.ts","../../../../libs/modules/notification-management/src/lib/entities/notification/notification.entity.ts","../../../../libs/modules/notification-management/src/lib/entities/template/template.service.ts","../../../../libs/modules/notification-management/src/lib/entities/template/template.entity.ts","../../../../libs/modules/notification-management/src/lib/entities/template/template.module.ts","../../../../libs/modules/notification-management/src/lib/menu.provider.ts","../../../../libs/modules/notification-management/src/lib/features/shared/notification-connector.service.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-item/admin-notification-item.component.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-item/admin-notification-item.component.html","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-panel/admin-notification-panel.component.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-panel/admin-notification-panel.component.html","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-slot/admin-notification-slot.component.ts","../../../../libs/modules/notification-management/src/lib/features/components/admin-notification-slot/admin-notification-slot.component.html","../../../../libs/modules/notification-management/src/lib/entity.provider.ts","../../../../libs/modules/notification-management/src/lib/features/dashboard/widgets/my-notification/notification-widget.component.ts","../../../../libs/modules/notification-management/src/lib/features/dashboard/widgets/my-notification/notification-widget.component.html","../../../../libs/modules/notification-management/src/lib/features/dashboard/widgets/my-notification/notification-widget.config.ts","../../../../libs/modules/notification-management/src/lib/notification-management.module.ts","../../../../libs/modules/notification-management/src/lib/settings.keys.ts","../../../../libs/modules/notification-management/src/lib/settings.provider.ts","../../../../libs/modules/notification-management/src/lib/entities/my-notification.ts","../../../../libs/modules/notification-management/src/lib/entities/notification-log.entity.ts","../../../../libs/modules/notification-management/src/acorex-modules-notification-management.ts"],"sourcesContent":["const config = {\n i18n: 'notification-management',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'notification-management',\n name: 'NotificationManagement',\n title: `t('module-name', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-bell',\n },\n entities: {\n channel: {\n name: 'Channels',\n title: `t(\"channel\", {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-list',\n },\n template: {\n name: 'Templates',\n title: `t(\"template\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-code',\n },\n notification: {\n name: 'Notifications',\n title: `t(\"notification\",{scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-code',\n },\n },\n};\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementChannelEntityModel } from './channel.types';\n\nexport abstract class AXMNotificationManagementChannelEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMNotificationManagementChannelEntityModel\n> {}\n\n@Injectable()\nexport class AXMNotificationManagementChannelEntityServiceImpl extends AXMNotificationManagementChannelEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.channel.name}`);\n }\n}\n","import { RootConfig as RootConfigTextTemplate } from '@acorex/modules/text-template-management';\nimport { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementChannelEntityService } from './channel.service';\n\nexport async function notificationChannelEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationManagementChannelEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.channel.name,\n source: '',\n title: RootConfig.entities.channel.title,\n formats: {\n individual: `t(\"channel\", { scope: \"${i18n}\" })`,\n plural: `t(\"channels\", { scope: \"${i18n}\" })`,\n },\n relatedEntities: [],\n groups: [\n {\n id: 'notificationChannel',\n title: 'Notification Channel',\n },\n {\n id: 'in-app',\n title: 'In App',\n },\n ],\n properties: [\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'template',\n title: `t(\"template\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfigTextTemplate.module.name}.${RootConfigTextTemplate.entities.template.name}`,\n expose: { source: 'content', target: 'body' },\n },\n },\n },\n },\n {\n name: 'body',\n title: `t(\"body\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'imageId',\n title: `t(\"body\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.file,\n options: {\n multiple: false,\n },\n },\n },\n },\n {\n name: 'channel',\n title: `t(\"channel\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'SMS', name: 'sms' },\n { title: 'Email', name: 'email' },\n { title: 'In App', name: 'inApp' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: `t(\"type\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Notification', name: 'notification' },\n { title: 'Promotion', name: 'promotion' },\n { title: 'PopUp', name: 'popup' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n },\n {\n name: 'contentType',\n title: `t(\"contentType\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Media', name: 'media' },\n { title: 'Text', name: 'text' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'shape',\n title: `t(\"shape\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Circle', name: 'circle' },\n { title: 'Square', name: 'square' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'placement',\n title: `t(\"placement\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'name',\n textField: 'title',\n dataSource: [\n { title: 'Side Menu Footer', name: 'side-menu-footer' },\n { title: 'Side Menu Header', name: 'side-menu-header' },\n ],\n direction: 'horizontal',\n multiple: false,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'pin',\n title: `t(\"pin\", { scope: \"${i18n}\" })`,\n groupId: 'in-app',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.checkbox,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'trigger',\n title: `t(\"trigger\", { scope: \"${i18n}\" })`,\n groupId: 'notificationChannel',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.cronJob,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'title' }, { name: 'body' }, { name: 'channel' }],\n commands: {\n create: {\n execute: async (data: any) => {\n console.log(data);\n\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'notificationChannel',\n },\n {\n id: 'in-app',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'imageId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'trigger',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 10,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'contentType',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'shape',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'placement',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 6,\n },\n },\n },\n },\n {\n name: 'pin',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'notificationChannel',\n },\n {\n id: 'in-app',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 1,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'imageId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'trigger',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 10,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'contentType',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'shape',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'placement',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 6,\n },\n },\n },\n },\n {\n name: 'pin',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notificationChannel',\n },\n {\n id: 'in-app',\n },\n ],\n properties: [\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'imageId',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 2,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'template',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'trigger',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 10,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n order: 3,\n },\n },\n },\n },\n {\n name: 'contentType',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 4,\n },\n },\n },\n },\n {\n name: 'shape',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 5,\n },\n },\n },\n },\n {\n name: 'placement',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n order: 6,\n },\n },\n },\n },\n {\n name: 'pin',\n layout: {\n positions: {\n lg: {\n colSpan: 4,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport {\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationResponse,\n} from '../../notification-management.type';\nimport { AXMNotificationManagementNotificationEntityModel } from './notification.types';\n\nexport abstract class AXMNotificationEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMNotificationManagementNotificationEntityModel\n> {\n abstract getList(): Promise<AXMNotificationResponse>;\n abstract markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void>;\n abstract create(payload?: AXMNotificationItem): Promise<void>;\n}\n\n@Injectable()\nexport class AXMNotificationEntityServiceImpl extends AXMNotificationEntityService {\n override getList(): Promise<AXMNotificationResponse> {\n throw new Error('Method not implemented.');\n }\n override markAsRead(payload?: AXMNotificationMarkAsReadRequest): Promise<void> {\n throw new Error('Method not implemented.');\n }\n override create(payload?: AXMNotificationItem): Promise<void> {\n throw new Error('Method not implemented.');\n }\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.notification.name}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationEntityService } from './notification.service';\n\nexport async function notificationEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.notification.name,\n source: '',\n title: RootConfig.entities.notification.title,\n formats: {\n individual: `t(\"notifications\",{scope: \"${i18n}\"})`,\n plural: `t(\"notifications\",{scope: \"notification-management\"})`,\n },\n relatedEntities: [\n {\n entity: 'notification-management.notificationLog',\n columns: ['title', 'status'],\n },\n ],\n groups: [\n {\n id: 'notification',\n title: 'Notification',\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'body',\n title: `t(\"body\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'channel',\n title: `t(\"channel\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'user.name',\n title: `t(\"user.name\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n ],\n columns: [{ name: 'title' }, { name: 'body' }, { name: 'user.name' }, { name: 'channel' }],\n queries: {\n byKey: {\n execute: async (id: string) => {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const entity = await dataService.getOne(id);\n resolve(entity);\n }, 500);\n });\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notification',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'user.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementTemplateEntityModel } from './template.types';\n\nexport abstract class AXMNotificationManagementTemplateEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMNotificationManagementTemplateEntityModel\n> {}\n\n@Injectable()\nexport class AXMNotificationManagementTemplateEntityServiceImpl extends AXMNotificationManagementTemplateEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.template.name}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMNotificationManagementTemplateEntityService } from './template.service';\n\nexport async function notificationTemplateEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationManagementTemplateEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.template.name,\n source: '',\n title: RootConfig.entities.template.title,\n formats: {\n individual: 't(\"template\",{scope: \"notification-management\"})',\n plural: 't(\"template\",{scope: \"notification-management\"})',\n },\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.channel.name}`,\n columns: ['title', 'body', 'channel'],\n conditions: [\n {\n name: 'notificationId',\n operator: {\n type: 'equal',\n },\n value: 'id',\n },\n ],\n },\n ],\n groups: [\n {\n id: 'notification',\n title: `t(\"title\", { scope: \"common\" })`,\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"common\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"common\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'description',\n title: `t(\"description\", { scope: \"common\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'notification',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'notification',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notification',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'description',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMNotificationManagementTemplateEntityService,\n AXMNotificationManagementTemplateEntityServiceImpl,\n} from './template.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMNotificationManagementTemplateEntityService,\n useClass: AXMNotificationManagementTemplateEntityServiceImpl,\n },\n ],\n})\nexport class AXMNotificationManagementTemplateEntityModule {}\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { firstValueFrom } from 'rxjs';\nimport { RootConfig } from './const';\n\nexport class AXMNotificationManagmentModuleMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n const scope = RootConfig.config.i18n;\n const moduleName = RootConfig.module.name;\n context.addItems([\n {\n name: moduleName,\n priority: 9001,\n text: `t('root-menu', {scope: \"${scope}\"})`,\n icon: 'fa-light fa-bells',\n data: {\n // requiredPermission: 'demo.admin.settings',\n },\n children: [\n {\n text: `t('templates', {scope: \"${scope}\"})`,\n //TODO something might be missing here notificationTemplate vs notification- template\n path: this.entityService.createPath(moduleName, RootConfig.entities.template.name),\n icon: 'fa-light fa-file-invoice',\n data: {\n // requiredPermission: '',\n },\n },\n // {\n // text: `t('reports', {scope: \"${scope}\"})`,\n // path: this.entityService.createPath(moduleName, RootConfig.entities.notification.name),\n // icon: 'fa-light fa-file-chart-column',\n // data: {\n // // requiredPermission: '',\n // },\n // },\n ],\n },\n ]);\n //\n context.find('user-profile').addItems([\n {\n name: 'my-notifications',\n text: `t('my', {scope: \"${scope}\"})`,\n icon: 'fa-light fa-bell',\n path: this.entityService.createPath(moduleName, 'my-notification'),\n data: {\n // requiredPermission: '',\n },\n },\n ]);\n }\n}\n","import { AXPPagedListResult, AXPQueryRequest } from '@acorex/platform/core';\nimport { computed, effect, inject, Injectable, signal } from '@angular/core';\nimport { AXMNotificationEntityService } from '../../entities/notification';\nimport { AXMNotificationManagementNotificationEntityModel } from '../../entities/notification/notification.types';\nimport {\n AXMNotificationItem,\n AXMNotificationMarkAsReadRequest,\n AXMNotificationResponse,\n} from '../../notification-management.type';\n\n/**\n * Signal store that provides a reactive interface for notification-related operations\n * Acts as a layer between notification components and the entity service\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMNotificationConnectorService {\n private readonly notificationService = inject(AXMNotificationEntityService);\n\n // State signals\n private readonly isLoading = signal<boolean>(false);\n private readonly error = signal<string | null>(null);\n private readonly notifications = signal<AXMNotificationItem[]>([]);\n private readonly totalCount = signal<number>(0);\n\n // Public computed signals\n readonly loading = computed(() => this.isLoading());\n readonly errorMessage = computed(() => this.error());\n readonly notificationList = computed(() => this.notifications());\n readonly total = computed(() => this.totalCount());\n readonly unreadCount = computed(\n () => this.notifications().filter((notification) => notification.readAt === null).length\n );\n\n // Effects\n constructor() {\n // Auto-fetch notifications when service is initialized\n effect(() => {\n this.getList();\n });\n }\n\n // Methods from entity service with additional state management\n\n /**\n * Get list of notifications\n */\n async getList(): Promise<AXMNotificationResponse> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const response = await this.notificationService.getList();\n\n this.notifications.set(response.items);\n this.totalCount.set(response.total);\n\n return response;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to fetch notifications');\n return { total: 0, items: [] };\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Mark notifications as read or toggle read status\n * If no specific IDs are provided, mark all as read\n * If specific IDs are provided, toggle their read status (mark as read if unread, mark as unread if read)\n */\n async markAsRead(payload: AXMNotificationMarkAsReadRequest = { id: [] }): Promise<void> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n await this.notificationService.markAsRead(payload);\n\n // Update local state to reflect toggled read status\n if (payload?.id?.length) {\n // Toggle read status for specific notifications\n this.notifications.update((notifications) =>\n notifications.map((notification) => {\n if (payload.id.includes(notification.id)) {\n // Toggle read status\n return {\n ...notification,\n readAt: notification.readAt ? null : new Date(),\n };\n }\n return notification;\n })\n );\n } else {\n // If no specific IDs are provided, mark all unread notifications as read\n this.notifications.update((notifications) =>\n notifications.map((notification) =>\n notification.readAt ? notification : { ...notification, readAt: new Date() }\n )\n );\n }\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to mark notifications as read');\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Create a new notification\n */\n async create(payload?: AXMNotificationItem): Promise<void> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n await this.notificationService.create(payload);\n\n // Refresh list after creating a notification\n await this.getList();\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to create notification');\n } finally {\n this.isLoading.set(false);\n }\n }\n\n // Methods from AXMEntityCrudServiceImpl\n\n /**\n * Insert one notification\n */\n async insertOne(request: Omit<AXMNotificationManagementNotificationEntityModel, 'id'>): Promise<string> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const id = await this.notificationService.insertOne(request);\n\n // Refresh list after inserting\n await this.getList();\n\n return id;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to insert notification');\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Get one notification by id\n */\n async getOne(id: string): Promise<AXMNotificationManagementNotificationEntityModel> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n return await this.notificationService.getOne(id);\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : `Failed to get notification with id ${id}`);\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Delete one notification\n */\n async deleteOne(id: string): Promise<void> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n await this.notificationService.deleteOne(id);\n\n // Update local state to remove deleted notification\n this.notifications.update((notifications) => notifications.filter((notification) => notification.id !== id));\n\n // Update total count\n this.totalCount.update((count) => count - 1);\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : `Failed to delete notification with id ${id}`);\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Update one notification\n */\n async updateOne(\n id: string,\n values: Partial<AXMNotificationManagementNotificationEntityModel>\n ): Promise<AXMNotificationManagementNotificationEntityModel> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const updated = await this.notificationService.updateOne(id, values);\n\n // Update local state to reflect changes\n this.notifications.update((notifications) =>\n notifications.map((notification) =>\n notification.id === id ? ({ ...notification, ...values } as AXMNotificationItem) : notification\n )\n );\n\n return updated;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : `Failed to update notification with id ${id}`);\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Query notifications\n */\n async query(\n request: AXPQueryRequest = { skip: 0, take: 100 }\n ): Promise<AXPPagedListResult<AXMNotificationManagementNotificationEntityModel>> {\n try {\n this.isLoading.set(true);\n this.error.set(null);\n\n const result = await this.notificationService.query(request);\n\n // Update local state with query results\n this.notifications.set(result.items as unknown as AXMNotificationItem[]);\n this.totalCount.set(result.total);\n\n return result;\n } catch (err) {\n this.error.set(err instanceof Error ? err.message : 'Failed to query notifications');\n throw err;\n } finally {\n this.isLoading.set(false);\n }\n }\n}\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\nimport { AXMNotificationItem } from '../../../notification-management.type';\n\n@Component({\n selector: 'axp-master-notification-item',\n templateUrl: './admin-notification-item.component.html',\n styleUrls: ['./admin-notification-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXPUserAvatarComponent,\n AXImageModule,\n AXBadgeModule,\n AXFormatModule,\n ],\n})\nexport class AXMAdminNotificationItemComponent {\n data = input.required<AXMNotificationItem>();\n onPressNotificationItem = output<string>();\n\n differentTime = computed<number>(() => Date.now() - this.data().createAt.getTime());\n\n pressNotificationItem(id: string) {\n this.onPressNotificationItem.emit(id);\n }\n}\n","<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 <axp-user-avatar [size]=\"40\" [userId]=\"data().user.id\"></axp-user-avatar>\n <div>\n <div class=\"notification-item-title\">{{ data().user.name || data().title }}</div>\n <div class=\"notification-item-title\">{{ data().user.name || data().title }}</div>\n <div class=\"notification-item-body\">{{ data().body }}</div>\n <!-- @if(false){\n <div>\n <div class=\"notification-file\">\n <ax-avatar color=\"primary\">\n <ax-icon>\n <i class=\"fa-solid fa-file-word ax-text-2xl\"></i>\n </ax-icon>\n </ax-avatar>\n <div>\n <div class=\"notification-file-name\">New project details.docx</div>\n <div class=\"notification-file-size\">250 KB</div>\n </div>\n <ax-button look=\"blank\">\n <ax-icon>\n <i class=\"fa-solid fa-download\"></i>\n </ax-icon>\n </ax-button>\n </div>\n </div>\n } -->\n <div class=\"notification-item-time\">{{ differentTime() | format : 'timeleft' | async }}</div>\n </div>\n @if(!data().template.isPinned){\n <div class=\"pin-notification ltr:ax-rotate-45 rtl:ax-left-0 rtl:-ax-rotate-45 ltr:ax-right-0\">\n <ax-icon>\n <i class=\"fa-solid fa-thumbtack\"></i>\n </ax-icon>\n </div>\n }\n</div>\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, inject, OnInit, output, signal } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AXMNotificationCategory, AXMNotificationItem } from '../../../notification-management.type';\nimport { AXMNotificationConnectorService } from '../../shared/notification-connector.service';\nimport { AXMAdminNotificationItemComponent } from '../admin-notification-item/admin-notification-item.component';\n@Component({\n selector: 'axm-admin-notification-panel',\n templateUrl: './admin-notification-panel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXTabsModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXPopoverModule,\n AXMAdminNotificationItemComponent,\n AXFormatModule,\n ],\n})\nexport class AXMAdminNotificationPanelComponent implements OnInit {\n onNewNotfication = output<number>();\n\n private notificationConnector = inject(AXMNotificationConnectorService);\n private toastService = inject(AXToastService);\n private router = inject(Router);\n private sessionService = inject(AXPSessionService);\n\n // Use store's signals directly\n protected readonly notifications = this.notificationConnector.notificationList;\n protected readonly totalNotifications = this.notificationConnector.total;\n protected readonly isLoading = this.notificationConnector.loading;\n protected readonly errorMessage = this.notificationConnector.errorMessage;\n\n activeTab = signal<AXMTabDataText>('All');\n\n tabItems = computed<AXTabData[]>(() => this.getTabItems(this.notifications()), {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n\n changeActiveTab(tab: AXMTabDataText) {\n this.activeTab.set(tab);\n }\n\n NewNotification = computed<number>(() => this.getNewNotification(this.tabItems()));\n NewNotificationEffect = effect(() => this.onNewNotfication.emit(this.NewNotification()));\n\n ngOnInit(): void {\n this.loadNotification();\n }\n\n private async loadNotification() {\n try {\n await this.notificationConnector.getList();\n } catch (error) {\n this.toastService.show({\n content: typeof error === 'string' ? error : 'Failed to load notifications!',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n }\n\n private getTabItems(notifications: AXMNotificationItem[] | undefined): AXTabData[] {\n if (!notifications) {\n return [\n {\n text: 'All',\n count: 0,\n },\n ];\n }\n const categoryCountMap = new Map<AXMTabDataText, number>();\n notifications.forEach((notification) => {\n const category = notification.template.category;\n if (!categoryCountMap.has(category)) {\n categoryCountMap.set(category, 0);\n }\n if (!notification.readAt) {\n categoryCountMap.set(category, categoryCountMap.get(category)! + 1);\n }\n });\n const tabItems = Array.from(categoryCountMap.entries()).map(([category, count]) => ({\n text: category,\n count: count,\n }));\n const totalCount = Array.from(categoryCountMap.values()).reduce((a, b) => a + b, 0);\n tabItems.unshift({\n text: 'All',\n count: totalCount,\n });\n return tabItems;\n }\n\n private getNewNotification(data: AXTabData[]): number {\n const total = data.filter((tab) => tab.text !== 'All').reduce((sum, tab) => sum + tab.count, 0);\n return total;\n }\n\n protected getNotificationItems(category: AXMTabDataText) {\n if (category === 'All') {\n return this.notifications();\n } else {\n return this.notifications()?.filter((item) => item.template.category === category) as AXMNotificationItem[];\n }\n }\n\n /**\n * Mark a notification as read or unread (toggle read status)\n */\n protected async markAsRead(id: string): Promise<void> {\n try {\n await this.notificationConnector.markAsRead({ id: [id] });\n } catch (error) {\n console.error('Failed to toggle notification read status:', error);\n }\n }\n\n /**\n * Mark all unread notifications as read\n */\n protected async markAllAsRead() {\n try {\n await this.notificationConnector.markAsRead({ id: [] });\n } catch (error) {\n console.error('Failed to mark all notifications as read:', error);\n }\n }\n\n protected viewAllNotifications(): void {\n this.router.navigate([`${this.sessionService.application?.name}/m/notification-management/e/my-notification/list`]);\n }\n}\n\ninterface AXTabData {\n text: AXMTabDataText;\n count: number;\n}\ntype AXMTabDataText = AXMNotificationCategory | 'All';\n","<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){\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] ax-overflow-y-auto\">\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 </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","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { AXMAdminNotificationPanelComponent } from '../admin-notification-panel/admin-notification-panel.component';\n@Component({\n templateUrl: './admin-notification-slot.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXPopoverModule,\n AXMAdminNotificationPanelComponent,\n ],\n})\nexport class AXMAdminNotificationSlotComponent {\n totalNewNotification = signal<number>(0);\n setTotalNewNotification(value: number): void {\n this.totalNewNotification.set(value);\n }\n}\n","<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","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityLoader implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n private injector = inject(Injector);\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n return new Promise(async (resolve) => {\n switch (entityName) {\n case RootConfig.entities.template.name: {\n const entity = (await import('./entities/template/template.entity')).notificationTemplateEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n case RootConfig.entities.channel.name: {\n const entity = (await import('./entities/channel/channel.entity')).notificationChannelEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n //TODO: Add your custom entity here\n case 'my-notification': {\n const entity = (await import('./entities/my-notification')).myNotificationEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n case RootConfig.entities.notification.name: {\n const entity = (await import('./entities/notification/notification.entity')).notificationEntityFactory;\n resolve(entity(this.injector));\n break;\n }\n default:\n resolve(null);\n }\n });\n }\n return null;\n }\n}\n","import { AXAvatarModule } from '@acorex/components/avatar';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXTabsModule, AXTabStripChangedEvent } from '@acorex/components/tabs';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPValueWidgetComponent } from '@acorex/platform/layout/builder';\nimport { AXPUserAvatarComponent } from '@acorex/platform/layout/components';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n effect,\n inject,\n NgZone,\n OnDestroy,\n OnInit,\n output,\n signal,\n} from '@angular/core';\nimport { AXMNotificationItem } from '../../../../notification-management.type';\nimport { AXMNotificationConnectorService } from '../../../shared/notification-connector.service';\n\n/**\n * Notification Widget Component\n * Displays notifications in a card with tabs\n */\n@Component({\n templateUrl: './notification-widget.component.html',\n styleUrls: ['./notification-widget.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n AXTabsModule,\n AXDecoratorModule,\n AXButtonModule,\n AXBadgeModule,\n AXAvatarModule,\n AXImageModule,\n AXTranslationModule,\n AXPUserAvatarComponent,\n ],\n providers: [DatePipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPNotificationWidgetViewComponent extends AXPValueWidgetComponent<any> implements OnInit, OnDestroy {\n // Outputs\n notificationClick = output<AXMNotificationItem>();\n markAsRead = output<AXMNotificationItem>();\n\n // Dependencies\n private readonly cdr = inject(ChangeDetectorRef);\n private readonly datePipe = inject(DatePipe);\n private readonly notificationConnector = inject(AXMNotificationConnectorService);\n private readonly toastService = inject(AXToastService);\n\n // State\n protected activeTab = signal<'new' | 'all'>('new');\n private refreshTimerId: number | null = null;\n\n // Configuration\n protected readonly maxItems = computed(() => this.options()?.maxItems ?? 10);\n protected readonly showAvatar = computed(() => this.options()?.showAvatar ?? true);\n protected readonly showDate = computed(() => this.options()?.showDate ?? true);\n protected readonly autoRefresh = computed(() => this.options()?.autoRefresh ?? true);\n protected readonly refreshInterval = computed(() => (this.options()?.refreshInterval ?? 60) * 1000); // Convert to milliseconds\n\n // Use store's signals directly\n protected readonly notifications = this.notificationConnector.notificationList;\n protected readonly totalNotifications = this.notificationConnector.total;\n protected readonly isLoading = this.notificationConnector.loading;\n\n // Computed data\n protected readonly notificationItems = computed(() => {\n const items = this.notifications();\n if (!items?.length) return [];\n\n // Sort by pinned status and date\n const sortedItems = [...items].sort((a, b) => {\n if (a.template.isPinned === b.template.isPinned) {\n return new Date(b.createAt).getTime() - new Date(a.createAt).getTime();\n }\n return a.template.isPinned ? -1 : 1;\n });\n\n // Filter by active tab\n const filtered = this.activeTab() === 'new' ? sortedItems.filter((n) => !n.readAt) : sortedItems;\n\n return filtered.slice(0, this.maxItems());\n });\n\n constructor() {\n super();\n\n // Watch for changes to auto-refresh settings\n effect(() => {\n this.setupAutoRefresh();\n });\n }\n\n override ngOnInit(): void {\n this.loadNotifications();\n }\n\n ngOnDestroy(): void {\n this.clearRefreshTimer();\n }\n\n /**\n * Set up auto-refresh timer based on configuration\n */\n private setupAutoRefresh(): void {\n this.clearRefreshTimer();\n\n if (this.autoRefresh()) {\n const interval = this.refreshInterval();\n this.refreshTimerId = setInterval(() => {\n this.loadNotifications();\n }, interval);\n }\n }\n\n /**\n * Clear the refresh timer if it exists\n */\n private clearRefreshTimer(): void {\n if (this.refreshTimerId !== null) {\n clearInterval(this.refreshTimerId);\n this.refreshTimerId = null;\n }\n }\n\n /**\n * Load notifications data from service\n */\n private async loadNotifications(): Promise<void> {\n try {\n await this.notificationConnector.getList();\n this.cdr.detectChanges();\n } catch (error) {\n this.toastService.show({\n content: typeof error === 'string' ? error : 'Failed to load notifications!',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n }\n }\n\n /**\n * Manually refresh notifications\n */\n protected refreshNotifications(): void {\n this.loadNotifications();\n }\n\n /**\n * Get the count of new messages for the badge\n */\n protected getNewMessageCount(): number {\n const items = this.notifications();\n if (!items?.length) return 0;\n\n return items.filter((n) => !n.readAt).length;\n }\n\n /**\n * Handle tab change event from ax-tabs component\n * @param data The tab change event data\n */\n protected handleTabChange(data: AXTabStripChangedEvent): void {\n const index = data.index;\n // Map index to tab name: 0 = 'new', 1 = 'all'\n const tabName = index === 0 ? 'new' : 'all';\n this.onTabChange(tabName);\n }\n\n /**\n * Mark all notifications as read\n */\n protected async markAllAsRead(): Promise<void> {\n try {\n await this.notificationConnector.markAsRead({ id: [] });\n this.cdr.detectChanges();\n } catch (error) {\n this.toastService.show({\n content: 'Failed to mark notifications as read',\n color: 'danger',\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n });\n }\n }\n\n /**\n * Change the active tab\n */\n protected onTabChange(tabName: 'new' | 'all'): void {\n this.activeTab.set(tabName);\n this.cdr.detectChanges();\n }\n\n /**\n * Handle notification click event\n */\n protected onNotificationClick(notification: AXMNotificationItem): void {\n this.markAsReadIfNeeded(notification);\n this.notificationClick.emit(notification);\n }\n\n /**\n * Format the timestamp in a user-friendly way\n */\n protected formatTime(date: Date | string | undefined): string {\n if (!date) return '';\n\n const dateObj = typeof date === 'string' ? new Date(date) : date;\n const diffDays = this.getDaysDifference(dateObj);\n\n // Format based on how recent the date is\n if (diffDays === 0) return this.datePipe.transform(dateObj, 'h:mm a') || ''; // Today\n if (diffDays === 1) return 'Yesterday';\n if (diffDays < 7) return this.datePipe.transform(dateObj, 'EEE') || ''; // Day of week\n return this.datePipe.transform(dateObj, 'MM/DD/YYYY') || ''; // Older date\n }\n\n /**\n * Mark notification as read if needed\n */\n private async markAsReadIfNeeded(notification: AXMNotificationItem): Promise<void> {\n try {\n // Always mark as read on click if unread, but don't toggle back to unread\n if (notification.readAt) return;\n\n await this.notificationConnector.markAsRead({ id: [notification.id] });\n\n // Emit the updated notification with readAt set\n // It will be read now because we only call this for unread notifications\n const updatedNotification = {\n ...notification,\n readAt: new Date(),\n };\n this.markAsRead.emit(updatedNotification);\n this.cdr.detectChanges();\n } catch (error) {\n console.error('Failed to mark notification as read:', error);\n }\n }\n\n /**\n * Calculate days difference from now\n */\n private getDaysDifference(date: Date): number {\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n return Math.floor(diffMs / (1000 * 60 * 60 * 24));\n }\n}\n","<div class=\"ax-p-4 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]=\"('new' | translate: { scope: 'notification-management' } | async) ?? 'New'\"\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-4 ax-mt-4 ax-px-2\">\n @for (item of notificationItems(); track item.id) {\n <ng-container [ngTemplateOutlet]=\"chatItemTemplateRef\" [ngTemplateOutletContext]=\"{ $implicit: item }\">\n </ng-container>\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<ng-template #chatItemTemplateRef let-data>\n <div class=\"ax-flex ax-gap-3\">\n @if (showAvatar()) {\n <axp-user-avatar [size]=\"40\" [userId]=\"data.user?.id\"></axp-user-avatar>\n }\n <div class=\"ax-overflow-hidden ax-grow ax-text-start\">\n <h6 class=\"ax-pb-2 ax-font-semibold ax-truncate\">{{ data.user?.name || data.title }}</h6>\n <p class=\"ax-text-xs ax-truncate\">{{ data.body }}</p>\n </div>\n @if (showDate()) {\n <div class=\"ax-text-xs ax-shrink-0\">\n <span>\n {{ formatTime(data.createdAt) }}\n </span>\n </div>\n }\n </div>\n</ng-template>\n","import { AXP_WIDGETS_UTILITY_CATEGORY } from '@acorex/modules/dashboard-management';\nimport { AXPWidgetConfig, AXPWidgetGroupEnum, AXPWidgetsCatalog, cloneProperty } from '@acorex/platform/layout/builder';\nimport {\n AXP_APPEARANCE_PROPERTY_GROUP,\n AXP_DATA_PATH_PROPERTY,\n AXP_STYLING_PROPERTY_GROUP,\n} from '@acorex/platform/widgets';\n\n/**\n * Configuration for the Notification Widget\n */\nexport const AXPMyNotificationDashboardWidget: AXPWidgetConfig = {\n name: 'my-notification-dashboard',\n title: 'My Notification Widget',\n categories: [AXP_WIDGETS_UTILITY_CATEGORY],\n groups: [AXPWidgetGroupEnum.DashboardWidget],\n type: 'dashboard',\n description: 'Displays notifications in a widget format',\n icon: 'fa-regular fa-bell',\n properties: [\n cloneProperty(AXP_DATA_PATH_PROPERTY, { visible: false }),\n // ====== Title ======\n {\n name: 'title',\n title: '@notification-management:widgets.my-notification-dashboard.chart-title',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: '',\n dataType: 'string',\n interface: {\n name: 'title',\n path: 'options.title',\n type: AXPWidgetsCatalog.text,\n options: {\n placeholder: 'Enter chart title',\n },\n },\n },\n visible: true,\n },\n {\n name: 'maxItems',\n title: '@notification-management:widgets.my-notification-dashboard.max-items',\n description: 'Maximum number of notification items to display',\n group: AXP_STYLING_PROPERTY_GROUP,\n schema: {\n defaultValue: 10,\n dataType: 'number',\n interface: {\n name: 'maxItems',\n path: 'options.maxItems',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 1,\n maxValue: 100,\n },\n },\n },\n visible: true,\n },\n {\n name: 'showAvatar',\n title: '@notification-management:widgets.my-notification-dashboard.show-avatar',\n description: 'Whether to show avatars in notifications',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: true,\n dataType: 'boolean',\n interface: {\n name: 'showAvatar',\n path: 'options.showAvatar',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'showDate',\n title: '@notification-management:widgets.my-notification-dashboard.show-date',\n description: 'Whether to show date in notifications',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: true,\n dataType: 'boolean',\n interface: {\n name: 'showDate',\n path: 'options.showDate',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'autoRefresh',\n title: '@notification-management:widgets.my-notification-dashboard.auto-refresh',\n description: 'Automatically refresh notifications at regular intervals',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: true,\n dataType: 'boolean',\n interface: {\n name: 'autoRefresh',\n path: 'options.autoRefresh',\n type: AXPWidgetsCatalog.toggle,\n },\n },\n visible: true,\n },\n {\n name: 'refreshInterval',\n title: '@notification-management:widgets.my-notification-dashboard.refresh-interval',\n description: 'Interval in seconds between automatic refreshes',\n group: AXP_APPEARANCE_PROPERTY_GROUP,\n schema: {\n defaultValue: 60,\n dataType: 'number',\n interface: {\n name: 'refreshInterval',\n path: 'options.refreshInterval',\n type: AXPWidgetsCatalog.number,\n options: {\n minValue: 10,\n maxValue: 3600,\n },\n },\n },\n visible: true,\n },\n ],\n components: {\n view: {\n component: () => import('./notification-widget.component').then((c) => c.AXPNotificationWidgetViewComponent),\n },\n },\n meta: {\n dimensions: {\n width: 3,\n height: 5,\n minWidth: 2,\n minHeight: 4,\n maxWidth: 4,\n maxHeight: 7,\n },\n },\n};\n","import { AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { inject, Injector, NgModule } from '@angular/core';\nimport { AXMAdminNotificationSlotComponent } from './features/components/admin-notification-slot/admin-notification-slot.component';\nimport {\n AXMNotificationManagementChannelEntityService,\n AXMNotificationManagementChannelEntityServiceImpl,\n} from './entities/channel/channel.service';\nimport { AXMNotificationEntityService, AXMNotificationEntityServiceImpl } from './entities/notification';\nimport {\n AXMNotificationManagementTemplateEntityService,\n AXMNotificationManagementTemplateEntityServiceImpl,\n} from './entities/template/template.service';\nimport { AXMEntityLoader } from './entity.provider';\nimport { AXMNotificationManagmentModuleMenuProvider } from './menu.provider';\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { AXPMyNotificationDashboardWidget } from './features/dashboard/widgets/my-notification';\nimport { AXPComponentSlotModule } from '@acorex/platform/layout/components';\n\n@NgModule({\n imports: [\n AXPComponentSlotModule.forChild({\n 'root-header-end': [\n {\n name: 'notification',\n component: AXMAdminNotificationSlotComponent,\n },\n ],\n }),\n AXPLayoutBuilderModule.forChild({\n widgets: [\n AXPMyNotificationDashboardWidget,\n ],\n }),\n ],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMNotificationManagementTemplateEntityService,\n useClass: AXMNotificationManagementTemplateEntityServiceImpl,\n },\n {\n provide: AXMNotificationManagementChannelEntityService,\n useClass: AXMNotificationManagementChannelEntityServiceImpl,\n },\n {\n provide: AXMNotificationEntityService,\n useClass: AXMNotificationEntityServiceImpl,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityLoader,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMNotificationManagmentModuleMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useFactory: async () => {\n const injector = inject(Injector);\n const provider = (await import('./settings.provider')).AXMSettingProvider;\n return new provider(injector);\n },\n multi: true,\n },\n ],\n})\nexport class AXMNotificationManagementModule { }\n","export enum AXPSettingKeys {\n // SMTP Settings\n Server = 'notification:email:server',\n Port = 'notification:email:port',\n Username = 'notification:email:username',\n Password = 'notification:email:password',\n FromAddress = 'notification:email:fromAddress',\n UseSSL = 'notification:email:useSSL',\n UseTLS = 'notification:email:useTLS',\n\n // Telegram Settings\n TelegramToken = 'notification:telegram:token',\n TelegramChatId = 'notification:telegram:chatId',\n\n // WhatsApp Settings\n WhatsAppApiUrl = 'notification:whatsapp:apiUrl',\n WhatsAppAuthToken = 'notification:whatsapp:authToken',\n\n // Firebase Settings\n FirebaseApiKey = 'notification:firebase:apiKey',\n FirebaseProjectId = 'notification:firebase:projectId',\n FirebaseSenderId = 'notification:firebase:senderId',\n FirebaseAppId = 'notification:firebase:appId',\n}\n","import { RootConfig } from '@acorex/modules/form-template-management';\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\nimport { AXPSettingKeys } from './settings.keys';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Injector } from '@angular/core';\nimport { AXPWidgetsList } from '@acorex/modules/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n private readonly translateService = this.injector.get(AXTranslationService);\n\n constructor(private injector: Injector) { }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n const trans = async (key: string) => await this.translateService.translateAsync(`settings.notification-settings.${key}`, { scope: 'notification-management' });\n\n context\n // Add Notification Settings Group\n .addGroup(\n 'notification-settings',\n await trans('title'),\n await trans('description'),\n RootConfig.module.icon\n )\n\n // SMTP Settings Section\n .addSection('smtp-settings', await trans('smtp.title'), await trans('smtp.description'))\n .addSetting({\n key: AXPSettingKeys.Server,\n title: await trans('smtp.server.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('smtp.server.description'),\n })\n .addSetting({\n key: AXPSettingKeys.Port,\n title: await trans('smtp.port.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: 587,\n widget: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n minValue: 1,\n maxValue: 65535,\n },\n },\n description: await trans('smtp.port.description'),\n })\n .addSetting({\n key: AXPSettingKeys.Username,\n title: await trans('smtp.username.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('smtp.username.description'),\n })\n .addSetting({\n key: AXPSettingKeys.Password,\n title: await trans('smtp.password.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.PasswordBox,\n },\n description: await trans('smtp.password.description'),\n })\n .addSetting({\n key: AXPSettingKeys.UseSSL,\n title: await trans('smtp.ssl.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: await trans('smtp.ssl.description'),\n })\n .addSetting({\n key: AXPSettingKeys.UseTLS,\n title: await trans('smtp.tls.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: await trans('smtp.tls.description'),\n })\n .endSection()\n\n // Telegram Settings Section\n .addSection('telegram-settings', await trans('telegram.title'), await trans('telegram.description'))\n .addSetting({\n key: AXPSettingKeys.TelegramToken,\n title: await trans('telegram.token.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('telegram.token.description'),\n })\n .addSetting({\n key: AXPSettingKeys.TelegramChatId,\n title: await trans('telegram.chat-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('telegram.chat-id.description'),\n })\n .endSection()\n\n // WhatsApp Settings Section\n .addSection('whatsapp-settings', await trans('whatsapp.title'), await trans('whatsapp.description'))\n .addSetting({\n key: AXPSettingKeys.WhatsAppApiUrl,\n title: await trans('whatsapp.api-url.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('whatsapp.api-url.description'),\n })\n .addSetting({\n key: AXPSettingKeys.WhatsAppAuthToken,\n title: await trans('whatsapp.auth-token.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.PasswordBox,\n },\n description: await trans('whatsapp.auth-token.description'),\n })\n .endSection()\n\n // Firebase Settings Section\n .addSection('firebase-settings', await trans('firebase.title'), await trans('firebase.description'))\n .addSetting({\n key: AXPSettingKeys.FirebaseApiKey,\n title: await trans('firebase.api-key.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.api-key.description'),\n })\n .addSetting({\n key: AXPSettingKeys.FirebaseProjectId,\n title: await trans('firebase.project-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.project-id.description'),\n })\n .addSetting({\n key: AXPSettingKeys.FirebaseSenderId,\n title: await trans('firebase.sender-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.sender-id.description'),\n })\n .addSetting({\n key: AXPSettingKeys.FirebaseAppId,\n title: await trans('firebase.app-id.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: '',\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: await trans('firebase.app-id.description'),\n })\n .endSection()\n\n // End Notification Settings Group\n .endGroup();\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPDataGenerator } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { AXPEntityDataProviderImpl, AXPEntityStorageService } from '@acorex/platform/layout/entity';\nimport { Injector } from '@angular/core';\n\nexport async function myNotificationEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const storageService = injector.get(AXPEntityStorageService);\n const dataProvider = new AXPEntityDataProviderImpl<any>(storageService, 'notifications');\n const moduleName = 'notification-management';\n const scope = `#${moduleName}`;\n\n const entityDef: AXPEntity = {\n module: moduleName,\n name: 'notification',\n source: 'notification-management.notification',\n title: `t('my',{scope: 'notification-management'})`,\n formats: {\n individual: `t('my',{scope: 'notification-management'})`,\n plural: `t('my',{scope: 'notification-management'})`,\n },\n groups: [\n { id: 'data', title: 'Data' },\n { id: 'content', title: 'Content' },\n { id: 'action', title: 'Action' },\n { id: 'user', title: 'User' },\n { id: 'template', title: 'Template' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'data',\n schema: {\n dataType: 'string',\n hidden: true,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'body',\n title: 't(\"body\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.largeText,\n },\n },\n },\n {\n name: 'channel',\n title: 't(\"channel\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['InApp', 'Email', 'SMS'], multiple: false },\n },\n },\n },\n {\n name: 'content.type',\n title: 't(\"content.type\", { scope: \"common\" })',\n groupId: 'content',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n },\n {\n name: 'action.type',\n title: 't(\"action.type\", { scope: \"common\" })',\n groupId: 'action',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['Link', 'Entity', 'Popup'], multiple: false },\n },\n },\n },\n {\n name: 'User.name',\n title: 't(\"User.name\", { scope: \"common\" })',\n groupId: 'user',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n\n {\n name: 'template.category',\n title: 't(\"template.category\", { scope: \"common\" })',\n groupId: 'template',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['Inbox', 'Archive'], multiple: false },\n },\n },\n },\n {\n name: 'template.prority',\n title: 't(\"template.prority\", { scope: \"common\" })',\n groupId: 'template',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: { dataSource: ['Warning', 'Danger', 'Notice'], multiple: false },\n },\n },\n },\n {\n name: 'template.isPinned',\n title: 't(\"template.isPinned\", { scope: \"common\" })',\n groupId: 'template',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.checkbox,\n options: {\n label: 'Is Pinned',\n },\n },\n },\n },\n {\n name: 'readAt',\n title: 't(\"readAt\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'datetime',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: { format: 'date' },\n },\n },\n },\n {\n name: 'createAt',\n title: 't(\"createAt\", { scope: \"common\" })',\n groupId: 'data',\n schema: {\n dataType: 'datetime',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: { format: 'date' },\n },\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'body' },\n { name: 'channel' },\n { name: 'user.name' },\n { name: 'template.category' },\n { name: 'template.prority' },\n { name: 'createAt' },\n { name: 'readAt' },\n ],\n commands: {\n create: {\n execute: async (data: any) => {\n console.log('CREATE', data);\n const entity = Object.assign(data, { id: AXPDataGenerator.uuid() });\n await dataProvider.insertOne(entity);\n return entity;\n },\n },\n delete: {\n execute: async (id: any) => {\n console.log('CREATE', id);\n await dataProvider.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n await dataProvider.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataProvider.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n const list = await dataProvider.getAll();\n return {\n total: list.length,\n items: list.slice(e.skip, e.skip + e.take),\n };\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n list: {\n actions: [\n {\n title: 'Delete',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n ],\n views: [{ name: 'all', title: 'All Notifications', fixed: true, columns: [], conditions: [], sorts: [] }],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../const';\nimport { AXMNotificationManagementChannelEntityService } from './channel/channel.service';\n\nexport async function notificationLogEntityFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMNotificationManagementChannelEntityService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: 'notification-management',\n name: 'notification',\n source: 'notification-management.notificationLog',\n title: 'Notification',\n formats: {\n individual: 'NotificationLog',\n plural: 'NotificationLogs',\n },\n relatedEntities: [],\n groups: [\n {\n id: 'notification',\n title: 'Notification',\n },\n ],\n properties: [\n {\n name: 'name',\n title: `t(\"name\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'title',\n title: `t(\"title\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n },\n {\n name: 'status',\n title: `t(\"status\", { scope: \"${i18n}\" })`,\n groupId: 'notification',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.richText,\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }, { name: 'body' }, { name: 'user.name' }, { name: 'channel' }],\n queries: {\n byKey: {\n execute: async (id: string) => {\n return new Promise((resolve) => {\n setTimeout(async () => {\n const entity = await dataService.getOne(id);\n resolve(entity);\n }, 500);\n });\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'notification',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'user.name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'body',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'channel',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'primary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [\n {\n name: 'all',\n title: 't(\"all\", { scope: \"common\" })',\n fixed: true,\n columns: [],\n conditions: [],\n sorts: [],\n },\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["RootConfigTextTemplate","i2","i3","i1","RootConfig"],"mappings":"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"}
|