@@ -4,30 +4,42 @@ const {
4
4
computed
5
5
} = Ember ;
6
6
7
- function filterForAddonInitializationNodes ( node ) {
8
- return node . label . addonInitializationNode ;
7
+ function filterForAddonInitializationNodes ( nodes ) {
8
+ return nodes . filter ( ( node ) => node . label . addonInitializationNode ) ;
9
9
}
10
10
11
- function filterForAddonDiscoveryNodes ( node ) {
12
- return node . label . addonDiscoveryNode ;
11
+ function filterForAddonDiscoveryNodes ( nodes ) {
12
+ return nodes . filter ( ( node ) => node . label . addonDiscoveryNode ) ;
13
13
}
14
14
15
- function filterForBroccoliNodes ( node ) {
16
- return node . label . broccoliNode ;
15
+ function filterForBroccoliNodes ( nodes , instance ) {
16
+ let pluginName = instance . get ( 'pluginNameFilter' ) ;
17
+
18
+ return nodes . filter ( ( node ) => {
19
+ if ( ! node . label . broccoliNode ) { return false ; }
20
+ if ( pluginName && node . label . broccoliPluginName !== pluginName ) { return false ; }
21
+
22
+ return true ;
23
+ } )
17
24
}
18
25
19
26
export default Ember . Component . extend ( {
20
- filter : filterForAddonInitializationNodes ,
27
+ init ( ) {
28
+ this . _super ( ...arguments ) ;
29
+ this . filterType = 'broccoli-node' ;
30
+ } ,
31
+
32
+ filter : filterForBroccoliNodes ,
21
33
22
- nodes : computed ( 'data' , 'filter' , function ( ) {
34
+ nodes : computed ( 'data' , 'filter' , 'pluginNameFilter' , function ( ) {
23
35
let data = this . get ( 'data' ) ;
24
36
let filter = this . get ( 'filter' ) ;
25
37
if ( ! data ) { return [ ] ; }
26
38
27
39
let nodes = data . nodes ;
28
40
29
41
if ( filter ) {
30
- nodes = nodes . filter ( filter ) ;
42
+ nodes = filter ( nodes , this ) ;
31
43
}
32
44
33
45
let addonNodes = nodes
@@ -49,8 +61,9 @@ export default Ember.Component.extend({
49
61
actions : {
50
62
updateFilter ( event ) {
51
63
let filter ;
64
+ let filterType = event . target . value ;
52
65
53
- switch ( event . target . value ) {
66
+ switch ( filterType ) {
54
67
case 'addon-discovery' :
55
68
filter = filterForAddonDiscoveryNodes ;
56
69
break ;
@@ -63,6 +76,7 @@ export default Ember.Component.extend({
63
76
}
64
77
65
78
this . set ( 'filter' , filter ) ;
79
+ this . set ( 'filterType' , filterType ) ;
66
80
}
67
81
}
68
82
} ) ;
0 commit comments