Showing
4 changed files
with
11 additions
and
2 deletions
@@ -24,7 +24,7 @@ | @@ -24,7 +24,7 @@ | ||
24 | [ngClass]="{'tb-toggled' : sectionActive()}"></span> | 24 | [ngClass]="{'tb-toggled' : sectionActive()}"></span> |
25 | </a> | 25 | </a> |
26 | <ul id="docs-menu-{{section.name | nospace}}" class="tb-menu-toggle-list" [ngStyle]="{height: sectionHeight()}"> | 26 | <ul id="docs-menu-{{section.name | nospace}}" class="tb-menu-toggle-list" [ngStyle]="{height: sectionHeight()}"> |
27 | - <li *ngFor="let page of section.pages"> | 27 | + <li *ngFor="let page of section.pages; trackBy: trackBySectionPages"> |
28 | <tb-menu-link [section]="page"></tb-menu-link> | 28 | <tb-menu-link [section]="page"></tb-menu-link> |
29 | </li> | 29 | </li> |
30 | </ul> | 30 | </ul> |
@@ -44,4 +44,8 @@ export class MenuToggleComponent implements OnInit { | @@ -44,4 +44,8 @@ export class MenuToggleComponent implements OnInit { | ||
44 | return '0px'; | 44 | return '0px'; |
45 | } | 45 | } |
46 | } | 46 | } |
47 | + | ||
48 | + trackBySectionPages(index: number, section: MenuSection){ | ||
49 | + return section.name; | ||
50 | + } | ||
47 | } | 51 | } |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | 16 | ||
17 | --> | 17 | --> |
18 | <ul fxFlex fxLayout="column" fxLayoutAlign="start stretch" class="tb-side-menu"> | 18 | <ul fxFlex fxLayout="column" fxLayoutAlign="start stretch" class="tb-side-menu"> |
19 | - <li *ngFor="let section of menuSections$| async" [ngSwitch]="section.type === 'link'"> | 19 | + <li *ngFor="let section of menuSections$ | async; trackBy: trackByMenuSection" [ngSwitch]="section.type === 'link'"> |
20 | <tb-menu-link *ngSwitchCase="true" [section]="section"></tb-menu-link> | 20 | <tb-menu-link *ngSwitchCase="true" [section]="section"></tb-menu-link> |
21 | <tb-menu-toggle *ngSwitchCase="false" [section]="section"></tb-menu-toggle> | 21 | <tb-menu-toggle *ngSwitchCase="false" [section]="section"></tb-menu-toggle> |
22 | </li> | 22 | </li> |
@@ -16,6 +16,7 @@ | @@ -16,6 +16,7 @@ | ||
16 | 16 | ||
17 | import { Component, OnInit } from '@angular/core'; | 17 | import { Component, OnInit } from '@angular/core'; |
18 | import { MenuService } from '@core/services/menu.service'; | 18 | import { MenuService } from '@core/services/menu.service'; |
19 | +import { MenuSection } from '@core/services/menu.models'; | ||
19 | 20 | ||
20 | @Component({ | 21 | @Component({ |
21 | selector: 'tb-side-menu', | 22 | selector: 'tb-side-menu', |
@@ -29,6 +30,10 @@ export class SideMenuComponent implements OnInit { | @@ -29,6 +30,10 @@ export class SideMenuComponent implements OnInit { | ||
29 | constructor(private menuService: MenuService) { | 30 | constructor(private menuService: MenuService) { |
30 | } | 31 | } |
31 | 32 | ||
33 | + trackByMenuSection(index: number, section: MenuSection){ | ||
34 | + return section.name; | ||
35 | + } | ||
36 | + | ||
32 | ngOnInit() { | 37 | ngOnInit() { |
33 | } | 38 | } |
34 | 39 |