diff options
author | Maximilian Hils <git@maximilianhils.com> | 2014-11-28 20:54:52 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2014-11-28 20:54:52 +0100 |
commit | f6c0e000da504a68ecd41a8f7ce59e2f71e0a218 (patch) | |
tree | dc87ed145d63dce0e75f0126fd387b6e92058c90 /web/src/js/components/flowtable.jsx.js | |
parent | dd1a45140c8a6cb3f6c5d7247120c05fa37cdf24 (diff) | |
download | mitmproxy-f6c0e000da504a68ecd41a8f7ce59e2f71e0a218.tar.gz mitmproxy-f6c0e000da504a68ecd41a8f7ce59e2f71e0a218.tar.bz2 mitmproxy-f6c0e000da504a68ecd41a8f7ce59e2f71e0a218.zip |
event log: virtual scrolling
Diffstat (limited to 'web/src/js/components/flowtable.jsx.js')
-rw-r--r-- | web/src/js/components/flowtable.jsx.js | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/web/src/js/components/flowtable.jsx.js b/web/src/js/components/flowtable.jsx.js index f608f41d..9eeddbaa 100644 --- a/web/src/js/components/flowtable.jsx.js +++ b/web/src/js/components/flowtable.jsx.js @@ -58,9 +58,6 @@ var FlowTable = React.createClass({ nextProps.view.addListener("add update remove recalculate", this.onChange); } }, - componentDidMount: function () { - this.onScroll2(); - }, getDefaultProps: function () { return { rowHeight: ROW_HEIGHT @@ -80,27 +77,20 @@ var FlowTable = React.createClass({ this.refs.body.getDOMNode().offsetTop ); }, + renderRow: function (flow) { + var selected = (flow === this.props.selected); + return <FlowRow key={flow.id} + ref={flow.id} + flow={flow} + columns={this.state.columns} + selected={selected} + selectFlow={this.props.selectFlow} + />; + }, render: function () { - var space_top = 0, space_bottom = 0, fix_nth_row = null; - var rows = []; - if (this.props.view) { - var flows = this.props.view.flows; - var max = Math.min(flows.length, this.state.stop); + var flows = this.props.view ? this.props.view.flows : []; - for (var i = this.state.start; i < max; i++) { - var flow = flows[i]; - var selected = (flow === this.props.selected); - rows.push( - <FlowRow key={flow.id} - ref={flow.id} - flow={flow} - columns={this.state.columns} - selected={selected} - selectFlow={this.props.selectFlow} - /> - ); - } - } + var rows = this.renderRows(flows); return ( <div className="flow-table" onScroll={this.onScroll2}> |