summaryrefslogtreecommitdiff
path: root/frontend/app/views/page/components/tile.new.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/app/views/page/components/tile.new.js')
-rw-r--r--frontend/app/views/page/components/tile.new.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/frontend/app/views/page/components/tile.new.js b/frontend/app/views/page/components/tile.new.js
new file mode 100644
index 0000000..b491fdd
--- /dev/null
+++ b/frontend/app/views/page/components/tile.new.js
@@ -0,0 +1,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)