38 lines
1.6 KiB
HTML
38 lines
1.6 KiB
HTML
<!--
|
|
|
|
Copyright © 2016-2025 The Thingsboard Authors
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
|
|
-->
|
|
<div class="flex flex-1 flex-col" style="width: 100%;">
|
|
<div class="flex flex-row" style="width: 100%;">
|
|
<nav *ngIf="!routerOutlet?.activatedRouteData?.hideTabs && !hideCurrentTabs && (tabs$ | async).length > 1" mat-tab-nav-bar mat-stretch-tabs="false" class="tb-router-tabs flex-1" [tabPanel]="tabPanel">
|
|
<a *ngFor="let tab of tabs$ | async"
|
|
routerLink="{{tab.path}}"
|
|
replaceUrl="{{ replaceUrl }}"
|
|
routerLinkActive
|
|
#rla="routerLinkActive"
|
|
mat-tab-link
|
|
[active]="rla.isActive">
|
|
<tb-icon *ngIf="tab.icon !== null" class="tb-mat-18">{{tab.icon}}</tb-icon>
|
|
<span>{{tab.name | translate}}</span>
|
|
</a>
|
|
</nav>
|
|
<tb-anchor #tabsHeaderComponent></tb-anchor>
|
|
</div>
|
|
<mat-tab-nav-panel #tabPanel class="tb-router-tabs-content flex flex-1 flex-col">
|
|
<router-outlet #routerOutlet="outlet" (activate)="activeComponentChanged($event)"></router-outlet>
|
|
</mat-tab-nav-panel>
|
|
</div>
|