(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "@angular/core", "../../navigation/nav-controller"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var core_1 = require("@angular/core");
var nav_controller_1 = require("../../navigation/nav-controller");
/**
* @name NavPush
* @description
* Directive to declaratively push a new page to the current nav
* stack.
*
* @usage
* ```html
*
* ```
*
* To specify parameters you can use array syntax or the `navParams`
* property:
*
* ```html
*
* ```
*
* Where `pushPage` and `params` are specified in your component,
* and `pushPage` contains a reference to a
* component you would like to push:
*
* ```ts
* import { LoginPage } from './login';
*
* @Component({
* template: ``
* })
* class MyPage {
* pushPage: any;
* params: Object;
* constructor(){
* this.pushPage = LoginPage;
* this.params = { id: 42 };
* }
* }
* ```
*
* @demo /docs/demos/src/navigation/
* @see {@link /docs/components#navigation Navigation Component Docs}
* @see {@link ../NavPop NavPop API Docs}
*
*/
var NavPush = (function () {
function NavPush(_nav) {
this._nav = _nav;
if (!_nav) {
console.error('navPush must be within a NavController');
}
}
/**
* @hidden
*/
NavPush.prototype.onClick = function () {
if (this._nav && this.navPush) {
this._nav.push(this.navPush, this.navParams);
return false;
}
return true;
};
NavPush.decorators = [
{ type: core_1.Directive, args: [{
selector: '[navPush]'
},] },
];
/** @nocollapse */
NavPush.ctorParameters = function () { return [
{ type: nav_controller_1.NavController, decorators: [{ type: core_1.Optional },] },
]; };
NavPush.propDecorators = {
'navPush': [{ type: core_1.Input },],
'navParams': [{ type: core_1.Input },],
'onClick': [{ type: core_1.HostListener, args: ['click',] },],
};
return NavPush;
}());
exports.NavPush = NavPush;
});
//# sourceMappingURL=nav-push.js.map