From d579a10ba169d6e95e8ea8a9d7f2821fe89bca1f Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Fri, 17 Jul 2020 18:03:08 +0200 Subject: media form tweaks. copy a media item to avoid typing in properties. --- .../frontend/views/media/containers/media.new.js | 35 +++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'animism-align/frontend/views/media/containers/media.new.js') 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 ( +
+ ) + } return (
-- cgit v1.2.3-70-g09d2