From a126338fc563bbbc8129e537e514ccf4d57ffadc Mon Sep 17 00:00:00 2001 From: Kushagra Gour Date: Mon, 25 Jun 2018 10:43:20 +0530 Subject: [PATCH] persist size info when it changes to fix size changing bug --- src/components/ContentWrap.jsx | 11 ++++++++++- src/components/app.jsx | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/components/ContentWrap.jsx b/src/components/ContentWrap.jsx index d14f8b1..1f3d5ab 100644 --- a/src/components/ContentWrap.jsx +++ b/src/components/ContentWrap.jsx @@ -379,6 +379,7 @@ export default class ContentWrap extends Component { this.codeSplitInstance.setSizes(arr); codeWrapEl.classList.add('is-maximized'); } + this.updateSplits(); } collapseBtnHandler(e) { @@ -402,6 +403,12 @@ export default class ContentWrap extends Component { mainSplitSizes: this.getMainSplitSizesToApply() }); } + updateSplits() { + this.props.onSplitUpdate(); + // Not using setState to avoid re-render + this.state.codeSplitSizes = this.props.currentItem.sizes; + this.state.mainSplitSizes = this.props.currentItem.mainSizes; + } // Returns the sizes of main code & preview panes. getMainSplitSizesToApply() { @@ -435,6 +442,7 @@ export default class ContentWrap extends Component { this.setPreviewContent(true); }, 1); } + this.updateSplits(); } codeSplitDragStart() { document.body.classList.add('is-dragging'); @@ -442,6 +450,7 @@ export default class ContentWrap extends Component { codeSplitDragEnd() { this.updateCodeWrapCollapseStates(); document.body.classList.remove('is-dragging'); + this.updateSplits(); } /** * Loaded the code comiler based on the mode selected @@ -879,7 +888,7 @@ export default class ContentWrap extends Component {
Console (0) diff --git a/src/components/app.jsx b/src/components/app.jsx index 2dff141..6386519 100644 --- a/src/components/app.jsx +++ b/src/components/app.jsx @@ -967,6 +967,12 @@ export default class App extends Component { this.closeAllOverlays(); } + splitUpdateHandler(mainSplitInstance, codeSplitInstance) { + // Not using setState to avoid re-render + this.state.currentItem.sizes = this.getCodePaneSizes(); + this.state.currentItem.mainSizes = this.getMainPaneSizes(); + } + render() { return (
@@ -996,6 +1002,7 @@ export default class App extends Component { onRef={comp => (this.contentWrap = comp)} prefs={this.state.prefs} onEditorFocus={this.editorFocusHandler.bind(this)} + onSplitUpdate={this.splitUpdateHandler.bind(this)} />