diff --git a/frontend/app/features/administration/pages/users/user.component.html b/frontend/app/features/administration/pages/users/user.component.html
index f636aa824..5e3ad64dd 100644
--- a/frontend/app/features/administration/pages/users/user.component.html
+++ b/frontend/app/features/administration/pages/users/user.component.html
@@ -1,4 +1,4 @@
-
+
|
diff --git a/frontend/app/features/administration/pages/users/users-page.component.html b/frontend/app/features/administration/pages/users/users-page.component.html
index b82e28594..429fd1e25 100644
--- a/frontend/app/features/administration/pages/users/users-page.component.html
+++ b/frontend/app/features/administration/pages/users/users-page.component.html
@@ -1,6 +1,6 @@
-
+
{{ 'users.listTitle' | sqxTranslate }}
diff --git a/frontend/app/features/assets/pages/assets-page.component.html b/frontend/app/features/assets/pages/assets-page.component.html
index 6f6b93103..dfbf11c23 100644
--- a/frontend/app/features/assets/pages/assets-page.component.html
+++ b/frontend/app/features/assets/pages/assets-page.component.html
@@ -1,6 +1,6 @@
-
+
{{ 'common.assets' | sqxTranslate }}
@@ -72,7 +72,7 @@
diff --git a/frontend/app/features/content/pages/content/content-page.component.html b/frontend/app/features/content/pages/content/content-page.component.html
index dc9de30d5..03e956b27 100644
--- a/frontend/app/features/content/pages/content/content-page.component.html
+++ b/frontend/app/features/content/pages/content/content-page.component.html
@@ -97,11 +97,11 @@
-
+
-
+
diff --git a/frontend/app/features/content/pages/contents/contents-page.component.html b/frontend/app/features/content/pages/contents/contents-page.component.html
index 5dbd86f4c..8dc4ecce3 100644
--- a/frontend/app/features/content/pages/contents/contents-page.component.html
+++ b/frontend/app/features/content/pages/contents/contents-page.component.html
@@ -1,6 +1,6 @@
-
+
{{ 'common.contents' | sqxTranslate }}
@@ -127,7 +127,7 @@
diff --git a/frontend/app/features/rules/pages/events/rule-events-page.component.html b/frontend/app/features/rules/pages/events/rule-events-page.component.html
index 739e93e3d..eab2ecc61 100644
--- a/frontend/app/features/rules/pages/events/rule-events-page.component.html
+++ b/frontend/app/features/rules/pages/events/rule-events-page.component.html
@@ -1,6 +1,6 @@
-
+
{{ 'common.events' | sqxTranslate }}
diff --git a/frontend/app/features/rules/pages/rules/rules-page.component.html b/frontend/app/features/rules/pages/rules/rules-page.component.html
index 69533091b..6a86d80f2 100644
--- a/frontend/app/features/rules/pages/rules/rules-page.component.html
+++ b/frontend/app/features/rules/pages/rules/rules-page.component.html
@@ -77,7 +77,7 @@
-
+
diff --git a/frontend/app/features/schemas/pages/schema/schema-page.component.html b/frontend/app/features/schemas/pages/schema/schema-page.component.html
index 388ed41c8..295baacf5 100644
--- a/frontend/app/features/schemas/pages/schema/schema-page.component.html
+++ b/frontend/app/features/schemas/pages/schema/schema-page.component.html
@@ -83,7 +83,7 @@
diff --git a/frontend/app/features/settings/pages/backups/backups-page.component.html b/frontend/app/features/settings/pages/backups/backups-page.component.html
index af99688e6..4481fda8e 100644
--- a/frontend/app/features/settings/pages/backups/backups-page.component.html
+++ b/frontend/app/features/settings/pages/backups/backups-page.component.html
@@ -46,7 +46,7 @@
diff --git a/frontend/app/features/settings/pages/clients/clients-page.component.html b/frontend/app/features/settings/pages/clients/clients-page.component.html
index 6a7120e5f..5178455bf 100644
--- a/frontend/app/features/settings/pages/clients/clients-page.component.html
+++ b/frontend/app/features/settings/pages/clients/clients-page.component.html
@@ -34,11 +34,11 @@
diff --git a/frontend/app/features/settings/pages/contributors/contributors-page.component.html b/frontend/app/features/settings/pages/contributors/contributors-page.component.html
index 10df001d3..a797ed0b7 100644
--- a/frontend/app/features/settings/pages/contributors/contributors-page.component.html
+++ b/frontend/app/features/settings/pages/contributors/contributors-page.component.html
@@ -1,6 +1,6 @@
-
+
{{ 'common.contributors' | sqxTranslate }}
@@ -67,11 +67,11 @@
diff --git a/frontend/app/features/settings/pages/languages/languages-page.component.html b/frontend/app/features/settings/pages/languages/languages-page.component.html
index 98684eab0..9aac1132e 100644
--- a/frontend/app/features/settings/pages/languages/languages-page.component.html
+++ b/frontend/app/features/settings/pages/languages/languages-page.component.html
@@ -29,11 +29,11 @@
diff --git a/frontend/app/features/settings/pages/patterns/patterns-page.component.html b/frontend/app/features/settings/pages/patterns/patterns-page.component.html
index d4e72a837..ff5e0978e 100644
--- a/frontend/app/features/settings/pages/patterns/patterns-page.component.html
+++ b/frontend/app/features/settings/pages/patterns/patterns-page.component.html
@@ -32,11 +32,11 @@
diff --git a/frontend/app/features/settings/pages/plans/plans-page.component.html b/frontend/app/features/settings/pages/plans/plans-page.component.html
index cb7acebf4..ece9087e4 100644
--- a/frontend/app/features/settings/pages/plans/plans-page.component.html
+++ b/frontend/app/features/settings/pages/plans/plans-page.component.html
@@ -46,7 +46,7 @@
diff --git a/frontend/app/features/settings/pages/roles/roles-page.component.html b/frontend/app/features/settings/pages/roles/roles-page.component.html
index dbd237630..1f8b85fea 100644
--- a/frontend/app/features/settings/pages/roles/roles-page.component.html
+++ b/frontend/app/features/settings/pages/roles/roles-page.component.html
@@ -27,11 +27,11 @@
diff --git a/frontend/app/features/settings/pages/workflows/workflows-page.component.html b/frontend/app/features/settings/pages/workflows/workflows-page.component.html
index 24fae6cca..1256e3deb 100644
--- a/frontend/app/features/settings/pages/workflows/workflows-page.component.html
+++ b/frontend/app/features/settings/pages/workflows/workflows-page.component.html
@@ -45,7 +45,7 @@
diff --git a/frontend/app/framework/angular/panel.component.html b/frontend/app/framework/angular/panel.component.html
index 05180c75b..54362f2ef 100644
--- a/frontend/app/framework/angular/panel.component.html
+++ b/frontend/app/framework/angular/panel.component.html
@@ -23,7 +23,7 @@
-
+
diff --git a/frontend/app/framework/angular/panel.component.ts b/frontend/app/framework/angular/panel.component.ts
index 7c4cb045b..ee413871c 100644
--- a/frontend/app/framework/angular/panel.component.ts
+++ b/frontend/app/framework/angular/panel.component.ts
@@ -6,6 +6,7 @@
*/
import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, Renderer2, SimpleChanges, ViewChild } from '@angular/core';
+import { QueryParamsHandling } from '@angular/router';
import { slideRightAnimation } from '@app/framework/internal';
import { PanelContainerDirective } from './panel-container.directive';
@@ -26,6 +27,9 @@ export class PanelComponent implements AfterViewInit, OnChanges, OnDestroy, OnIn
@Output()
public close = new EventEmitter();
+ @Input()
+ public closeQueryParamsHandling: QueryParamsHandling = 'preserve';
+
@Input()
public theme = 'light';
diff --git a/frontend/app/framework/angular/routers/parent-link.directive.ts b/frontend/app/framework/angular/routers/parent-link.directive.ts
index 769f2140b..df93d8cfe 100644
--- a/frontend/app/framework/angular/routers/parent-link.directive.ts
+++ b/frontend/app/framework/angular/routers/parent-link.directive.ts
@@ -6,7 +6,7 @@
*/
import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core';
-import { ActivatedRoute, Router } from '@angular/router';
+import { ActivatedRoute, NavigationEnd, QueryParamsHandling, Router } from '@angular/router';
import { ResourceOwner } from '@app/framework/internal';
@Directive({
@@ -18,6 +18,9 @@ export class ParentLinkDirective extends ResourceOwner implements OnInit {
@Input()
public isLazyLoaded = false;
+ @Input()
+ public queryParamsHandling: QueryParamsHandling;
+
constructor(
private readonly router: Router,
private readonly route: ActivatedRoute,
@@ -29,19 +32,36 @@ export class ParentLinkDirective extends ResourceOwner implements OnInit {
public ngOnInit() {
this.own(
- this.route.url.subscribe(() => {
- this.url = this.isLazyLoaded ?
- this.router.createUrlTree(['.'], { relativeTo: this.route.parent!.parent }).toString() :
- this.router.createUrlTree(['.'], { relativeTo: this.route.parent }).toString();
+ this.route.url
+ .subscribe(() => {
+ this.updateUrl();
+ }));
- this.renderer.setProperty(this.element.nativeElement, 'href', this.url);
- }));
+ this.own(
+ this.router.events
+ .subscribe(event => {
+ if (event instanceof NavigationEnd) {
+ this.updateUrl();
+ }
+ }));
}
@HostListener('click')
public onClick(): boolean {
- this.router.navigateByUrl(this.url);
+ this.router.navigateByUrl(this.url, {
+ queryParamsHandling: 'preserve'
+ });
return false;
}
+
+ private updateUrl() {
+ const queryParamsHandling = this.queryParamsHandling;
+
+ this.url = this.isLazyLoaded ?
+ this.router.createUrlTree(['.'], { queryParamsHandling, relativeTo: this.route.parent!.parent }).toString() :
+ this.router.createUrlTree(['.'], { queryParamsHandling, relativeTo: this.route.parent }).toString();
+
+ this.renderer.setProperty(this.element.nativeElement, 'href', this.url);
+ }
}
\ No newline at end of file
diff --git a/frontend/app/shell/pages/app/left-menu.component.html b/frontend/app/shell/pages/app/left-menu.component.html
index 7f94a3ad5..c7c7fd9a8 100644
--- a/frontend/app/shell/pages/app/left-menu.component.html
+++ b/frontend/app/shell/pages/app/left-menu.component.html
@@ -10,7 +10,7 @@
-
+
{{ 'common.assets' | sqxTranslate }}