import React, { Component } from 'react' import { Link } from 'react-router-dom' import VimeoPlayer from '@u-wave/react-vimeo' import { capitalize } from 'app/utils' import { TextInput, LabelDescription, Select, TextArea, Checkbox, SubmitButton, Loader } from 'app/common' import { getVimeoMetadata } from 'app/views/media/media.actions' export default class MediaVideoForm extends Component { state = { } constructor(props) { super(props) this.handleSelect = this.handleSelect.bind(this) this.handleChange = this.handleChange.bind(this) this.handleSettingsChange = this.handleSettingsChange.bind(this) this.handleUpload = this.handleUpload.bind(this) } handleChange(e) { let { name, value } = e.target return this.handleSelect(name, value) } handleSelect(name, value) { value = value.trim() if (name === 'url') { getVimeoMetadata(value) .then(data => { console.log('video metadata', data) this.props.onChange(name, value) setTimeout(() => { this.props.onSettingsChange('video', { thumbnail_url: data.thumbnail_url, duration: data.duration, video_id: data.video_id, }) }, 20) }) } else { this.props.onChange(name, value) } } handleSettingsChange(e) { let { name, value } = e.target this.props.onSettingsChange(name, value) } handleSettingsSelect(name, value) { this.props.onSettingsChange(name, value) } handleUpload(file) { console.log('uploading poster image') const uploadData = { image: file, tag: "poster", username: 'animism', } // uploadData['__image_filename'] = file.filename return actions.upload.upload(uploadData).then(data => { this.handleSettingsChange("poster", data.res) }) } render() { const { data } = this.props return (
{data.url &&
{data.settings.video && {data.settings.poster && } }
}
) } }