fix(ionView): initialize hideBack/hideNav to false if undefined

Addresses comments in #1157
This commit is contained in:
Andy Joslin
2014-04-29 08:28:26 -06:00
parent d1896e91d0
commit 5e56c2d6b7
2 changed files with 24 additions and 12 deletions

View File

@@ -59,19 +59,21 @@ IonicModule
}
if (angular.isDefined($attr.hideBackButton)) {
$scope.$watch($attr.hideBackButton, function(value) {
// Should we hide a back button when this tab is shown
navBarCtrl.showBackButton(!value);
});
}
var hideBackAttr = angular.isDefined($attr.hideBackButton) ?
$attr.hideBackButton :
'false';
$scope.$watch(hideBackAttr, function(value) {
// Should we hide a back button when this tab is shown
navBarCtrl.showBackButton(!value);
});
if (angular.isDefined($attr.hideNavBar)) {
$scope.$watch($attr.hideNavBar, function(value) {
// Should the nav bar be hidden for this view or not?
navBarCtrl.showBar(!value);
});
}
var hideNavAttr = angular.isDefined($attr.hideNavBar) ?
$attr.hideNavBar :
'false';
$scope.$watch(hideNavAttr, function(value) {
// Should the nav bar be hidden for this view or not?
navBarCtrl.showBar(!value);
});
};
}

View File

@@ -57,6 +57,11 @@ describe('ionView directive', function() {
expect(el.controller('ionNavBar').showBackButton).toHaveBeenCalledWith(true);
});
it('should show back button by default', function() {
var el = setup();
expect(el.controller('ionNavBar').showBackButton).toHaveBeenCalledWith(true);
});
it('should showBar depending on what is given', function() {
var el = setup('hide-nav-bar="shouldHide"');
expect(el.controller('ionNavBar').showBar).toHaveBeenCalledWith(true);
@@ -66,6 +71,11 @@ describe('ionView directive', function() {
expect(el.controller('ionNavBar').showBar).toHaveBeenCalledWith(true);
});
it('should showBar by default', function() {
var el = setup();
expect(el.controller('ionNavBar').showBar).toHaveBeenCalledWith(true);
});
it('should setTitle on change, but not with initial value', function() {
var el = setup('title="{{something}}-1"');
//Should not setTitle with initial value