mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-11-10 00:27:41 +08:00
Fixed #158 - tab bar styles not set
This commit is contained in:
15
dist/js/ionic-angular.js
vendored
15
dist/js/ionic-angular.js
vendored
@ -25611,11 +25611,24 @@ angular.module('ionic.ui.tabs', ['ngAnimate'])
|
|||||||
template: '<div class="content"><tab-controller-bar></tab-controller-bar></div>',
|
template: '<div class="content"><tab-controller-bar></tab-controller-bar></div>',
|
||||||
compile: function(element, attr, transclude, tabsCtrl) {
|
compile: function(element, attr, transclude, tabsCtrl) {
|
||||||
return function($scope, $element, $attr) {
|
return function($scope, $element, $attr) {
|
||||||
|
var tabs = $element[0].querySelector('.tabs');
|
||||||
|
|
||||||
$scope.tabsType = $attr.tabsType || 'tabs-positive';
|
$scope.tabsType = $attr.tabsType || 'tabs-positive';
|
||||||
$scope.tabsStyle = $attr.tabsStyle;
|
$scope.tabsStyle = $attr.tabsStyle;
|
||||||
$scope.animation = $attr.animation;
|
$scope.animation = $attr.animation;
|
||||||
|
|
||||||
|
$attr.$observe('tabsStyle', function(val) {
|
||||||
|
if(tabs) {
|
||||||
|
angular.element(tabs).addClass($attr.tabsStyle);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$attr.$observe('tabsType', function(val) {
|
||||||
|
if(tabs) {
|
||||||
|
angular.element(tabs).addClass($attr.tabsType);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$scope.$watch('activeAnimation', function(value) {
|
$scope.$watch('activeAnimation', function(value) {
|
||||||
//$element.removeClass($scope.animation + ' ' + $scope.animation + '-reverse');
|
//$element.removeClass($scope.animation + ' ' + $scope.animation + '-reverse');
|
||||||
$element.addClass($scope.activeAnimation);
|
$element.addClass($scope.activeAnimation);
|
||||||
@ -25683,7 +25696,7 @@ angular.module('ionic.ui.tabs', ['ngAnimate'])
|
|||||||
template: '<div class="tabs">' +
|
template: '<div class="tabs">' +
|
||||||
'<tab-controller-item title="{{controller.title}}" icon="{{controller.icon}}" icon-on="{{controller.iconOn}}" icon-off="{{controller.iconOff}}" active="controller.isVisible" index="$index" ng-repeat="controller in controllers"></tab-controller-item>' +
|
'<tab-controller-item title="{{controller.title}}" icon="{{controller.icon}}" icon-on="{{controller.iconOn}}" icon-off="{{controller.iconOff}}" active="controller.isVisible" index="$index" ng-repeat="controller in controllers"></tab-controller-item>' +
|
||||||
'</div>',
|
'</div>',
|
||||||
link: function($scope, $element, $attr) {
|
link: function($scope, $element, $attr, tabsCtrl) {
|
||||||
$element.addClass($scope.tabsType);
|
$element.addClass($scope.tabsType);
|
||||||
$element.addClass($scope.tabsStyle);
|
$element.addClass($scope.tabsStyle);
|
||||||
}
|
}
|
||||||
|
|||||||
15
js/ext/angular/src/directive/ionicTabBar.js
vendored
15
js/ext/angular/src/directive/ionicTabBar.js
vendored
@ -54,11 +54,24 @@ angular.module('ionic.ui.tabs', ['ngAnimate'])
|
|||||||
template: '<div class="content"><tab-controller-bar></tab-controller-bar></div>',
|
template: '<div class="content"><tab-controller-bar></tab-controller-bar></div>',
|
||||||
compile: function(element, attr, transclude, tabsCtrl) {
|
compile: function(element, attr, transclude, tabsCtrl) {
|
||||||
return function($scope, $element, $attr) {
|
return function($scope, $element, $attr) {
|
||||||
|
var tabs = $element[0].querySelector('.tabs');
|
||||||
|
|
||||||
$scope.tabsType = $attr.tabsType || 'tabs-positive';
|
$scope.tabsType = $attr.tabsType || 'tabs-positive';
|
||||||
$scope.tabsStyle = $attr.tabsStyle;
|
$scope.tabsStyle = $attr.tabsStyle;
|
||||||
$scope.animation = $attr.animation;
|
$scope.animation = $attr.animation;
|
||||||
|
|
||||||
|
$attr.$observe('tabsStyle', function(val) {
|
||||||
|
if(tabs) {
|
||||||
|
angular.element(tabs).addClass($attr.tabsStyle);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$attr.$observe('tabsType', function(val) {
|
||||||
|
if(tabs) {
|
||||||
|
angular.element(tabs).addClass($attr.tabsType);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$scope.$watch('activeAnimation', function(value) {
|
$scope.$watch('activeAnimation', function(value) {
|
||||||
//$element.removeClass($scope.animation + ' ' + $scope.animation + '-reverse');
|
//$element.removeClass($scope.animation + ' ' + $scope.animation + '-reverse');
|
||||||
$element.addClass($scope.activeAnimation);
|
$element.addClass($scope.activeAnimation);
|
||||||
@ -126,7 +139,7 @@ angular.module('ionic.ui.tabs', ['ngAnimate'])
|
|||||||
template: '<div class="tabs">' +
|
template: '<div class="tabs">' +
|
||||||
'<tab-controller-item title="{{controller.title}}" icon="{{controller.icon}}" icon-on="{{controller.iconOn}}" icon-off="{{controller.iconOff}}" active="controller.isVisible" index="$index" ng-repeat="controller in controllers"></tab-controller-item>' +
|
'<tab-controller-item title="{{controller.title}}" icon="{{controller.icon}}" icon-on="{{controller.iconOn}}" icon-off="{{controller.iconOff}}" active="controller.isVisible" index="$index" ng-repeat="controller in controllers"></tab-controller-item>' +
|
||||||
'</div>',
|
'</div>',
|
||||||
link: function($scope, $element, $attr) {
|
link: function($scope, $element, $attr, tabsCtrl) {
|
||||||
$element.addClass($scope.tabsType);
|
$element.addClass($scope.tabsType);
|
||||||
$element.addClass($scope.tabsStyle);
|
$element.addClass($scope.tabsStyle);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -113,6 +113,17 @@ describe('Tabs directive', function() {
|
|||||||
scope.$digest();
|
scope.$digest();
|
||||||
expect(element.find('a').length).toBe(2);
|
expect(element.find('a').length).toBe(2);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Sets style on child tabs', function() {
|
||||||
|
element = compile('<tabs tabs-style="tabs-positive" tabs-type="tabs-icon-bottom">' +
|
||||||
|
'<tab active="true" title="Item" icon="icon-default"></tab>' +
|
||||||
|
'<tab active="true" title="Item" icon="icon-default"></tab>' +
|
||||||
|
'</tabs>')(scope);
|
||||||
|
scope.$digest();
|
||||||
|
var tabs = element[0].querySelector('.tabs');
|
||||||
|
expect(angular.element(tabs).hasClass('tabs-positive')).toEqual(true);
|
||||||
|
expect(angular.element(tabs).hasClass('tabs-icon-bottom')).toEqual(true);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Tab Item directive', function() {
|
describe('Tab Item directive', function() {
|
||||||
|
|||||||
@ -43,6 +43,8 @@
|
|||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
<script src="../../../../dist/js/ionic.js"></script>
|
||||||
|
<script src="../../../../dist/js/ionic-angular.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body ng-controller="RootCtrl">
|
<body ng-controller="RootCtrl">
|
||||||
<tabs
|
<tabs
|
||||||
@ -129,8 +131,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="../../../../dist/js/ionic.js"></script>
|
|
||||||
<script src="../../../../dist/js/ionic-angular.js"></script>
|
|
||||||
<script>
|
<script>
|
||||||
angular.module('tabsTest', ['ionic'])
|
angular.module('tabsTest', ['ionic'])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user