diff options
author | Maximilian Hils <git@maximilianhils.com> | 2014-09-18 21:13:50 +0200 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2014-09-18 21:13:50 +0200 |
commit | d1ba150ea79689a55898efa760f7d77ca5ed601c (patch) | |
tree | 3b92ea9bae396fe1ab0b60310f4aa473c1194d0f /web/src/js/components/flowdetail.jsx.js | |
parent | 01da54f1c306a5d595046bd39bf2be8bbc86c132 (diff) | |
download | mitmproxy-d1ba150ea79689a55898efa760f7d77ca5ed601c.tar.gz mitmproxy-d1ba150ea79689a55898efa760f7d77ca5ed601c.tar.bz2 mitmproxy-d1ba150ea79689a55898efa760f7d77ca5ed601c.zip |
web: detailpane impl
Diffstat (limited to 'web/src/js/components/flowdetail.jsx.js')
-rw-r--r-- | web/src/js/components/flowdetail.jsx.js | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/web/src/js/components/flowdetail.jsx.js b/web/src/js/components/flowdetail.jsx.js new file mode 100644 index 00000000..253084c2 --- /dev/null +++ b/web/src/js/components/flowdetail.jsx.js @@ -0,0 +1,62 @@ +/** @jsx React.DOM */ + +var FlowDetailNav = React.createClass({ + render: function(){ + + var items = ["request", "response", "details"].map(function(e){ + var str = e.charAt(0).toUpperCase() + e.slice(1); + var className = this.props.active === e ? "active" : ""; + var onClick = function(){ + this.props.selectTab(e); + return false; + }.bind(this); + return <a key={e} + href="#" + className={className} + onClick={onClick}>{str}</a>; + }.bind(this)); + return ( + <nav ref="head" className="nav-tabs nav-tabs-sm"> + {items} + </nav> + ); + } +}); + +var FlowDetailRequest = React.createClass({ + render: function(){ + return <div>request</div>; + } +}); + +var FlowDetailResponse = React.createClass({ + render: function(){ + return <div>response</div>; + } +}); + +var FlowDetailConnectionInfo = React.createClass({ + render: function(){ + return <div>details</div>; + } +}) + +var tabs = { + request: FlowDetailRequest, + response: FlowDetailResponse, + details: FlowDetailConnectionInfo +} + +var FlowDetail = React.createClass({ + mixins: [StickyHeadMixin], + render: function(){ + var flow = JSON.stringify(this.props.flow, null, 2); + var Tab = tabs[this.props.active]; + return ( + <div className="flow-detail" onScroll={this.adjustHead}> + <FlowDetailNav active={this.props.active} selectTab={this.props.selectTab}/> + <Tab/> + </div> + ); + } +});
\ No newline at end of file |