summaryrefslogtreecommitdiff
path: root/frontend/app/views/tile/components/tile.new.js
blob: b491fddda9e32ed9268b4b4787b15d5c4a56d32d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import React, { Component } from 'react'
// import { Link } from 'react-router-dom'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'

import { history } from 'app/store'
import actions from 'app/actions'
import * as tileActions from '../../tile/tile.actions'
import * as pageActions from '../../page/page.actions'

import TileForm from '../components/tile.form'

class TileNew extends Component {
  handleSubmit(data) {
    console.log(data)
    actions.tile.create(data)
      .then(res => {
        console.log(res)
        // const graph = this.props.graph.show.res
        // if (res.res && res.res.id) {
        //   history.push('/' + graph.path + '/' + res.res.path)
        // }
        this.props.pageActions.hideAddTileForm()
        this.props.tileActions.clearTemporaryTile()
      })
      .catch(err => {
        console.error('error')
      })
  }

  render() {
    return (
      <TileForm
        isNew
        graph={this.props.graph.show.res}
        page={this.props.page.show.res}
        initialData={null}
        sortOrder={this.props.page.show.res.tiles ? this.props.page.show.res.tiles.length : []}
        onSubmit={this.handleSubmit.bind(this)}
      />
    )
  }
}

const mapStateToProps = state => ({
  graph: state.graph,
  page: state.page,
})

const mapDispatchToProps = dispatch => ({
  tileActions: bindActionCreators({ ...tileActions }, dispatch),
  pageActions: bindActionCreators({ ...pageActions }, dispatch),
})

export default connect(mapStateToProps, mapDispatchToProps)(TileNew)