mirror of
https://github.com/richard-loafle/fuse-angular.git
synced 2025-01-10 12:35:07 +00:00
(Navigation) Fixed: Horizontal navigation items don't have 'hidden' and 'custom function' features
This commit is contained in:
parent
1a9229a3ae
commit
26e55d7f3d
|
@ -1,4 +1,30 @@
|
||||||
<a class="nav-link" matRipple>
|
<ng-container *ngIf="!item.hidden">
|
||||||
|
|
||||||
|
<!-- normal collapse -->
|
||||||
|
<a class="nav-link" *ngIf="!item.url && !item.function" matRipple>
|
||||||
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- item.url -->
|
||||||
|
<a class="nav-link" *ngIf="item.url && !item.function"
|
||||||
|
[routerLink]="[item.url]" routerLinkActive="active"
|
||||||
|
[routerLinkActiveOptions]="{exact: item.exactMatch || false}" matRipple>
|
||||||
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<!-- item.function -->
|
||||||
|
<span class="nav-link" *ngIf="!item.url && item.function" (click)="item.function()" matRipple>
|
||||||
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<!-- item.url && item.function -->
|
||||||
|
<a class="nav-link" *ngIf="item.url && item.function" (click)="item.function()"
|
||||||
|
[routerLink]="[item.url]" routerLinkActive="active"
|
||||||
|
[routerLinkActiveOptions]="{exact: item.exactMatch || false}" matRipple>
|
||||||
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ng-template #itemContent>
|
||||||
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
|
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
|
||||||
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
|
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
|
||||||
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
|
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
|
||||||
|
@ -6,7 +32,7 @@
|
||||||
{{item.badge.title}}
|
{{item.badge.title}}
|
||||||
</span>
|
</span>
|
||||||
<mat-icon class="collapse-arrow">keyboard_arrow_right</mat-icon>
|
<mat-icon class="collapse-arrow">keyboard_arrow_right</mat-icon>
|
||||||
</a>
|
</ng-template>
|
||||||
|
|
||||||
<div class="children" [ngClass]="{'open': isOpen}">
|
<div class="children" [ngClass]="{'open': isOpen}">
|
||||||
|
|
||||||
|
@ -14,10 +40,13 @@
|
||||||
|
|
||||||
<ng-container *ngFor="let item of item.children">
|
<ng-container *ngFor="let item of item.children">
|
||||||
<fuse-nav-horizontal-item *ngIf="item.type=='item'" [item]="item"></fuse-nav-horizontal-item>
|
<fuse-nav-horizontal-item *ngIf="item.type=='item'" [item]="item"></fuse-nav-horizontal-item>
|
||||||
<fuse-nav-horizontal-collapse *ngIf="item.type=='collapse'" [item]="item"></fuse-nav-horizontal-collapse>
|
<fuse-nav-horizontal-collapse *ngIf="item.type=='collapse'"
|
||||||
|
[item]="item"></fuse-nav-horizontal-collapse>
|
||||||
<fuse-nav-horizontal-collapse *ngIf="item.type=='group'" [item]="item"></fuse-nav-horizontal-collapse>
|
<fuse-nav-horizontal-collapse *ngIf="item.type=='group'" [item]="item"></fuse-nav-horizontal-collapse>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</ng-container>
|
|
@ -1,18 +1,30 @@
|
||||||
|
<ng-container *ngIf="!item.hidden">
|
||||||
|
|
||||||
|
<!-- item.url -->
|
||||||
<a class="nav-link" *ngIf="item.url" [routerLink]="[item.url]" routerLinkActive="active"
|
<a class="nav-link" *ngIf="item.url" [routerLink]="[item.url]" routerLinkActive="active"
|
||||||
[routerLinkActiveOptions]="{exact: item.exactMatch || false}" matRipple>
|
[routerLinkActiveOptions]="{exact: item.exactMatch || false}" matRipple>
|
||||||
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
|
|
||||||
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
|
|
||||||
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
|
|
||||||
{{item.badge.title}}
|
|
||||||
</span>
|
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
<!-- item.function -->
|
||||||
<span class="nav-link" *ngIf="item.function" (click)="item.function()" matRipple>
|
<span class="nav-link" *ngIf="item.function" (click)="item.function()" matRipple>
|
||||||
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<!-- item.url && item.function -->
|
||||||
|
<a class="nav-link" *ngIf="item.url && item.function" (click)="item.function()"
|
||||||
|
[routerLink]="[item.url]" routerLinkActive="active"
|
||||||
|
[routerLinkActiveOptions]="{exact: item.exactMatch || false}" matRipple>
|
||||||
|
<ng-container *ngTemplateOutlet="itemContent"></ng-container>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<ng-template #itemContent>
|
||||||
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
|
<mat-icon class="nav-link-icon" *ngIf="item.icon">{{item.icon}}</mat-icon>
|
||||||
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
|
<span class="nav-link-title" [translate]="item.translate">{{item.title}}</span>
|
||||||
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
|
<span class="nav-link-badge" *ngIf="item.badge" [translate]="item.badge.translate"
|
||||||
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
|
[ngStyle]="{'background-color': item.badge.bg,'color': item.badge.fg}">
|
||||||
{{item.badge.title}}
|
{{item.badge.title}}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</ng-template>
|
||||||
|
|
||||||
|
</ng-container>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user