diff options
author | Maximilian Hils <git@maximilianhils.com> | 2014-12-23 01:13:34 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2014-12-23 01:13:34 +0100 |
commit | b55d584309ed6fde064c3f251e4d21e2ab754acd (patch) | |
tree | 38a779f5f955a1bac9fd7ce3c718b3ed46ca601d /web/src/js/components/mainview.jsx.js | |
parent | d5e16d7cf193c7ef83ee53d464efb7c46fd921e8 (diff) | |
download | mitmproxy-b55d584309ed6fde064c3f251e4d21e2ab754acd.tar.gz mitmproxy-b55d584309ed6fde064c3f251e4d21e2ab754acd.tar.bz2 mitmproxy-b55d584309ed6fde064c3f251e4d21e2ab754acd.zip |
web: simpler filter ui
Diffstat (limited to 'web/src/js/components/mainview.jsx.js')
-rw-r--r-- | web/src/js/components/mainview.jsx.js | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/web/src/js/components/mainview.jsx.js b/web/src/js/components/mainview.jsx.js index e6718413..be20a357 100644 --- a/web/src/js/components/mainview.jsx.js +++ b/web/src/js/components/mainview.jsx.js @@ -12,21 +12,30 @@ var MainView = React.createClass({ }; }, getViewFilt: function () { - var filt = Filt.parse(this.getQuery()[Query.FILTER] || ""); - var highlight = (this.getQuery()[Query.HIGHLIGHT] || "").split("&") - .map(decodeURIComponent) - .map(function (filtstr) { - return filtstr.trim() !== "" ? Filt.parse(filtstr) : false; - }); + try { + var filt = Filt.parse(this.getQuery()[Query.FILTER] || ""); + var highlightStr = this.getQuery()[Query.HIGHLIGHT]; + var highlight = highlightStr ? [Filt.parse(highlightStr)] : []; + } catch(e){ + console.error("Error when processing filter: " + e); + } + + var FadedHighlightColors = ["hsla(57, 100%, 50%, 0.33)"]; + return function filter_and_highlight(flow) { - flow._highlight = []; + var view = this.state.view; + if(!view._highlight){ + view._highlight = {}; + } + view._highlight[flow.id] = []; + for (var i = 0; i < highlight.length; i++) { if (highlight[i] && highlight[i](flow)) { - flow._highlight.push(FadedHighlightColors[i]); + view._highlight[flow.id].push(FadedHighlightColors[i]); } } return filt(flow); - }; + }.bind(this); }, getViewSort: function () { }, |