projects/rebirth-ng/src/lib/menu-bar/nav-item.component.ts
| selector | re-nav-item | 
            
| styleUrls | nav-item.component.scss | 
            
| templateUrl | ./nav-item.component.html | 
            
                        Inputs | 
                
                        
                        direction
                     | 
                    
                             
                            Type:      | 
                
                        
                        menus
                     | 
                    
                             
                            Type:     
                            Default value:   | 
                
                        
                        right
                     | 
                    
                             
                            Type:      | 
                
import { Component, Input } from '@angular/core';
import { MenuItem } from './menu-bar.model';
@Component({
  selector: 're-nav-item',
  styleUrls: ['./nav-item.component.scss'],
  templateUrl: './nav-item.component.html',
})
export class NavItemComponent {
  @Input() menus: MenuItem[] = [];
  @Input() right: boolean;
  @Input() direction: 'down' | 'up';
}
    <ng-template #defaultMenuTemplate let-menu="menu">
  <a *ngIf="menu.router" [routerLink]="menu.router" routerLinkActive="active" [queryParams]="menu.queryParams"
     [target]="menu.target || '_self'">
    <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}</a>
  <a *ngIf="menu.handler" (click)="menu.handler(menu)">
    <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}</a>
  <a *ngIf="!menu.router && !menu.handler" [href]="menu.url" [target]="menu.target || '_self'">
    <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}</a>
</ng-template>
<ul class="nav navbar-nav" [ngClass]="{'navbar-right': right}">
  <ng-container *ngFor="let menu of menus">
    <li *ngIf="!menu.children?.length" class="{{menu.cssClass}}">
      <ng-template *ngIf="menu.itemTemplate" [ngTemplateOutlet]="menu.itemTemplate"
                   [ngTemplateOutletContext]="{ menu: menu }">
      </ng-template>
      <ng-container *ngIf="!menu.itemTemplate">
        <a *ngIf="menu.router" [routerLink]="menu.router" routerLinkActive="active" [queryParams]="menu.queryParams"
           [target]="menu.target || '_self'">
          <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}</a>
        <a *ngIf="menu.handler" (click)="menu.handler(menu)">
          <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}</a>
        <a *ngIf="!menu.router && !menu.handler" [href]="menu.url" [target]="menu.target || '_self'">
          <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}</a>
      </ng-container>
    </li>
    <li *ngIf="menu.children?.length" reDropdown [direction]="direction" routerLinkActive="active"
        class="dropdown-menu-parent {{menu.cssClass}}">
      <a class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">
        <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i> {{menu.text}}
        <span class="caret"></span>
      </a>
      <ul class="dropdown-menu forAnimate">
        <ng-container *ngFor="let child of menu?.children">
          <ng-template *ngIf="child.itemTemplate" [ngTemplateOutlet]="child.itemTemplate"
                       [ngTemplateOutletContext]="{ menu: child }">
          </ng-template>
          <ng-container *ngIf="!child.itemTemplate">
            <li *ngIf="!child.divider && !child.header" role="menuitem" class="{{child.cssClass}}">
              <a *ngIf="child.router" [routerLink]="child.router" routerLinkActive="active"
                 [queryParams]="child.queryParams" [target]="child.target || '_self'">
                <i *ngIf="child.icon" class="menu-icon {{child.icon}}"></i> {{child.text}}</a>
              <a *ngIf="child.handler" (click)="child.handler(child)">
                <i *ngIf="child.icon" class="menu-icon {{child.icon}}"></i> {{child.text}}</a>
              <a *ngIf="!child.router && !child.handler" [href]="child.url" [target]="child.target || '_self'">
                <i *ngIf="child.icon" class="menu-icon {{child.icon}}"></i> {{child.text}}</a>
            </li>
          </ng-container>
          <li *ngIf="child.divider" role="separator" class="divider"></li>
          <li *ngIf="child.header" class="dropdown-header">{{child.text}}</li>
        </ng-container>
      </ul>
    </li>
  </ng-container>
</ul>