4
4
angular . module ( 'BlurMonitor.pages.processes' ) . controller ( 'ProcessesController' , [
5
5
'$scope' ,
6
6
'$interval' ,
7
+ '_' ,
7
8
'refreshInterval' ,
8
9
'ProcessesResource' ,
9
10
'AssetsResource' ,
10
11
ProcessesController ] ) ;
11
12
12
- function ProcessesController ( $scope , $interval , refreshInterval , ProcessesResource , AssetsResource ) {
13
+ function ProcessesController ( $scope , $interval , _ , refreshInterval , ProcessesResource , AssetsResource ) {
13
14
var vm = this ;
14
15
vm . processes = [ ] ;
15
16
34
35
35
36
vm . processAssets = [ ] ;
36
37
38
+ vm . searchTerm = null ;
39
+
37
40
vm . getProcesses = getProcesses ;
41
+ vm . filterProcesses = filterProcesses ;
38
42
39
43
AssetsResource . getApps ( function ( appAssets ) {
40
44
vm . processAssets = appAssets ;
49
53
50
54
vm . interval = $interval ( function ( ) {
51
55
getProcesses ( false ) ;
52
- } , refreshInterval * 999999 ) ;
56
+ } , refreshInterval ) ;
53
57
} ) ;
54
58
55
59
$scope . $on ( "$destroy" , function ( ) {
61
65
vm . processes = response ;
62
66
63
67
if ( updateTree ) {
64
- mapProcessesToTree ( vm . processes ) ;
68
+ vm . searchTerm = null ;
69
+ mapProcessesToTree ( vm . processes ) ;
65
70
} else {
66
71
// Update top lists instead.
67
72
getTopCpuProcesses ( ) ;
114
119
vm . treeProcesses . length = 0 ;
115
120
116
121
angular . forEach ( processes , function ( process ) {
122
+ var parentId = '#' ;
123
+
124
+ if ( _ . find ( processes , { id : process . parentId } ) ) {
125
+ parentId = process . parentId ;
126
+ }
127
+
117
128
var node = {
118
129
id : process . id ,
119
- parent : process . parentId !== '0' ? process . parentId : '#' ,
130
+ parent : parentId , // process.parentId !== '0' ? process.parentId : '#',
120
131
type : getTreeTypeFromCommand ( process . command ) ,
121
132
text : process . command + ' (' + process . processorUtilization + '%), (' + process . memoryUtilization + '%)' ,
122
133
state : {
133
144
function getTreeTypeFromCommand ( command ) {
134
145
var process = command ;
135
146
136
- if ( process . indexOf ( ' ' ) > - 1 ) {
147
+ if ( process . indexOf ( ' ' ) > - 1 ) {
137
148
process = command . substr ( 0 , command . indexOf ( ' ' ) ) ;
138
149
}
139
150
140
- if ( process . indexOf ( '/' ) > - 1 && process . indexOf ( '[' ) === - 1 ) {
151
+ if ( process . indexOf ( '/' ) > - 1 && process . indexOf ( '[' ) === - 1 ) {
141
152
process = process . substr ( process . lastIndexOf ( '/' ) + 1 , process . length - process . lastIndexOf ( '/' ) ) ;
142
153
}
143
154
144
- if ( ! vm . processAssets . includes ( process ) ) {
155
+ if ( ! vm . processAssets . includes ( process ) ) {
145
156
process = 'process' ;
146
157
}
147
158
148
159
return process ;
149
160
}
161
+
162
+ function filterProcesses ( ) {
163
+ if ( vm . searchTerm !== null && vm . searchTerm . length > 0 ) {
164
+ var filteredProcesses = vm . processes . filter ( function ( process ) {
165
+ return process . command . indexOf ( vm . searchTerm ) > - 1 ;
166
+ } ) ;
167
+
168
+ mapProcessesToTree ( filteredProcesses ) ;
169
+ } else {
170
+ mapProcessesToTree ( vm . processes ) ;
171
+ }
172
+ }
150
173
}
151
174
} ) ( ) ;
0 commit comments