Skip to content

Commit 01bcaf7

Browse files
committed
Bumped version number
1 parent b19b5fa commit 01bcaf7

File tree

3 files changed

+78
-71
lines changed

3 files changed

+78
-71
lines changed

angular-ui-router-default.js

Lines changed: 76 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -3,83 +3,90 @@
33
*
44
* @link https://github.com/nonplus/angular-ui-router-default
55
*
6-
* @license angular-ui-router-default v0.0.4
6+
* @license angular-ui-router-default v0.0.5
77
* (c) Copyright Stepan Riha <[email protected]>
88
* License MIT
99
*/
1010

1111
(function(angular) {
1212

13-
/* global angular */
1413
"use strict";
14+
var moduleName = 'ui.router.default';
15+
if (typeof module !== "undefined" && typeof exports !== "undefined" && module.exports === exports) {
16+
module.exports = moduleName;
17+
}
1518
var max_redirects = 10;
16-
angular.module('ui.router.default', ['ui.router'])
17-
.config(['$provide', function($provide) {
18-
$provide.decorator('$state', ['$delegate', '$injector', '$q', function($delegate, $injector, $q) {
19-
var transitionTo = $delegate.transitionTo;
20-
var pendingPromise;
21-
$delegate.transitionTo = function(to, toParams, options) {
22-
var numRedirects = 0;
23-
var $state = this;
24-
var nextState = to.name || to;
25-
var nextParams = toParams;
26-
var nextOptions = options;
19+
angular.module(moduleName, ['ui.router'])
20+
.config(['$provide', function ($provide) {
21+
$provide.decorator('$state', ['$delegate', '$injector', '$q', function ($delegate, $injector, $q) {
22+
var transitionTo = $delegate.transitionTo;
23+
var pendingPromise;
24+
$delegate.transitionTo = function (to, toParams, options) {
25+
var numRedirects = 0;
26+
var $state = this;
27+
var nextState = to.name || to;
28+
var nextParams = toParams;
29+
var nextOptions = options;
30+
return fetchTarget();
31+
function fetchTarget() {
32+
var target = $state.get(nextState, $state.$current);
33+
nextState = (target || {}).name;
34+
var absRedirectPromise = getAbstractRedirect(target);
35+
pendingPromise = absRedirectPromise;
36+
return $q.when(absRedirectPromise)
37+
.then(abstractTargetResolved);
38+
function abstractTargetResolved(abstractTarget) {
39+
if (absRedirectPromise !== pendingPromise) {
40+
return $q.reject(new Error('transition superseded'));
41+
}
42+
// we didn't get anything from the abstract target
43+
if (!abstractTarget) {
44+
return transitionTo.call($delegate, nextState, nextParams, nextOptions);
45+
}
46+
checkForMaxRedirect();
47+
nextState = abstractTarget;
48+
return fetchTarget();
49+
}
50+
function checkForMaxRedirect() {
51+
if (numRedirects === max_redirects) {
52+
throw new Error('Too many abstract state default redirects');
53+
}
54+
numRedirects += 1;
55+
}
56+
}
57+
function getAbstractRedirect(state) {
58+
if (!state || !state.abstract || (state.abstract === true && !state.default)) {
59+
return null;
60+
}
61+
return invokeAbstract(state).then(abstractInvoked);
62+
function abstractInvoked(newState) {
63+
if (newState[0] === '.') {
64+
return nextState + newState;
65+
}
66+
else {
67+
return newState;
68+
}
69+
}
70+
}
71+
function invokeAbstract(state) {
72+
var defaultState;
73+
if (state.default) {
74+
defaultState = state.default;
75+
}
76+
else {
77+
defaultState = state.abstract;
78+
}
79+
if (defaultState instanceof Function || defaultState instanceof Array) {
80+
return $q.when($injector.invoke(defaultState));
81+
}
82+
else {
83+
return $q.when(defaultState);
84+
}
85+
}
86+
};
87+
return $delegate;
88+
}]);
89+
}]);
2790

28-
return fetchTarget();
29-
30-
function fetchTarget() {
31-
var target = $state.get(nextState, $state.$current);
32-
nextState = (target|| {}).name;
33-
34-
var absRedirectPromise = getAbstractRedirect(target);
35-
pendingPromise = absRedirectPromise;
36-
return $q.when(absRedirectPromise, abstractTargetResolved);
37-
38-
function abstractTargetResolved(abstractTarget) {
39-
if(absRedirectPromise !== pendingPromise) {
40-
return $q.reject(new Error('transition superseded'));
41-
}
42-
// we didn't get anything from the abstract target
43-
if (!abstractTarget) {
44-
return transitionTo.call($delegate, nextState, nextParams, nextOptions);
45-
}
46-
checkForMaxRedirect();
47-
nextState = abstractTarget;
48-
return fetchTarget();
49-
}
50-
51-
function checkForMaxRedirect() {
52-
if (numRedirects === max_redirects) {
53-
throw new Error('Too many abstract state default redirects');
54-
}
55-
numRedirects += 1;
56-
}
57-
}
58-
function getAbstractRedirect(state) {
59-
if (!state || !state.abstract || state.abstract === true) {
60-
return null;
61-
}
62-
return invokeAbstract(state.abstract).then(abstractInvoked);
63-
function abstractInvoked(newState) {
64-
if (newState[0] === '.') {
65-
return nextState + newState;
66-
} else {
67-
return newState;
68-
}
69-
}
70-
71-
}
72-
function invokeAbstract(abstract) {
73-
if (!angular.isString(abstract)) {
74-
return $q.when($injector.invoke(abstract));
75-
} else {
76-
return $q.when(abstract);
77-
}
78-
}
79-
80-
};
81-
return $delegate;
82-
}]);
83-
}]);
8491

8592
})(window.angular);

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "angular-ui-router-default",
33
"main": "angular-ui-router-default.js",
4-
"version": "0.0.4",
4+
"version": "0.0.5",
55
"homepage": "https://github.com/nonplus/angular-ui-router-default",
66
"authors": [
77
"Stepan Riha <[email protected]>"

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-ui-router-default",
3-
"version": "0.0.4",
3+
"version": "0.0.5",
44
"description": "AngularJS module that adds support for specifying default child views for abstract states when using ui-router.",
55
"main": "angular-ui-router-default.js",
66
"types": "./index.d.ts",

0 commit comments

Comments
 (0)