diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-incoming/admin-notify-incoming.component.html b/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-incoming/admin-notify-incoming.component.html index 4b72854bc0..a71072149e 100644 --- a/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-incoming/admin-notify-incoming.component.html +++ b/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-incoming/admin-notify-incoming.component.html @@ -17,14 +17,23 @@
-
{{'admin.notify.dashboard.inbound' | translate}}
+
{{'admin.notify.dashboard.outbound' | translate}}
+
+ +
+ + ; public defaultConfiguration = 'NOTIFY.incoming'; + public isLoading = true; + + protected readonly context = Context.CoarNotify; - constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: SearchConfigurationService) { + constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: SearchConfigurationService, + private router: Router, + private route: ActivatedRoute) { } ngOnInit() { - this.searchConfigService.getCurrentConfiguration('').subscribe(x => console.log(x)); + this.selectedSearchConfig$ = this.searchConfigService.getCurrentConfiguration(this.defaultConfiguration).pipe( + tap(() => this.isLoading = false) + ) } + public resetDefaultConfiguration() { + this.router.navigate([this.getResolvedUrl(this.route.snapshot)], { + queryParams: { + configuration: this.defaultConfiguration, + view: ViewMode.Table + }, + }) + } + + /** + * + * @param route url path + * @returns url path + */ + private getResolvedUrl(route: ActivatedRouteSnapshot): string { + return route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'); + } } diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-outgoing/admin-notify-outgoing.component.html b/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-outgoing/admin-notify-outgoing.component.html index a0f298371e..7621f3369a 100644 --- a/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-outgoing/admin-notify-outgoing.component.html +++ b/src/app/admin/admin-notify-dashboard/admin-notify-logs/admin-notify-outgoing/admin-notify-outgoing.component.html @@ -20,13 +20,20 @@
{{'admin.notify.dashboard.outbound' | translate}}
+
+ +
; + public defaultConfiguration = 'NOTIFY.outgoing'; + public isLoading = true; - constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: SearchConfigurationService) { + + protected readonly context = Context.CoarNotify; + constructor(@Inject(SEARCH_CONFIG_SERVICE) public searchConfigService: SearchConfigurationService, + private router: Router, + private route: ActivatedRoute) { + } + + ngOnInit() { + this.selectedSearchConfig$ = this.searchConfigService.getCurrentConfiguration(this.defaultConfiguration).pipe( + tap(() => this.isLoading = false) + ) + } + + public resetDefaultConfiguration() { + this.router.navigate([this.getResolvedUrl(this.route.snapshot)], { + queryParams: { + configuration: this.defaultConfiguration, + view: ViewMode.Table + }, + }) + } + + /** + * + * @param route url path + * @returns url path + */ + private getResolvedUrl(route: ActivatedRouteSnapshot): string { + return route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'); } } diff --git a/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.component.ts b/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.component.ts index a1f7cdbaf1..09ce0fb3f9 100644 --- a/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.component.ts +++ b/src/app/admin/admin-notify-dashboard/admin-notify-metrics/admin-notify-metrics.component.ts @@ -1,5 +1,7 @@ -import { Component, Input } from '@angular/core'; +import { Component, Input, OnInit } from '@angular/core'; import { AdminNotifyMetricsRow } from './admin-notify-metrics.model'; +import { ActivatedRoute, Router } from "@angular/router"; +import { ViewMode } from "../../../core/shared/view-mode.model"; @Component({ selector: 'ds-admin-notify-metrics', @@ -10,7 +12,23 @@ export class AdminNotifyMetricsComponent { @Input() boxesConfig: AdminNotifyMetricsRow[]; - public navigateToSelectedSearchConfig($event: string) { - console.log($event); + private incomingConfiguration = 'NOTIFY.incoming'; + private inboundPath = '/inbound'; + private outboundPath = '/outbound'; + + constructor(private router: Router) { + } + + + public navigateToSelectedSearchConfig(searchConfig: string) { + const isIncomingConfig = searchConfig.startsWith(this.incomingConfiguration); + const selectedPath = isIncomingConfig ? this.inboundPath : this.outboundPath; + + this.router.navigate([`${this.router.url}${selectedPath}`], { + queryParams: { + configuration: searchConfig, + view: ViewMode.Table + }, + }) } } diff --git a/src/app/shared/notification-box/notification-box.component.html b/src/app/shared/notification-box/notification-box.component.html index c5368137a7..2323bd630a 100644 --- a/src/app/shared/notification-box/notification-box.component.html +++ b/src/app/shared/notification-box/notification-box.component.html @@ -1,4 +1,9 @@ -
+
{{ boxConfig.count ?? 0 }}
{{ boxConfig.title | translate }}
diff --git a/src/app/shared/notification-box/notification-box.component.scss b/src/app/shared/notification-box/notification-box.component.scss index 9813f4aa7a..3bc1d23248 100644 --- a/src/app/shared/notification-box/notification-box.component.scss +++ b/src/app/shared/notification-box/notification-box.component.scss @@ -1,6 +1,7 @@ .box-container { min-width: max-content; } + .box-counter { font-size: calc(var(--bs-font-size-lg) * 1.5); } diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 48fe27212c..9244da53db 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -3469,6 +3469,8 @@ "admin.notify.dashboard.inbound-logs": "Logs/Inbound", + "admin.notify.dashboard.configuration": "Configuration: ", + "admin.notify.dashboard.outbound": "Outbound messages", "admin.notify.dashboard.outbound-logs": "Logs/Outbound",