mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-07 06:57:02 +08:00
45 lines
1.1 KiB
JavaScript
45 lines
1.1 KiB
JavaScript
|
|
(function(ionic) {
|
|
|
|
ionic.views.NavBar = function(opts) {
|
|
this.el = opts.el;
|
|
|
|
this._titleEl = this.el.querySelector('.title');
|
|
};
|
|
|
|
ionic.views.NavBar.prototype = {
|
|
shouldGoBack: function() {},
|
|
|
|
setTitle: function(title) {
|
|
if(!this._titleEl) {
|
|
return;
|
|
}
|
|
this._titleEl.innerHTML = title;
|
|
},
|
|
|
|
showBackButton: function(shouldShow) {
|
|
var _this = this;
|
|
|
|
if(!this._currentBackButton) {
|
|
var back = document.createElement('a');
|
|
back.className = 'button back';
|
|
back.innerHTML = 'Back';
|
|
|
|
this._currentBackButton = back;
|
|
this._currentBackButton.onclick = function(event) {
|
|
_this.shouldGoBack && _this.shouldGoBack();
|
|
}
|
|
}
|
|
|
|
if(shouldShow && !this._currentBackButton.parentNode) {
|
|
// Prepend the back button
|
|
this.el.insertBefore(this._currentBackButton, this.el.firstChild);
|
|
} else if(!shouldShow && this._currentBackButton.parentNode) {
|
|
// Remove the back button if it's there
|
|
this._currentBackButton.parentNode.removeChild(this._currentBackButton);
|
|
}
|
|
}
|
|
};
|
|
|
|
})(ionic);
|