Browse Source

Router fixes.

pull/566/head
Sebastian 5 years ago
parent
commit
fac322386b
  1. 2
      frontend/app/features/administration/pages/users/user.component.html
  2. 2
      frontend/app/features/administration/pages/users/users-page.component.html
  3. 4
      frontend/app/features/assets/pages/assets-page.component.html
  4. 4
      frontend/app/features/content/pages/content/content-page.component.html
  5. 4
      frontend/app/features/content/pages/contents/contents-page.component.html
  6. 2
      frontend/app/features/rules/pages/events/rule-events-page.component.html
  7. 2
      frontend/app/features/rules/pages/rules/rules-page.component.html
  8. 2
      frontend/app/features/schemas/pages/schema/schema-page.component.html
  9. 2
      frontend/app/features/settings/pages/backups/backups-page.component.html
  10. 4
      frontend/app/features/settings/pages/clients/clients-page.component.html
  11. 6
      frontend/app/features/settings/pages/contributors/contributors-page.component.html
  12. 4
      frontend/app/features/settings/pages/languages/languages-page.component.html
  13. 4
      frontend/app/features/settings/pages/patterns/patterns-page.component.html
  14. 2
      frontend/app/features/settings/pages/plans/plans-page.component.html
  15. 4
      frontend/app/features/settings/pages/roles/roles-page.component.html
  16. 2
      frontend/app/features/settings/pages/workflows/workflows-page.component.html
  17. 2
      frontend/app/framework/angular/panel.component.html
  18. 4
      frontend/app/framework/angular/panel.component.ts
  19. 36
      frontend/app/framework/angular/routers/parent-link.directive.ts
  20. 2
      frontend/app/shell/pages/app/left-menu.component.html

2
frontend/app/features/administration/pages/users/user.component.html

@ -1,4 +1,4 @@
<tr [routerLink]="user.id" queryParamsHandling="merge" routerLinkActive="active"> <tr [routerLink]="user.id" queryParamsHandling="preserve" routerLinkActive="active">
<td class="cell-user"> <td class="cell-user">
<img class="user-picture" title="{{user.displayName}}" [src]="user | sqxUserDtoPicture"> <img class="user-picture" title="{{user.displayName}}" [src]="user | sqxUserDtoPicture">
</td> </td>

2
frontend/app/features/administration/pages/users/users-page.component.html

@ -1,6 +1,6 @@
<sqx-title message="i18n:users.listPageTitle"></sqx-title> <sqx-title message="i18n:users.listPageTitle"></sqx-title>
<sqx-panel desiredWidth="50rem" grid="true"> <sqx-panel desiredWidth="50rem" grid="true" closeQueryParamsHandling="none">
<ng-container title> <ng-container title>
{{ 'users.listTitle' | sqxTranslate }} {{ 'users.listTitle' | sqxTranslate }}
</ng-container> </ng-container>

4
frontend/app/features/assets/pages/assets-page.component.html

@ -1,6 +1,6 @@
<sqx-title message="i18n:assets.listPageTitle"></sqx-title> <sqx-title message="i18n:assets.listPageTitle"></sqx-title>
<sqx-panel desiredWidth="*" minWidth="50rem" showSidebar="true" grid="true"> <sqx-panel desiredWidth="*" minWidth="50rem" showSidebar="true" grid="true" closeQueryParamsHandling="none">
<ng-container title> <ng-container title>
{{ 'common.assets' | sqxTranslate }} {{ 'common.assets' | sqxTranslate }}
</ng-container> </ng-container>
@ -72,7 +72,7 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="filters" routerLinkActive="active" title="i18n:common.filters" titlePosition="left"> <a class="panel-link" routerLink="filters" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.filters" titlePosition="left">
<i class="icon-filter"></i> <i class="icon-filter"></i>
</a> </a>
</div> </div>

4
frontend/app/features/content/pages/content/content-page.component.html

@ -97,11 +97,11 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.workflow" titlePosition="left" #linkHistory> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.workflow" titlePosition="left" #linkHistory>
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
<a class="panel-link" routerLink="comments" routerLinkActive="active" title="i18n:common.comments" titlePosition="left"> <a class="panel-link" routerLink="comments" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.comments" titlePosition="left">
<i class="icon-comments"></i> <i class="icon-comments"></i>
</a> </a>

4
frontend/app/features/content/pages/contents/contents-page.component.html

@ -1,6 +1,6 @@
<sqx-title [message]="schema.displayName"></sqx-title> <sqx-title [message]="schema.displayName"></sqx-title>
<sqx-panel desiredWidth="*" minWidth="50rem" showSidebar="true" grid="true"> <sqx-panel desiredWidth="*" minWidth="50rem" showSidebar="true" grid="true" closeQueryParamsHandling="none">
<ng-container title> <ng-container title>
{{ 'common.contents' | sqxTranslate }} {{ 'common.contents' | sqxTranslate }}
</ng-container> </ng-container>
@ -127,7 +127,7 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="filters" routerLinkActive="active" title="i18n:common.filters" titlePosition="left"> <a class="panel-link" routerLink="filters" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.filters" titlePosition="left">
<i class="icon-filter"></i> <i class="icon-filter"></i>
</a> </a>
</div> </div>

2
frontend/app/features/rules/pages/events/rule-events-page.component.html

@ -1,6 +1,6 @@
<sqx-title message="i18n:rules.ruleEvents.listPageTitle"></sqx-title> <sqx-title message="i18n:rules.ruleEvents.listPageTitle"></sqx-title>
<sqx-panel desiredWidth="63rem" grid="true"> <sqx-panel desiredWidth="63rem" grid="true" closeQueryParamsHandling="none">
<ng-container title> <ng-container title>
{{ 'common.events' | sqxTranslate }} {{ 'common.events' | sqxTranslate }}
</ng-container> </ng-container>

2
frontend/app/features/rules/pages/rules/rules-page.component.html

@ -77,7 +77,7 @@
</a> </a>
</ng-container> </ng-container>
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left" #helpLink> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left" #helpLink>
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>

2
frontend/app/features/schemas/pages/schema/schema-page.component.html

@ -83,7 +83,7 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help"></i> <i class="icon-help"></i>
</a> </a>
</div> </div>

2
frontend/app/features/settings/pages/backups/backups-page.component.html

@ -46,7 +46,7 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

4
frontend/app/features/settings/pages/clients/clients-page.component.html

@ -34,11 +34,11 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.history" titlePosition="left"> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.history" titlePosition="left">
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

6
frontend/app/features/settings/pages/contributors/contributors-page.component.html

@ -1,6 +1,6 @@
<sqx-title message="i18n:common.contributors"></sqx-title> <sqx-title message="i18n:common.contributors"></sqx-title>
<sqx-panel desiredWidth="50rem" showSidebar="true" grid="true"> <sqx-panel desiredWidth="50rem" showSidebar="true" grid="true" closeQueryParamsHandling="none">
<ng-container title> <ng-container title>
{{ 'common.contributors' | sqxTranslate }} {{ 'common.contributors' | sqxTranslate }}
</ng-container> </ng-container>
@ -67,11 +67,11 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.history" titlePosition="left"> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" queryParamsHandling="preserve" title="i18n:common.history" titlePosition="left">
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

4
frontend/app/features/settings/pages/languages/languages-page.component.html

@ -29,11 +29,11 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.history" titlePosition="left"> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.history" titlePosition="left">
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

4
frontend/app/features/settings/pages/patterns/patterns-page.component.html

@ -32,11 +32,11 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.history" titlePosition="left"> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.history" titlePosition="left">
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

2
frontend/app/features/settings/pages/plans/plans-page.component.html

@ -46,7 +46,7 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.history" titlePosition="left"> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.history" titlePosition="left">
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
</div> </div>

4
frontend/app/features/settings/pages/roles/roles-page.component.html

@ -27,11 +27,11 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="history" routerLinkActive="active" title="i18n:common.history" titlePosition="left"> <a class="panel-link" routerLink="history" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.history" titlePosition="left">
<i class="icon-time"></i> <i class="icon-time"></i>
</a> </a>
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

2
frontend/app/features/settings/pages/workflows/workflows-page.component.html

@ -45,7 +45,7 @@
<ng-container sidebar> <ng-container sidebar>
<div class="panel-nav"> <div class="panel-nav">
<a class="panel-link" routerLink="help" routerLinkActive="active" title="i18n:common.help" titlePosition="left"> <a class="panel-link" routerLink="help" routerLinkActive="active" queryParamsHandling="preserve" title="i18n:common.help" titlePosition="left">
<i class="icon-help2"></i> <i class="icon-help2"></i>
</a> </a>
</div> </div>

2
frontend/app/framework/angular/panel.component.html

@ -23,7 +23,7 @@
</a> </a>
</ng-container> </ng-container>
<ng-template #defaultClose> <ng-template #defaultClose>
<a class="panel-close" sqxParentLink [isLazyLoaded]="isLazyLoaded"> <a class="panel-close" sqxParentLink [isLazyLoaded]="isLazyLoaded" [queryParamsHandling]="closeQueryParamsHandling">
<i class="icon-close"></i> <i class="icon-close"></i>
</a> </a>
</ng-template> </ng-template>

4
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 { 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 { slideRightAnimation } from '@app/framework/internal';
import { PanelContainerDirective } from './panel-container.directive'; import { PanelContainerDirective } from './panel-container.directive';
@ -26,6 +27,9 @@ export class PanelComponent implements AfterViewInit, OnChanges, OnDestroy, OnIn
@Output() @Output()
public close = new EventEmitter(); public close = new EventEmitter();
@Input()
public closeQueryParamsHandling: QueryParamsHandling = 'preserve';
@Input() @Input()
public theme = 'light'; public theme = 'light';

36
frontend/app/framework/angular/routers/parent-link.directive.ts

@ -6,7 +6,7 @@
*/ */
import { Directive, ElementRef, HostListener, Input, OnInit, Renderer2 } from '@angular/core'; 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'; import { ResourceOwner } from '@app/framework/internal';
@Directive({ @Directive({
@ -18,6 +18,9 @@ export class ParentLinkDirective extends ResourceOwner implements OnInit {
@Input() @Input()
public isLazyLoaded = false; public isLazyLoaded = false;
@Input()
public queryParamsHandling: QueryParamsHandling;
constructor( constructor(
private readonly router: Router, private readonly router: Router,
private readonly route: ActivatedRoute, private readonly route: ActivatedRoute,
@ -29,19 +32,36 @@ export class ParentLinkDirective extends ResourceOwner implements OnInit {
public ngOnInit() { public ngOnInit() {
this.own( this.own(
this.route.url.subscribe(() => { this.route.url
this.url = this.isLazyLoaded ? .subscribe(() => {
this.router.createUrlTree(['.'], { relativeTo: this.route.parent!.parent }).toString() : this.updateUrl();
this.router.createUrlTree(['.'], { relativeTo: this.route.parent }).toString(); }));
this.renderer.setProperty(this.element.nativeElement, 'href', this.url); this.own(
})); this.router.events
.subscribe(event => {
if (event instanceof NavigationEnd) {
this.updateUrl();
}
}));
} }
@HostListener('click') @HostListener('click')
public onClick(): boolean { public onClick(): boolean {
this.router.navigateByUrl(this.url); this.router.navigateByUrl(this.url, {
queryParamsHandling: 'preserve'
});
return false; 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);
}
} }

2
frontend/app/shell/pages/app/left-menu.component.html

@ -10,7 +10,7 @@
</a> </a>
</li> </li>
<li class="nav-item" *ngIf="app.canReadAssets"> <li class="nav-item" *ngIf="app.canReadAssets">
<a class="nav-link" routerLink="assets/filters" routerLinkActive="active"> <a class="nav-link" routerLink="assets" routerLinkActive="active">
<i class="nav-icon icon-assets"></i> <div class="nav-text">{{ 'common.assets' | sqxTranslate }}</div> <i class="nav-icon icon-assets"></i> <div class="nav-text">{{ 'common.assets' | sqxTranslate }}</div>
</a> </a>
</li> </li>

Loading…
Cancel
Save