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 }