summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/views/venue/containers
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/app/views/venue/containers')
-rw-r--r--animism-align/frontend/app/views/venue/containers/venue.edit.js2
-rw-r--r--animism-align/frontend/app/views/venue/containers/venue.index.js22
-rw-r--r--animism-align/frontend/app/views/venue/containers/venue.new.js23
3 files changed, 34 insertions, 13 deletions
diff --git a/animism-align/frontend/app/views/venue/containers/venue.edit.js b/animism-align/frontend/app/views/venue/containers/venue.edit.js
index 4d55c6e..c5ab075 100644
--- a/animism-align/frontend/app/views/venue/containers/venue.edit.js
+++ b/animism-align/frontend/app/views/venue/containers/venue.edit.js
@@ -20,7 +20,7 @@ class VenueEdit extends Component {
.then(response => {
// response
console.log(response)
- history.push('/venue/')
+ history.push(`/project/${response.res.project_id}/venues/`)
})
}
diff --git a/animism-align/frontend/app/views/venue/containers/venue.index.js b/animism-align/frontend/app/views/venue/containers/venue.index.js
index 9a44fa7..9ab9ba1 100644
--- a/animism-align/frontend/app/views/venue/containers/venue.index.js
+++ b/animism-align/frontend/app/views/venue/containers/venue.index.js
@@ -20,7 +20,8 @@ class VenueIndex extends Component {
render() {
const { loading, lookup, order } = this.props.venue.index
- if (loading) {
+ const project_id = parseInt(this.props.match.params.id)
+ if (loading || this.props.project.loading) {
return (
<section>
<Loader />
@@ -42,19 +43,23 @@ class VenueIndex extends Component {
</section>
)
}
+ const project = this.props.project.lookup[project_id]
return (
<section>
<div className="row venue-index">
<VenueMenu />
<div className="venue-list">
- <h1>Venues</h1>
+ <h1>{project.title}</h1>
+ <h2>Venues</h2>
{order.map(id => (
- <div key={id}>
- <Link to={"/venue/" + id + "/edit/"}>
- {lookup[id].title}
- </Link>
- {lookup[id].date}
- </div>
+ lookup[id].project_id === project_id && (
+ <div key={id}>
+ <Link to={"/venue/" + id + "/edit/"}>
+ {lookup[id].title}
+ </Link>
+ {lookup[id].date}
+ </div>
+ )
))}
</div>
</div>
@@ -65,6 +70,7 @@ class VenueIndex extends Component {
}
const mapStateToProps = state => ({
+ project: state.project.index,
venue: state.venue,
})
diff --git a/animism-align/frontend/app/views/venue/containers/venue.new.js b/animism-align/frontend/app/views/venue/containers/venue.new.js
index f39dc19..fdab291 100644
--- a/animism-align/frontend/app/views/venue/containers/venue.new.js
+++ b/animism-align/frontend/app/views/venue/containers/venue.new.js
@@ -13,9 +13,23 @@ class VenueNew extends Component {
loading: true,
initialData: {},
}
-
componentDidMount() {
- this.setState({ loading: false })
+ this.ready()
+ }
+ componentDidUpdate(prevProps) {
+ if (this.props.project.lookup !== prevProps.project.lookup) {
+ this.ready()
+ }
+ }
+ ready() {
+ if (!this.props.project.lookup) return
+ const { project_id } = this.props.match.params
+ const project = parseInt(this.props.project.lookup[project_id])
+ this.setState({
+ loading: false,
+ initialData: { project_id },
+ project,
+ })
}
handleSubmit(data) {
@@ -24,7 +38,7 @@ class VenueNew extends Component {
.then(res => {
console.log(res)
if (res.res && res.res.id) {
- history.push('/venue/')
+ history.push(`/project/${res.res.project_id}/venues/`)
}
})
.catch(err => {
@@ -44,6 +58,7 @@ class VenueNew extends Component {
<VenueForm
isNew
data={this.state.initialData}
+ project={this.state.project}
onSubmit={this.handleSubmit.bind(this)}
/>
</div>
@@ -52,7 +67,7 @@ class VenueNew extends Component {
}
const mapStateToProps = state => ({
- venue: state.venue,
+ project: state.project.index,
})
export default connect(mapStateToProps)(VenueNew)