From 03c9c684bf726174e340c40b3c5343ac81daaecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sun, 18 Aug 2013 18:42:09 +0200 Subject: [PATCH] custom terminal filter WIP --- octoprint/static/js/app/viewmodels/terminal.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/octoprint/static/js/app/viewmodels/terminal.js b/octoprint/static/js/app/viewmodels/terminal.js index 6894737..f95da79 100644 --- a/octoprint/static/js/app/viewmodels/terminal.js +++ b/octoprint/static/js/app/viewmodels/terminal.js @@ -19,6 +19,8 @@ function TerminalViewModel(loginStateViewModel) { self.filterM105 = ko.observable(false); self.filterM27 = ko.observable(false); + self.filters = ko.observableArray(); + self.regexM105 = /(Send: M105)|(Recv: ok T:)/; self.regexM27 = /(Send: M27)|(Recv: SD printing byte)/; @@ -30,6 +32,10 @@ function TerminalViewModel(loginStateViewModel) { self.updateOutput(); }); + self.filters.subscribe(function(newValue) { + self.updateOutput(); + }); + self.fromCurrentData = function(data) { self._processStateData(data.state); self._processCurrentLogData(data.logs); @@ -69,6 +75,17 @@ function TerminalViewModel(loginStateViewModel) { var output = ""; for (var i = 0; i < self.log.length; i++) { + var filters = self.filters(); + var filtered = false; + for (var j = 0; j < filters.length; j++) { + var filter = filters[j]; + if (self.log[i].match(filter.regex)) { + filtered = true; + break; + } + } + if (filtered) continue; + if (self.filterM105() && self.log[i].match(self.regexM105)) continue; if (self.filterM27() && self.log[i].match(self.regexM27)) continue;