From 1f5db5ab3cd2ca24b2953821cea2ce1536fe411a Mon Sep 17 00:00:00 2001 From: Americool Date: Fri, 17 Mar 2017 15:12:15 -0400 Subject: [PATCH] adding close preview --- src/components/EntryEditor/EntryEditor.js | 98 ++++++++++++++--------- 1 file changed, 59 insertions(+), 39 deletions(-) diff --git a/src/components/EntryEditor/EntryEditor.js b/src/components/EntryEditor/EntryEditor.js index ac68bffc..e11d0a6d 100644 --- a/src/components/EntryEditor/EntryEditor.js +++ b/src/components/EntryEditor/EntryEditor.js @@ -1,15 +1,19 @@ import React, { Component, PropTypes } from 'react'; import ImmutablePropTypes from 'react-immutable-proptypes'; import SplitPane from 'react-split-pane'; +import Button from 'react-toolbox/lib/button'; import { ScrollSync, ScrollSyncPane } from '../ScrollSync'; import ControlPane from '../ControlPanel/ControlPane'; import PreviewPane from '../PreviewPane/PreviewPane'; import Toolbar from './EntryEditorToolbar'; import styles from './EntryEditor.css'; +const PREVIEW_STATE = 'cms.preview-state'; + class EntryEditor extends Component { state = { showEventBlocker: false, + previewOpen: localStorage.getItem(PREVIEW_STATE) === "open", }; handleSplitPaneDragStart = () => { @@ -25,6 +29,15 @@ class EntryEditor extends Component { this.props.onPersist(); }; + handleTogglePreview = () => { + const { previewOpen } = this.state; + const newPreviewState = !previewOpen ? "open" : "closed"; + this.setState( + { previewOpen: !previewOpen }, + localStorage.setItem(PREVIEW_STATE, newPreviewState) + ); + }; + render() { const { collection, @@ -40,48 +53,56 @@ class EntryEditor extends Component { onCancelEdit, } = this.props; + const { previewOpen } = this.state; const controlClassName = `${ styles.controlPane } ${ this.state.showEventBlocker && styles.blocker }`; const previewClassName = `${ styles.previewPane } ${ this.state.showEventBlocker && styles.blocker }`; + + const editor = ( +
+ + this.controlPaneRef = c} // eslint-disable-line + /> +
+ ); + + const editorWithPreivew = ( + +
+ + + {editor} + +
+ +
+
+
+
+ ); return (
- -
- - -
- - this.controlPaneRef = c} // eslint-disable-line - /> - -
-
-
- -
-
-
- + {previewOpen === true ? editorWithPreivew : editor}
-
); }