summaryrefslogtreecommitdiff
path: root/animism-align/frontend/views/media/containers
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2020-07-17 18:03:08 +0200
committerJules Laplace <julescarbon@gmail.com>2020-07-17 18:03:08 +0200
commitd579a10ba169d6e95e8ea8a9d7f2821fe89bca1f (patch)
tree324467ca4045bc09a0e8ad84d229a55ee5da60cc /animism-align/frontend/views/media/containers
parent3b8ca4ae366ad8925ded787f87350862ef18e0ca (diff)
media form tweaks. copy a media item to avoid typing in properties.
Diffstat (limited to 'animism-align/frontend/views/media/containers')
-rw-r--r--animism-align/frontend/views/media/containers/media.edit.js4
-rw-r--r--animism-align/frontend/views/media/containers/media.index.js5
-rw-r--r--animism-align/frontend/views/media/containers/media.new.js35
3 files changed, 40 insertions, 4 deletions
diff --git a/animism-align/frontend/views/media/containers/media.edit.js b/animism-align/frontend/views/media/containers/media.edit.js
index 8c353d9..143cdfe 100644
--- a/animism-align/frontend/views/media/containers/media.edit.js
+++ b/animism-align/frontend/views/media/containers/media.edit.js
@@ -36,7 +36,7 @@ class MediaEdit extends Component {
}
return (
<div className='row formContainer'>
- <MediaMenu />
+ <MediaMenu mediaActions={this.props.mediaActions} />
<MediaForm
data={show.res}
onSubmit={this.handleSubmit.bind(this)}
@@ -51,7 +51,7 @@ const mapStateToProps = state => ({
})
const mapDispatchToProps = dispatch => ({
- // searchActions: bindActionCreators({ ...searchActions }, dispatch),
+ // mediaActions: bindActionCreators({ ...mediaActions }, dispatch),
})
export default connect(mapStateToProps, mapDispatchToProps)(MediaEdit)
diff --git a/animism-align/frontend/views/media/containers/media.index.js b/animism-align/frontend/views/media/containers/media.index.js
index bff781e..a865522 100644
--- a/animism-align/frontend/views/media/containers/media.index.js
+++ b/animism-align/frontend/views/media/containers/media.index.js
@@ -72,7 +72,10 @@ class MediaIndex extends Component {
<div className="row">
<MediaMenu />
<div className={'results ' + options.thumbnailSize}>
- {order.map(id => <MediaItem key={id} data={lookup[id]} />)}
+ <h2>Images</h2>
+ {order.filter(id => lookup[id].type === 'image').map(id => <MediaItem key={id} data={lookup[id]} />)}
+ <h2>Video</h2>
+ {order.filter(id => lookup[id].type === 'video').map(id => <MediaItem key={id} data={lookup[id]} />)}
</div>
</div>
{order.length >= 50 && <button className='loadMore' onClick={() => this.fetch(true)}>Load More</button>}
diff --git a/animism-align/frontend/views/media/containers/media.new.js b/animism-align/frontend/views/media/containers/media.new.js
index e740c0c..80879cb 100644
--- a/animism-align/frontend/views/media/containers/media.new.js
+++ b/animism-align/frontend/views/media/containers/media.new.js
@@ -9,6 +9,34 @@ import MediaForm from '../components/media.form'
import MediaMenu from '../components/media.menu'
class MediaNew extends Component {
+ state = {
+ loading: true,
+ initialData: {},
+ }
+
+ componentDidMount() {
+ // console.log(this.props.match.params.id)
+ if (this.props.match.params && this.props.match.params.id) {
+ actions.media.show(this.props.match.params.id)
+ .then(data => {
+ const { id, ...initialData } = data.res
+ delete initialData.settings.video
+ delete initialData.settings.crop
+ delete initialData.settings.display
+ delete initialData.settings.fullsize
+ delete initialData.settings.thumbnail
+ delete initialData.settings.bibliography
+ console.log("copying", id)
+ this.setState({
+ loading: false,
+ initialData,
+ })
+ })
+ } else {
+ this.setState({ loading: false })
+ }
+ }
+
handleSubmit(data) {
console.log(data)
actions.media.create(data)
@@ -24,12 +52,17 @@ class MediaNew extends Component {
}
render() {
+ if (this.state.loading) {
+ return (
+ <div className='row formContainer' />
+ )
+ }
return (
<div className='row formContainer'>
<MediaMenu />
<MediaForm
isNew
- data={{}}
+ data={this.state.initialData}
onSubmit={this.handleSubmit.bind(this)}
/>
</div>