diff options
Diffstat (limited to 'frontend/views/page/page.container.js')
| -rw-r--r-- | frontend/views/page/page.container.js | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/frontend/views/page/page.container.js b/frontend/views/page/page.container.js deleted file mode 100644 index 26bed30..0000000 --- a/frontend/views/page/page.container.js +++ /dev/null @@ -1,95 +0,0 @@ -import React, { Component } from 'react' -import { Route } from 'react-router-dom' -import { bindActionCreators } from 'redux' -import { connect } from 'react-redux' - -import './page.css' -import './cursors.css' - -import actions from '../../actions' -import { Loader } from '../../common' - -import * as graphActions from '../graph/graph.actions' -import * as pageActions from './page.actions' - -import PageEdit from '../graph/components/page.edit' -import TileNew from './components/tile.new' -import TileEdit from './components/tile.edit' -import TileList from './components/tile.list' - -import PageHeader from './components/page.header' -import PageEditor from './components/page.editor' - -class PageContainer extends Component { - componentDidMount() { - if (this.shouldShowPage()) this.load() - } - componentDidUpdate(prevProps) { - if (this.shouldLoadPage(prevProps)) this.load() - } - shouldShowPage() { - const { graph_name, page_name } = this.props.match.params - // console.log(graph_name, page_name) - return (graph_name && page_name && graph_name !== 'index') - } - shouldLoadPage(prevProps) { - const { page, location } = this.props - const { key } = location - if (key === prevProps.location.key) return false - if (!this.shouldShowPage()) return false - return (page.show.name === prevProps.page.show.name) - } - load() { - actions.site.setSiteTitle("loading " + this.props.match.params.page_name + "...") - this.props.pageActions.showGraphAndPageIfUnloaded(this.props.match.params) - .then(data => { - actions.site.setSiteTitle(data.res.title) - if (!data.res.tiles.length) { - this.props.pageActions.showAddTileForm() - } else { - this.props.pageActions.hideAddTileForm() - } - }) - } - render() { - if (!this.shouldShowPage()) return null - if (!this.props.page.show.res || this.props.page.show.loading) { - return ( - <div> - <PageHeader /> - <div className='body'> - <div className='page loading'> - <Loader /> - </div> - </div> - </div> - ) - } - return ( - <div> - <PageHeader /> - <div className='body'> - <PageEditor /> - <div className='sidebar'> - {this.props.graph.editor.editingPage && <PageEdit />} - {this.props.page.editor.addingTile && <TileNew />} - {this.props.page.editor.editingTile && <TileEdit />} - {this.props.page.editor.tileList && <TileList />} - </div> - </div> - </div> - ) - } -} - -const mapStateToProps = state => ({ - graph: state.graph, - page: state.page, -}) - -const mapDispatchToProps = dispatch => ({ - graphActions: bindActionCreators({ ...graphActions }, dispatch), - pageActions: bindActionCreators({ ...pageActions }, dispatch), -}) - -export default connect(mapStateToProps, mapDispatchToProps)(PageContainer) |
