diff options
author | Aldo Cortesi <aldo@corte.si> | 2016-12-16 10:04:12 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-16 10:04:12 +1300 |
commit | 6b5673e84911f3e2b1599c22c9b4f482a55b9ef1 (patch) | |
tree | a6f54fdb9d9be4d6b061a3b30069b330d9325fd5 /web/src/js/components/Header/MenuToggle.jsx | |
parent | 78c78ce651478072f3b0a4a7d18f2a8de3147d33 (diff) | |
parent | d854e08653ccee12119266e2cc3f5d6c279341e5 (diff) | |
download | mitmproxy-6b5673e84911f3e2b1599c22c9b4f482a55b9ef1.tar.gz mitmproxy-6b5673e84911f3e2b1599c22c9b4f482a55b9ef1.tar.bz2 mitmproxy-6b5673e84911f3e2b1599c22c9b4f482a55b9ef1.zip |
Merge pull request #1845 from mhils/mitmweb-improvements
Mitmweb Improvements
Diffstat (limited to 'web/src/js/components/Header/MenuToggle.jsx')
-rw-r--r-- | web/src/js/components/Header/MenuToggle.jsx | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/web/src/js/components/Header/MenuToggle.jsx b/web/src/js/components/Header/MenuToggle.jsx new file mode 100644 index 00000000..91f093c6 --- /dev/null +++ b/web/src/js/components/Header/MenuToggle.jsx @@ -0,0 +1,69 @@ +import { PropTypes } from "react" +import { connect } from "react-redux" +import { update as updateSettings } from "../../ducks/settings" +import { toggleVisibility } from "../../ducks/eventLog" + +MenuToggle.propTypes = { + value: PropTypes.bool.isRequired, + onChange: PropTypes.func.isRequired, + children: PropTypes.node.isRequired, +} + +export function MenuToggle({ value, onChange, children }) { + return ( + <div className="menu-entry"> + <label> + <input type="checkbox" + checked={value} + onChange={onChange}/> + {children} + </label> + </div> + ) +} + + +SettingsToggle.propTypes = { + setting: PropTypes.string.isRequired, + children: PropTypes.node.isRequired, +} + +export function SettingsToggle({ setting, children, settings, updateSettings }) { + return ( + <MenuToggle + value={settings[setting] || false} // we don't have settings initially, so just pass false. + onChange={() => updateSettings({ [setting]: !settings[setting] })} + > + {children} + </MenuToggle> + ) +} +SettingsToggle = connect( + state => ({ + settings: state.settings, + }), + { + updateSettings, + } +)(SettingsToggle) + + +export function EventlogToggle({ toggleVisibility, eventLogVisible }) { + return ( + <MenuToggle + value={eventLogVisible} + onChange={toggleVisibility} + > + Display Event Log + </MenuToggle> + ) +} +EventlogToggle = connect( + state => ({ + eventLogVisible: state.eventLog.visible, + }), + { + toggleVisibility, + } +)(EventlogToggle) + |