diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-07-17 18:03:08 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-07-17 18:03:08 +0200 |
| commit | d579a10ba169d6e95e8ea8a9d7f2821fe89bca1f (patch) | |
| tree | 324467ca4045bc09a0e8ad84d229a55ee5da60cc /animism-align/frontend/views/media/containers | |
| parent | 3b8ca4ae366ad8925ded787f87350862ef18e0ca (diff) | |
media form tweaks. copy a media item to avoid typing in properties.
Diffstat (limited to 'animism-align/frontend/views/media/containers')
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> |
