Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit 883a809

Browse files
committed
feat(tab): add select expressions
- Add support for event and tab being available in select/deselect callbacks
1 parent 6fd4789 commit 883a809

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

src/tabs/docs/readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ AngularJS version of the tabs directive.
2929

3030
* `deselect()`
3131
<small class="badge">$</small> -
32-
An optional expression called when tab is deactivated.
32+
An optional expression called when tab is deactivated. Supports $event in template for expression.
3333

3434
* `disable`
3535
<small class="badge">$</small>
@@ -45,7 +45,7 @@ AngularJS version of the tabs directive.
4545

4646
* `select()`
4747
<small class="badge">$</small> -
48-
An optional expression called when tab is activated.
48+
An optional expression called when tab is activated. Supports $event in template for expression.
4949

5050
* `template-url`
5151
_(Default: `uib/template/tabs/tab.html`)_ -

src/tabs/tabs.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,22 @@ angular.module('ui.bootstrap.tabs', [])
55
oldIndex;
66
ctrl.tabs = [];
77

8-
ctrl.select = function(index) {
8+
ctrl.select = function(index, evt) {
99
if (!destroyed) {
1010
var previousIndex = findTabIndex(oldIndex);
1111
var previousSelected = ctrl.tabs[previousIndex];
1212
if (previousSelected) {
13-
previousSelected.tab.onDeselect();
13+
previousSelected.tab.onDeselect({
14+
$event: evt
15+
});
1416
previousSelected.tab.active = false;
1517
}
1618

1719
var selected = ctrl.tabs[index];
1820
if (selected) {
19-
selected.tab.onSelect();
21+
selected.tab.onSelect({
22+
$event: evt
23+
});
2024
selected.tab.active = true;
2125
ctrl.active = selected.index;
2226
oldIndex = selected.index;
@@ -143,7 +147,7 @@ angular.module('ui.bootstrap.tabs', [])
143147
}
144148
}
145149

146-
scope.select = function() {
150+
scope.select = function(evt) {
147151
if (!scope.disabled) {
148152
var index;
149153
for (var i = 0; i < tabsetCtrl.tabs.length; i++) {
@@ -153,7 +157,7 @@ angular.module('ui.bootstrap.tabs', [])
153157
}
154158
}
155159

156-
tabsetCtrl.select(index);
160+
tabsetCtrl.select(index, evt);
157161
}
158162
};
159163

template/tabs/tab.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<li ng-class="{active: active, disabled: disabled}" class="uib-tab nav-item">
2-
<a href ng-click="select()" class="nav-link" uib-tab-heading-transclude>{{heading}}</a>
2+
<a href ng-click="select($event)" class="nav-link" uib-tab-heading-transclude>{{heading}}</a>
33
</li>

0 commit comments

Comments
 (0)