5
5
* Time: 22:38
6
6
*/
7
7
8
- define ( [ 'utils/lazy-directives' , 'utils/lazy-services' ] , function ( lazyDirectives , lazyServices ) {
8
+ define ( [ 'utils/lazy-directives' , 'utils/lazy-services' , 'utils/lazy-filters' ] , function ( lazyDirectives , lazyServices , lazyFilters ) {
9
9
10
10
var $controllerProvider ,
11
11
$compileProvider ,
12
- $provide ;
12
+ $provide ,
13
+ $filterProvider ;
13
14
14
15
function setControllerProvider ( value ) {
15
16
$controllerProvider = value ;
@@ -19,20 +20,25 @@ define(['utils/lazy-directives', 'utils/lazy-services'], function (lazyDirective
19
20
$compileProvider = value ;
20
21
lazyDirectives . setCompileProvider ( value ) ;
21
22
}
22
-
23
- function setProvide ( value ) {
23
+
24
+ function setProvide ( value ) {
24
25
$provide = value ;
25
26
lazyServices . setProvide ( value ) ;
26
27
}
27
-
28
+
29
+ function setFilterProvider ( value ) {
30
+ $filterProvider = value ;
31
+ lazyFilters . setFilterProvider ( value ) ;
32
+ }
33
+
28
34
// Use this as a guide to extend... current "services" is only value provide
29
35
// Services should use factory
30
36
//$provide.value('a', 123);
31
37
//$provide.factory('a', function() { return 123; });
32
38
//$compileProvider.directive('directiveName', ...);
33
39
//$filterProvider.register('filterName', ...);
34
-
35
-
40
+
41
+
36
42
function config ( templateUrl , controllerName , controllers , lazyResources ) {
37
43
if ( ! $controllerProvider ) {
38
44
throw new Error ( "$controllerProvider is not set!" ) ;
@@ -47,45 +53,46 @@ define(['utils/lazy-directives', 'utils/lazy-services'], function (lazyDirective
47
53
} ;
48
54
routeDefinition . controller = controllerName ;
49
55
routeDefinition . resolve = {
50
- delay :function ( $q , $rootScope ) {
56
+ delay : function ( $q , $rootScope ) {
51
57
defer = $q . defer ( ) ;
52
58
if ( ! html ) {
53
59
var dependencies = [ "text!" + templateUrl , controllerName ] ;
54
60
if ( controllers ) {
55
61
dependencies = dependencies . concat ( controllers ) ;
56
62
}
57
- if ( lazyResources ) {
58
- if ( lazyResources . directives ) {
59
- dependencies = dependencies . concat ( lazyResources . directives ) ;
60
- }
61
- if ( lazyResources . services ) {
62
- dependencies = dependencies . concat ( lazyResources . services ) ;
63
-
64
- }
63
+ if ( lazyResources ) {
64
+ dependencies = dependencies . concat ( lazyResources . directives ) ;
65
+ dependencies = dependencies . concat ( lazyResources . services ) ;
66
+ dependencies = dependencies . concat ( lazyResources . filters ) ;
65
67
}
66
68
require ( dependencies , function ( ) {
67
69
var template = arguments [ 0 ] ;
68
70
$controllerProvider . register ( controllerName , arguments [ 1 ] ) ;
69
71
70
72
if ( controllers ) {
71
73
for ( var i = 2 ; i < 2 + controllers . length ; i ++ ) {
72
- $controllerProvider . register ( arguments [ i ] [ 0 ] , arguments [ i ] [ 1 ] ) ; }
74
+ $controllerProvider . register ( arguments [ i ] [ 0 ] , arguments [ i ] [ 1 ] ) ;
75
+ }
73
76
}
74
- if ( lazyResources ) {
75
- if ( lazyResources . directives ) {
76
- for ( var i = 2 + ( controllers == null ? 0 : controllers . length ) ; i < arguments . length ; i ++ ) {
77
+ if ( lazyResources ) {
78
+ for ( var i = 2 + ( controllers == null ? 0 : controllers . length ) ; i < arguments . length ; i ++ ) {
79
+
80
+ // TODO refactor this mess...
81
+ if ( i === ( 2 + ( controllers == null ? 0 : controllers . length ) ) ) {
77
82
lazyDirectives . register ( arguments [ i ] ) ;
78
83
}
79
- }
80
- if ( lazyResources . services ) {
81
- for ( var i = 2 + ( controllers == null ? 0 : controllers . length ) ; i < arguments . length ; i ++ ) {
84
+
85
+ if ( i === ( 2 + ( controllers == null ? 0 : controllers . length ) + 1 ) ) {
82
86
lazyServices . register ( arguments [ i ] ) ;
83
87
}
88
+
89
+ if ( i === ( 2 + ( controllers == null ? 0 : controllers . length ) + 2 ) ) {
90
+ lazyFilters . register ( arguments [ i ] ) ;
91
+ }
84
92
}
85
93
}
86
94
87
95
88
-
89
96
html = template ;
90
97
defer . resolve ( ) ;
91
98
$rootScope . $apply ( )
@@ -102,10 +109,11 @@ define(['utils/lazy-directives', 'utils/lazy-services'], function (lazyDirective
102
109
}
103
110
104
111
return {
105
- setControllerProvider :setControllerProvider ,
106
- setCompileProvider :setCompileProvider ,
112
+ setControllerProvider : setControllerProvider ,
113
+ setCompileProvider : setCompileProvider ,
107
114
setProvide : setProvide ,
108
- config :config
115
+ setFilterProvider : setFilterProvider ,
116
+ config : config
109
117
}
110
118
} )
111
119
0 commit comments