import { Component , ElementRef , Input , Optional , Renderer } from '@angular/core' ; import { App } from '../app/app' ; import { Config } from '../../config/config' ; import { isTrueProperty } from '../../util/util' ; import { NavController } from '../../navigation/nav-controller' ; import { ToolbarBase } from './toolbar-base' ; import { ViewController } from '../../navigation/view-controller' ; name description usage demo see {@link ../../toolbar/Toolbar/ Toolbar API Docs} @ Component ( { selector : 'ion-navbar' , template : '<div class="toolbar-background" [ngClass]="\'toolbar-background-\' + _mode"></div>' + '<button (click)="backButtonClick($event)" ion-button="bar-button" class="back-button" [ngClass]="\'back-button-\' + _mode" [hidden]="_hideBb">' + '<ion-icon class="back-button-icon" [ngClass]="\'back-button-icon-\' + _mode" [name]="_bbIcon"></ion-icon>' + '<span class="back-button-text" [ngClass]="\'back-button-text-\' + _mode">{{_backText}}</span>' + '</button>' + '<ng-content select="[menuToggle],ion-buttons[left]"></ng-content>' + '<ng-content select="ion-buttons[start]"></ng-content>' + '<ng-content select="ion-buttons[end],ion-buttons[right]"></ng-content>' + '<div class="toolbar-content" [ngClass]="\'toolbar-content-\' + _mode">' + '<ng-content></ng-content>' + '</div>' , host : { '[hidden]' : '_hidden' , 'class' : 'toolbar' , '[class.statusbar-padding]' : '_sbPadding' } } ) export class Navbar extends ToolbarBase { hidden _backText : string ; hidden _bbIcon : string ; hidden _hidden : boolean = false ; hidden _hideBb : boolean = false ; hidden _sbPadding : boolean ; input @ Input ( ) get hideBackButton ( ) : boolean { return this . _hideBb ; } set hideBackButton ( val ) { this . _hideBb = isTrueProperty ( val ) ; } constructor ( public _app , @ Optional ( ) viewCtrl , @ Optional ( ) private navCtrl , config , elementRef , renderer ) { super ( config , elementRef , renderer ) ; viewCtrl && viewCtrl . _setNavbar ( this ) ; this . _bbIcon = config . get ( 'backButtonIcon' ) ; this . _sbPadding = config . getBoolean ( 'statusbarPadding' ) ; this . _backText = config . get ( 'backButtonText' , 'Back' ) ; } backButtonClick ( ev ) { ev . preventDefault ( ) ; ev . stopPropagation ( ) ; this . navCtrl && this . navCtrl . pop ( null , null ) ; } /**
     * Set the text of the Back Button in the Nav Bar. Defaults to "Back".
     */ setBackButtonText ( text ) { this . _backText = text ; } hidden didEnter ( ) { try { this . _app . setTitle ( this . getTitleText ( ) ) ; } catch ( e ) { console . error ( e ) ; } } hidden setHidden ( isHidden ) { this . _hidden = isHidden ; } }