aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-09-22 01:44:46 +0200
committerMaximilian Hils <git@maximilianhils.com>2014-09-22 01:44:46 +0200
commit84e2a028c24f00ea86205dbfe5b9315c57d5ae3f (patch)
tree954dc64b16d3fe5f0733410c8a5d10c102f6b313 /web/src/js/components
parent9cda2eb3a3d8da1522a18dc1d0dd6ae5f29f4607 (diff)
downloadmitmproxy-84e2a028c24f00ea86205dbfe5b9315c57d5ae3f.tar.gz
mitmproxy-84e2a028c24f00ea86205dbfe5b9315c57d5ae3f.tar.bz2
mitmproxy-84e2a028c24f00ea86205dbfe5b9315c57d5ae3f.zip
web: perf improvements
Diffstat (limited to 'web/src/js/components')
-rw-r--r--web/src/js/components/flowtable-columns.jsx.js11
-rw-r--r--web/src/js/components/flowtable.jsx.js7
2 files changed, 13 insertions, 5 deletions
diff --git a/web/src/js/components/flowtable-columns.jsx.js b/web/src/js/components/flowtable-columns.jsx.js
index 88e0cf22..b7db71b7 100644
--- a/web/src/js/components/flowtable-columns.jsx.js
+++ b/web/src/js/components/flowtable-columns.jsx.js
@@ -10,11 +10,12 @@ var TLSColumn = React.createClass({
render: function(){
var flow = this.props.flow;
var ssl = (flow.request.scheme == "https");
- var classes = React.addons.classSet({
- "col-tls": true,
- "col-tls-https": ssl,
- "col-tls-http": !ssl
- });
+ var classes;
+ if(ssl){
+ classes = "col-tls col-tls-https";
+ } else {
+ classes = "col-tls col-tls-http";
+ }
return <td className={classes}></td>;
}
});
diff --git a/web/src/js/components/flowtable.jsx.js b/web/src/js/components/flowtable.jsx.js
index 146d5264..fc4d8fbc 100644
--- a/web/src/js/components/flowtable.jsx.js
+++ b/web/src/js/components/flowtable.jsx.js
@@ -14,6 +14,13 @@ var FlowRow = React.createClass({
<tr className={className} onClick={this.props.selectFlow.bind(null, flow)}>
{columns}
</tr>);
+ },
+ shouldComponentUpdate: function(nextProps){
+ var isEqual = (
+ this.props.columns.length === nextProps.columns.length &&
+ this.props.selected === nextProps.selected &&
+ this.props.flow.response === nextProps.flow.response);
+ return !isEqual;
}
});