From acdd182754625fabcfc2c6ed4bdad8a63bce8ad6 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Tue, 16 Sep 2014 00:05:06 +0200 Subject: web: implement EventLogStore --- web/src/js/components/EventLog.react.js | 21 +++++++++++++++++- web/src/js/components/Header.react.js | 14 ++++++------ web/src/js/components/ProxyApp.react.js | 16 ++++++++++++-- web/src/js/components/TrafficTable.react.js | 33 ++++++++++++----------------- 4 files changed, 54 insertions(+), 30 deletions(-) (limited to 'web/src/js/components') diff --git a/web/src/js/components/EventLog.react.js b/web/src/js/components/EventLog.react.js index 0ecf40b1..3a7dedc8 100644 --- a/web/src/js/components/EventLog.react.js +++ b/web/src/js/components/EventLog.react.js @@ -1,17 +1,36 @@ /** @jsx React.DOM */ var EventLog = React.createClass({ + getInitialState(){ + return { + log: [] + }; + }, + componentDidMount(){ + this.log = EventLogStore.getView(); + this.log.addListener("change",this.onEventLogChange); + }, + componentWillUnmount(){ + this.log.removeListener("change",this.onEventLogChange); + this.log.close(); + }, + onEventLogChange(){ + this.setState({ + log: this.log.getAll() + }); + }, close(){ SettingsActions.update({ showEventLog: false }); }, render(){ + var messages = this.state.log.map(row =>
{row.message}
); return (
             
-            much log.
+            {messages}
             
); diff --git a/web/src/js/components/Header.react.js b/web/src/js/components/Header.react.js index d1f18a82..41202463 100644 --- a/web/src/js/components/Header.react.js +++ b/web/src/js/components/Header.react.js @@ -1,15 +1,14 @@ /** @jsx React.DOM */ var MainMenu = React.createClass({ - mixins: [SettingsMixin], - handleSettingsChange() { + toggleEventLog() { SettingsActions.update({ - showEventLog: !this.state.settings.showEventLog + showEventLog: !this.props.settings.showEventLog }); }, render(){ return
-
; @@ -46,7 +45,6 @@ var _Header_Entries = { }; var Header = React.createClass({ - mixins: [SettingsMixin], getInitialState(){ return { active: "main" @@ -69,11 +67,13 @@ var Header = React.createClass({ onClick={this.handleClick.bind(this, item)}>{ _Header_Entries[item].title }); } - var menu = _Header_Entries[this.state.active].menu(); + var menu = _Header_Entries[this.state.active].menu({ + settings: this.props.settings + }); return (
- mitmproxy { this.state.settings.version } + mitmproxy { this.props.settings.version }