From 2a0b00a1fdefc6a250e225e1df101a4a1b9bdd15 Mon Sep 17 00:00:00 2001 From: Jhen Date: Fri, 17 Mar 2017 16:20:17 +0800 Subject: [PATCH] Add Show / Hide button for the built-in inspector --- Libraries/Inspector/InspectorPanel.js | 28 ++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/Libraries/Inspector/InspectorPanel.js b/Libraries/Inspector/InspectorPanel.js index 0704466b1cf5..8b760ee1a890 100644 --- a/Libraries/Inspector/InspectorPanel.js +++ b/Libraries/Inspector/InspectorPanel.js @@ -24,6 +24,17 @@ const View = require('View'); const PropTypes = React.PropTypes; class InspectorPanel extends React.Component { + state: { + devtoolsIsOpen: ?bool, + }; + + constructor(props: Object) { + super(props); + this.state = { + devtoolsIsOpen: null + }; + } + renderWaiting() { if (this.props.inspecting) { return ( @@ -35,6 +46,16 @@ class InspectorPanel extends React.Component { return Nothing is inspected; } + devtoolsIsOpen(): ?bool { + return this.state.devtoolsIsOpen === null ? + this.props.devtoolsIsOpen : + this.state.devtoolsIsOpen; + } + + toggleContents = () => { + this.setState({ devtoolsIsOpen: !this.devtoolsIsOpen() }); + } + render() { let contents; if (this.props.inspected) { @@ -65,9 +86,10 @@ class InspectorPanel extends React.Component { ); } + var devtoolsIsOpen = this.devtoolsIsOpen(); return ( - {!this.props.devtoolsIsOpen && contents} + {!devtoolsIsOpen && contents}