Skip to content

Commit cd25de0

Browse files
committed
1.0.1 released
1 parent 8cb3704 commit cd25de0

File tree

4 files changed

+61
-33
lines changed

4 files changed

+61
-33
lines changed

README.md

+15-16
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ async loader for angular 1.x.
77

88
Support following components to dynamic register:
99

10-
* controller
11-
* services
12-
* filter
13-
* directive
14-
* value
15-
* constant
16-
* provider
17-
* decorator
10+
* .controller
11+
* .services
12+
* .filter
13+
* .directive
14+
* .value
15+
* .constant
16+
* .provider
17+
* .decorator
1818

19-
And we can use following loader:
19+
And we can use following loaders:
2020

2121
* Require.js
2222
* Sea.js
@@ -35,7 +35,7 @@ See Sample: https://github.com/subchen/angular-async-loader/blob/master/sample/
3535

3636
**index.html**
3737

38-
```
38+
```html
3939
<script src="assets/requirejs/require.js"></script>
4040
<script src="bootstrap.js"></script>
4141
```
@@ -101,15 +101,13 @@ define(function (require) {
101101
dummy: app.load('./home/homeCtrl')
102102
}
103103
})
104-
.state('users', {
104+
.state('users', app.route({
105105
url: '/users',
106106
templateUrl: 'users/users.html',
107107
controller: 'usersCtrl',
108-
resolve: {
109-
// async load controller, services, ...
110-
dummy: app.load(['./users/usersCtrl', './services/usersService'])
111-
}
112-
});
108+
// async load controller
109+
controllerUrl: '/users/usersCtrl'
110+
}));
113111
}]);
114112
});
115113
```
@@ -120,6 +118,7 @@ define(function (require) {
120118
define(function (require) {
121119
var app = require('../app');
122120

121+
// dynamic load services
123122
require('../services/usersService');
124123

125124
app.controller('usersCtrl', ['$scope', function ($scope) {

angular-async-loader.js

+41-10
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
function factory(angular, undefined) {
1010

1111
return {
12-
VERSION: '1.0.0',
12+
VERSION: '1.0.1',
1313

1414
configure: function (app) {
1515

@@ -54,43 +54,74 @@
5454
var $filterProvider = $asyncLoader.$filterProvider;
5555

5656
app.value = function (name, value) {
57-
$provide.value.apply(null, [name, value]);
57+
$provide.value(name, value);
58+
return app;
5859
};
5960

6061
app.constant = function (name, value) {
61-
$provide.value.apply(null, [name, value]);
62+
$provide.constant(name, value);
63+
return app;
6264
};
6365

6466
app.factory = function (name, factory) {
65-
$provide.factory.apply(null, [name, factory]);
67+
$provide.factory(name, factory);
68+
return app;
6669
};
6770

6871
app.service = function (name, service) {
69-
$provide.service.apply(null, [name, service]);
72+
$provide.service(name, service);
73+
return app;
7074
};
7175

7276
app.filter = function (name, filter) {
73-
$filterProvider.register.apply(null, [name, filter]);
77+
$filterProvider.register(name, filter);
78+
return app;
7479
};
7580

7681
app.directive = function (name, directive) {
77-
$compileProvider.directive.apply(null, [name, directive]);
82+
$compileProvider.directive(name, directive);
83+
return app;
7884
};
7985

8086
app.controller = function (name, controller) {
81-
$controllerProvider.register.apply(null, [name, controller]);
87+
$controllerProvider.register(name, controller);
88+
return app;
8289
};
8390

8491
app.decorator = function (name, decorator) {
85-
$provide.decorator.apply(null, [name, decorator]);
92+
$provide.decorator(name, decorator);
93+
return app;
8694
};
8795

8896
app.provider = function (name, service) {
89-
$provide.provider.apply(null, [name, service]);
97+
$provide.provider(name, service);
98+
return app;
9099
};
91100
}]);
92101

93102

103+
/**
104+
* Generate $routeProvider.route or $stateProvider.state.
105+
*
106+
* Populate the resolve attribute using either 'controllerUrl'.
107+
*
108+
* @param config {Object}
109+
* @returns the modified config
110+
*/
111+
app.route = function (config) {
112+
var controllerUrl = config.controllerUrl;
113+
if (controllerUrl !== undefined) {
114+
delete config.controllerUrl;
115+
116+
var resolve = config.resolve || {};
117+
resolve.dummyController = app.load(controllerUrl);
118+
config.resolve = resolve;
119+
}
120+
121+
return config;
122+
};
123+
124+
94125
/**
95126
* Load external resources, such as Controller, Service, etc.
96127
*

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-async-loader",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"description": "async loader for angular 1.x",
55
"author": {
66
"name": "Guoqiang Chen",

sample/webapp/app-routes.js

+4-6
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,14 @@ define(function (require) {
1515
templateUrl: 'home/home.html',
1616
controller: 'homeCtrl',
1717
resolve: {
18-
deps: app.load('./home/homeCtrl')
18+
deps: app.load('home/homeCtrl')
1919
}
2020
})
21-
.state('users', {
21+
.state('users', app.route({
2222
url: '/users',
2323
templateUrl: 'users/users.html',
2424
controller: 'usersCtrl',
25-
resolve: {
26-
deps: app.load('./users/usersCtrl')
27-
}
28-
});
25+
controllerUrl: 'users/usersCtrl'
26+
}));
2927
}]);
3028
});

0 commit comments

Comments
 (0)