File

projects/rebirth-ng/src/lib/menu-bar/nav-item.component.ts

Metadata

selector re-nav-item
styleUrls nav-item.component.scss
templateUrl ./nav-item.component.html

Index

Inputs

Inputs

direction

Type: "down" | "up"

menus

Type: MenuItem[]

Default value: []

right

Type: boolean

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>&nbsp;{{menu.text}}</a>

  <a *ngIf="menu.handler" (click)="menu.handler(menu)">
    <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i>&nbsp;{{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>&nbsp;{{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>&nbsp;{{menu.text}}</a>

        <a *ngIf="menu.handler" (click)="menu.handler(menu)">
          <i *ngIf="menu.icon" class="menu-icon {{menu.icon}}"></i>&nbsp;{{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>&nbsp;{{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>&nbsp;{{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>&nbsp;{{child.text}}</a>

              <a *ngIf="child.handler" (click)="child.handler(child)">
                <i *ngIf="child.icon" class="menu-icon {{child.icon}}"></i>&nbsp;{{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>&nbsp;{{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>
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""