Persist collapsed nodes

This commit is contained in:
Jori Lallo
2016-07-07 00:27:11 -07:00
parent 4f86ea0a59
commit b8da23556e
3 changed files with 67 additions and 15 deletions

View File

@@ -3,7 +3,9 @@ import { toJS } from 'mobx';
import { Link, browserHistory } from 'react-router';
import { observer } from 'mobx-react';
import DocumentSceneStore from './DocumentSceneStore';
import DocumentSceneStore, {
DOCUMENT_PREFERENCES
} from './DocumentSceneStore';
import Layout, { HeaderAction } from 'components/Layout';
import AtlasPreviewLoading from 'components/AtlasPreviewLoading';
@@ -29,7 +31,7 @@ class DocumentScene extends React.Component {
constructor(props) {
super(props);
this.store = new DocumentSceneStore();
this.store = new DocumentSceneStore(JSON.parse(localStorage[DOCUMENT_PREFERENCES]));
}
componentDidMount = () => {
@@ -77,10 +79,6 @@ class DocumentScene extends React.Component {
);
}
handleChange = (tree) => {
this.store.updateNavigationTree(tree);
}
render() {
const doc = this.store.document;
const allowDelete = doc && doc.atlas.type === 'atlas' &&
@@ -127,11 +125,12 @@ class DocumentScene extends React.Component {
{ this.store.isAtlas ? (
<div className={ styles.sidebar }>
<Tree
paddingLeft={10}
tree={ toJS(doc.atlas.navigationTree) }
onChange={this.handleChange}
isNodeCollapsed={this.isNodeCollapsed}
renderNode={this.renderNode}
paddingLeft={ 10 }
tree={ toJS(this.store.atlasTree) }
onChange={ this.store.updateNavigationTree }
onCollapse={ this.store.onNodeCollapse }
isNodeCollapsed={ this.isNodeCollapsed }
renderNode={ this.renderNode }
/>
</div>
) : null }