import React, { Component } from 'react' import { Link } from 'react-router-dom' import { TextArea, Button } from 'app/common' import GalleryCaptionForm from './galleryCaption.form' import actions from 'app/actions' const ALPHABET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".split("") export default class CaptionForm extends Component { state = { editing: false, expanded: false, media: { settings: {} }, } constructor(props) { super(props) this.edit = this.edit.bind(this) this.expand = this.expand.bind(this) this.handleChange = this.handleChange.bind(this) this.handleSubmit = this.handleSubmit.bind(this) this.handleCancel = this.handleCancel.bind(this) this.handleUpdateGalleryCaption = this.handleUpdateGalleryCaption.bind(this) } componentDidMount() { this.setState({ media: { ...this.props.media, settings: { ...this.props.media.settings, } } }) } edit() { this.setState({ editing: true }) } expand() { this.setState({ expanded: !this.state.expanded }) } handleChange(e){ e.preventDefault() this.setState({ media: { ...this.state.media, settings: { ...this.state.media, bibliography: e.target.value, } } }) } handleSubmit(e) { e.preventDefault() actions.media.update(this.state.media) this.setState({ editing: false }) } handleUpdateGalleryCaption(caption_id, item) { const media = { ...this.state.media, settings: { ...this.state.media.settings, caption_lookup: { ...this.state.media.settings.caption_lookup, [caption_id]: { ...item } } } } // console.log(media) actions.media.update(media) this.setState({ media }) } handleCancel(e) { e.preventDefault() this.setState({ editing: false, media: { ...this.props.media } }) } render() { return this.state.editing ? this.renderForm() : this.renderEntry() } renderForm() { const { episode, index } = this.props const { media } = this.state return (
) } renderEntry() { const { index } = this.props const { media } = this.state const { bibliography } = media.settings return (