From d1ba150ea79689a55898efa760f7d77ca5ed601c Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Thu, 18 Sep 2014 21:13:50 +0200 Subject: web: detailpane impl --- web/src/js/components/header.jsx.js | 68 ++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 31 deletions(-) (limited to 'web/src/js/components/header.jsx.js') diff --git a/web/src/js/components/header.jsx.js b/web/src/js/components/header.jsx.js index 8f613ff1..92a58282 100644 --- a/web/src/js/components/header.jsx.js +++ b/web/src/js/components/header.jsx.js @@ -1,6 +1,10 @@ /** @jsx React.DOM */ var MainMenu = React.createClass({ + statics: { + title: "Traffic", + route: "flows" + }, toggleEventLog: function () { SettingsActions.update({ showEventLog: !this.props.settings.showEventLog @@ -16,72 +20,74 @@ var MainMenu = React.createClass({ ); } }); + + var ToolsMenu = React.createClass({ + statics: { + title: "Tools", + route: "flows" + }, render: function () { return
Tools Menu
; } }); + + var ReportsMenu = React.createClass({ + statics: { + title: "Visualization", + route: "reports" + }, render: function () { return
Reports Menu
; } }); -var _Header_Entries = { - main: { - title: "Traffic", - route: "main", - menu: MainMenu - }, - tools: { - title: "Tools", - route: "main", - menu: ToolsMenu - }, - reports: { - title: "Visualization", - route: "reports", - menu: ReportsMenu - } -}; +var header_entries = [MainMenu, ToolsMenu, ReportsMenu]; + var Header = React.createClass({ getInitialState: function () { return { - active: "main" + active: header_entries[0] }; }, handleClick: function (active) { + ReactRouter.transitionTo(active.route); this.setState({active: active}); - ReactRouter.transitionTo(_Header_Entries[active].route); return false; }, handleFileClick: function () { console.log("File click"); }, render: function () { - var header = []; - for (var item in _Header_Entries) { - var classes = this.state.active == item ? "active" : ""; - header.push({ _Header_Entries[item].title }); - } - - var menu = _Header_Entries[this.state.active].menu({ - settings: this.props.settings - }); + var header = header_entries.map(function(entry){ + var classes = React.addons.classSet({ + active: entry == this.state.active + }); + return ( + + { entry.title} + + ); + }.bind(this)); + return (
mitmproxy { this.props.settings.version }
-
); -- cgit v1.2.3