Skip to content

Commit 40dec1c

Browse files
fixed tap switch rendering full page
1 parent 3e2a640 commit 40dec1c

File tree

4 files changed

+25
-20
lines changed

4 files changed

+25
-20
lines changed

src/app/applications/applications-list/applications-list.component.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@ <h2>{{ "WELCOME-DIALOG.NO-ACCESS" | translate }}</h2>
2525
<app-application-filter />
2626
<app-applications-list-dashboard />
2727
<div class="switch-content-container">
28-
<app-basic-tap-switch [tabs]="tabs"> </app-basic-tap-switch>
29-
@if(router.url === mapRoute){
28+
<app-basic-tap-switch [tabs]="tabs" [currentUrl]="currentPath" (tabClicked)="onTapClicked($event)">
29+
</app-basic-tap-switch>
30+
@if(currentPath === mapRoute){
3031
<app-application-map></app-application-map>
31-
} @if(router.url === listRoute){
32+
} @if(currentPath === listRoute){
3233
<app-applications-table [organizationId]="organizationId" *ngIf="organizationId"></app-applications-table>
3334
}
3435
</div>

src/app/applications/applications-list/applications-list.component.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Component, Input, OnInit } from "@angular/core";
22
import { MatDialog } from "@angular/material/dialog";
33
import { MatIconRegistry } from "@angular/material/icon";
44
import { DomSanitizer, Title } from "@angular/platform-browser";
5-
import { ActivatedRoute, NavigationEnd, Router } from "@angular/router";
5+
import { ActivatedRoute, Router } from "@angular/router";
66
import { UserMinimalService } from "@app/admin/users/user-minimal.service";
77
import { NavbarComponent } from "@app/navbar/navbar.component";
88
import { ApplicationService } from "@applications/application.service";
@@ -115,11 +115,7 @@ export class ApplicationsListComponent implements OnInit {
115115
// Authenticate user
116116
this.verifyUserAndInit();
117117

118-
this.router.events.subscribe(event => {
119-
if (event instanceof NavigationEnd) {
120-
this.currentPath = event.url;
121-
}
122-
});
118+
this.currentPath = this.router.url;
123119
}
124120

125121
verifyUserAndInit() {
@@ -215,4 +211,8 @@ export class ApplicationsListComponent implements OnInit {
215211
this.isLoadingResults = false;
216212
});
217213
}
214+
215+
onTapClicked(url: string) {
216+
this.currentPath = url;
217+
}
218218
}

src/app/shared/components/basic-tap-switch/basic-tap-switch.component.html

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
<div class="main-container">
2-
@for (tab of tabs; track tab.title; let idx = $index) {
3-
<div [ngClass]="index === idx ? 'active-tap' : 'inactive-tap'" class="tap-base" (click)="onClick(tab.uri)">
2+
@for (tab of tabs; track tab.title;) {
3+
<div [ngClass]="currentUrl === tab.uri ? 'active-tap' : 'inactive-tap'" class="tap-base" (click)="onClick(tab.uri)">
44
@if(tab.icon){
5-
<mat-icon [ngClass]="index === idx ? 'active-tap-icon' : 'inactive-tap-icon'" svgIcon="{{ tab.icon.matSVGSrc }}" />
5+
<mat-icon
6+
[ngClass]="currentUrl === tab.uri ? 'active-tap-icon' : 'inactive-tap-icon'"
7+
svgIcon="{{ tab.icon.matSVGSrc }}"
8+
/>
69
}
710
{{ tab.title }}
8-
@for (counter of tab.counters; track counter; let idx = $index) {
11+
@for (counter of tab.counters; track counter;) {
912
<div
1013
class="counter-base {{
11-
'counter-' + (counter.color === 'default' && index !== idx ? 'default-inactive' : counter.color)
14+
'counter-' + (counter.color === 'default' && currentUrl === tab.uri ? 'default-inactive' : counter.color)
1215
}}"
1316
>
1417
{{ counter.value }}

src/app/shared/components/basic-tap-switch/basic-tap-switch.component.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Location, NgClass } from "@angular/common";
2-
import { Component, Input } from "@angular/core";
2+
import { Component, EventEmitter, Input, Output } from "@angular/core";
33
import { MatButtonModule } from "@angular/material/button";
44
import { MatIcon } from "@angular/material/icon";
55
import { Router } from "@angular/router";
@@ -30,14 +30,15 @@ export interface Tab {
3030
styleUrl: "./basic-tap-switch.component.scss",
3131
})
3232
export class BasicTapSwitchComponent {
33-
index: number = 0;
34-
@Input() tabs!: Tab[];
33+
@Input() currentUrl: string;
34+
@Input() tabs: Tab[];
35+
36+
@Output() tabClicked = new EventEmitter<string>();
3537

3638
constructor(private router: Router, private _location: Location) {}
3739

3840
onClick(uri: string) {
39-
this.router.navigateByUrl(uri, {
40-
replaceUrl: true,
41-
});
41+
this._location.go(uri);
42+
this.tabClicked.emit(uri);
4243
}
4344
}

0 commit comments

Comments
 (0)