diff --git a/src/index.html b/src/index.html
index cdb8117..90aa8e8 100644
--- a/src/index.html
+++ b/src/index.html
@@ -43,6 +43,13 @@
.progress-bar-ours {
background-color: #69D2E7;
}
+.i-filter {
+ padding: 4px;
+ border-radius: 3px;
+ border: 1px solid #ccc;
+ width: 100%;
+ outline-color: #51afd0;
+}
@@ -215,6 +222,7 @@ {{ sysinfo.hostname }} — {{ sysinfo.uptime }}
+
@@ -306,6 +314,7 @@ {{ sysinfo.hostname }} — {{ sysinfo.uptime }}
'#E0E4CC', '#F9CDAD', '#C02942', '#F38630', '#C8C8A9', '#542437',
'#FA6900', '#83AF9B', '#A7DBD8',
],
+ procFilter: '',
},
created: function() {
this.fetchData();
@@ -502,7 +511,7 @@ {{ sysinfo.hostname }} — {{ sysinfo.uptime }}
};
},
sortBy: function(sortKey) {
- this.reverse = (this.sortKey == this.columns[sortKey]) ? ! this.reverse : true;
+ this.reverse = (this.sortKey == this.columns[sortKey]) ? !this.reverse : true;
this.sortKey = this.columns[sortKey];
},
},
@@ -512,8 +521,15 @@ {{ sysinfo.hostname }} — {{ sysinfo.uptime }}
return [];
}
var self = this;
+ var filter = self.procFilter.trim().toLowerCase();
var order = self.reverse ? -1 : 1;
- return this.sysinfo.process_list.sort(function(a, b) {
+ return this.sysinfo.process_list.filter(function(a) {
+ return filter.length === 0 ||
+ (a['pid'] + '').indexOf(filter) !== -1 ||
+ a['name'].toLowerCase().indexOf(filter) !== -1 ||
+ (a['uid'] + '').indexOf(filter) !== -1 ||
+ (a['gid'] + '').indexOf(filter) !== -1;
+ }).sort(function(a, b) {
a = a[self.sortKey];
b = b[self.sortKey];
return (a === b ? 0 : a > b ? 1 : -1) * order;
diff --git a/src/web.rs b/src/web.rs
index 6b8cf9f..1769b43 100644
--- a/src/web.rs
+++ b/src/web.rs
@@ -162,5 +162,9 @@ pub fn start_web_server(sock_addr: Option) -> HttpResult {
});
let mut iron = Iron::new(SysinfoIronHandler(data_handler));
iron.threads = 4;
- iron.http(sock_addr.unwrap_or("localhost:3000".to_owned()))
+ let ret = iron.http(sock_addr.unwrap_or("localhost:3000".to_owned()));
+ if ret.is_ok() {
+ println!("Started server on port 3000");
+ }
+ ret
}