parent
acc697740c
commit
90e22039ec
4 changed files with 71 additions and 89 deletions
@ -1,80 +0,0 @@ |
||||
/** |
||||
* The angular tabs module |
||||
* @author: nerv |
||||
* @version: 0.2.5, 2012-08-25 |
||||
*/ |
||||
|
||||
|
||||
'use strict'; |
||||
|
||||
|
||||
angular |
||||
|
||||
|
||||
.module( 'tabs', []) |
||||
|
||||
|
||||
.directive( 'ngTabs', function() { |
||||
return { |
||||
scope: true, |
||||
restrict: 'EAC', |
||||
controller: function( $scope ) { |
||||
$scope.tabs = { |
||||
index: 0, |
||||
count: 0 |
||||
}; |
||||
|
||||
this.headIndex = 0; |
||||
this.bodyIndex = 0; |
||||
|
||||
this.getTabHeadIndex = function() { |
||||
return $scope.tabs.count = ++this.headIndex; |
||||
}; |
||||
|
||||
this.getTabBodyIndex = function() { |
||||
return ++this.bodyIndex; |
||||
}; |
||||
} |
||||
}; |
||||
}) |
||||
|
||||
|
||||
.directive( 'ngTabHead', function() { |
||||
return { |
||||
scope: false, |
||||
restrict: 'EAC', |
||||
require: '^ngTabs', |
||||
link: function( scope, element, attributes, controller ) { |
||||
var index = controller.getTabHeadIndex(); |
||||
var value = attributes.ngTabHead; |
||||
var active = /[-*\/%^=!<>&|]/.test( value ) ? scope.$eval( value ) : !!value; |
||||
|
||||
scope.tabs.index = scope.tabs.index || ( active ? index : null ); |
||||
|
||||
element.bind( 'click', function() { |
||||
scope.tabs.index = index; |
||||
scope.$$phase || scope.$apply(); |
||||
}); |
||||
|
||||
scope.$watch( 'tabs.index', function() { |
||||
element.toggleClass( 'active', scope.tabs.index === index ); |
||||
}); |
||||
} |
||||
}; |
||||
}) |
||||
|
||||
|
||||
.directive( 'ngTabBody', function() { |
||||
return { |
||||
scope: false, |
||||
restrict: 'EAC', |
||||
require: '^ngTabs', |
||||
link: function( scope, element, attributes, controller ) { |
||||
var index = controller.getTabBodyIndex(); |
||||
|
||||
scope.$watch( 'tabs.index', function() { |
||||
element.toggleClass( attributes.ngTabBody + ' show', scope.tabs.index === index ); |
||||
}); |
||||
} |
||||
}; |
||||
}); |
||||
Loading…
Reference in new issue