import React, { Component } from 'react' import { Link } from 'react-router-dom' import { connect } from 'react-redux' import { bindActionCreators } from 'redux' import { history } from 'app/store' import actions from 'app/actions' import * as siteActions from 'app/views/site/site.actions' import * as graphActions from 'app/views/graph/graph.actions' import { Loader } from 'app/common' import PageForm from '../components/page.form' class PageEdit extends Component { componentDidMount() { // actions.page.show(this.props.match.params.id) } handleSubmit(data) { const { path: graphPath } = this.props.graph.show.res const { path: oldPagePath } = this.props.page.show.res const { path: newPagePath } = data actions.page.update(data) .then(response => { // console.log(response) actions.site.setSiteTitle(response.res.title) this.props.graphActions.hideEditPageForm() if (oldPagePath !== newPagePath) { const newPath = '/' + graphPath + '/' + newPagePath history.push(newPath) } }) } render() { const { show } = this.props.page if (show.loading || !show.res) { return (
) } return ( ) } } const mapStateToProps = state => ({ graph: state.graph, page: state.page, }) const mapDispatchToProps = dispatch => ({ siteActions: bindActionCreators({ ...siteActions }, dispatch), graphActions: bindActionCreators({ ...graphActions }, dispatch), }) export default connect(mapStateToProps, mapDispatchToProps)(PageEdit)