`).
107 | * 2.0.0 Added `class` and `template-url` attributes on `uib-tab` and began using `
` tag.
108 | * 1.8.0 Added inline template by default (as requested) and allowed customer classes parameter.
109 | * 1.7.0 Added `uib` prefix for UI Bootstrap elements (as per v0.14.0). See [#47](/../../pull/47).
Upgraded angular-bootstrap to v14.0.
110 | * 1.6.0 Renamed `disabled` attribute to `disable` in line with UI Bootstrap ``. See [#39](/../../issues/39).
111 | * 1.5.1 Removed `bower_components` from repository. See [#40](/../../pull/40).
112 | * 1.5.0 Bumped `angular-bootstrap` dependency to v0.13.0 (fixes default tab being auto-selected).
113 | * 1.4.3 Added handling of `$stateChangeCancel`, `$stateChangeError` and `$stateNotFound` to reset active tab.
114 | * 1.4.2 Added feature to update tabs if state change event is cancelled. See [#19](/../../pull/19).
115 | * 1.4.1 Bumped angular-bootstrap dependency to v0.12.1.
116 | * 1.4.0 Removed default `$state.go(..)` route option, added `disabled` option and updated jsbeautifier. See [#16](/../../pull/16).
117 | * 1.3.0 Improved state equality checking to include params and options.
118 | * 1.2.0 Prevented reload of current state again. See [#11](/../../pull/11).
119 | * 1.1.4 Added support for `strict-di` mode.
120 | * 1.1.3 Fixed tab switching when using `ngTouch`. See [#2](/../../issues/2).
121 | * 1.1.2 Added `$stateChangeSuccess` watcher to update parent tab(s) when using
`ui-sref` or `$state.go()`. See [#1](/../../issues/1).
122 | * 1.1.0 Added nested tab support (tabs within tabs)
123 | * 1.0.0 Initial release
124 |
125 | ## License
126 |
127 | Released under the MIT License. See the [LICENSE][license] file for further details.
128 |
129 | [license]: https://github.com/rpocklin/ui-router-tabs/blob/master/LICENSE
130 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "angular-ui-router-tabs",
3 | "version": "2.0.2",
4 | "license": "MIT",
5 | "main": "src/ui-router-tabs.js",
6 | "keywords": [
7 | "angular, tabs, ui-router, bootstrap"
8 | ],
9 | "ignore": [
10 | "**/.*",
11 | "*.yml",
12 | ".jshintrc",
13 | "src/*.spec.js",
14 | "node_modules",
15 | "bower_components",
16 | "example",
17 | "Gruntfile.js",
18 | "package.json",
19 | "component.json",
20 | "bower.json",
21 | "karma.conf.js"
22 | ],
23 | "dependencies": {
24 | "angular": "^1.4.0",
25 | "angular-bootstrap": "^1.2.1",
26 | "angular-ui-router": "^0.2.14",
27 | "angular-sanitize": "^1.4.0"
28 | },
29 | "devDependencies": {
30 | "angular-mocks": "^1.4.0",
31 | "es5-shim": "^4.5.7",
32 | "sinon": "1.9.0",
33 | "jasmine-sinon": "0.3.1",
34 | "underscore": "~1.7.0",
35 | "jquery": "~2.1.1",
36 | "bootstrap": "~3.2.0"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/example/app.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var app = angular.module('example', [
4 | 'ui.router',
5 | 'ui.bootstrap',
6 | 'ui.router.tabs'
7 | ]);
8 |
9 | app.config(['$stateProvider', function($stateProvider) {
10 | $stateProvider.state('user', {
11 | url: '',
12 | controller: 'ExampleCtrl',
13 | templateUrl: 'example.html'
14 | }).state('user.accounts', {
15 | url: '/user/accounts',
16 | templateUrl: 'user/accounts.html'
17 | }).state('user.settings', {
18 | url: '/user/settings',
19 | controller: 'SettingsCtrl',
20 | templateUrl: 'user/settings/settings.html'
21 | }).state('user.settings.one', {
22 | url: '/one',
23 | template: 'Settings nested route 1
'
24 | }).state('user.settings.two', {
25 | url: '/two',
26 | template: 'Settings nested route 2
'
27 | });
28 | }]);
29 |
--------------------------------------------------------------------------------
/example/example-controller.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var ExampleCtrl = ['$rootScope', '$state', '$scope', '$stateParams', function($rootScope, $state, $scope) {
4 |
5 | $scope.initialise = function() {
6 |
7 | $scope.go = function(state) {
8 | $state.go(state);
9 | };
10 |
11 | $scope.tabData = [
12 | {
13 | heading: 'Settings',
14 | route: 'user.settings'
15 | },
16 | {
17 | heading: 'Accounts',
18 | route: 'user.accounts'
19 | }
20 | ];
21 | };
22 |
23 | $scope.initialise();
24 | }];
25 |
26 | angular.module('example').controller('ExampleCtrl', ExampleCtrl);
27 |
--------------------------------------------------------------------------------
/example/example.html:
--------------------------------------------------------------------------------
1 | User Details
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UI Router Example
6 |
7 |
8 |
9 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |