diff options
Diffstat (limited to 'animism-align/frontend/app/views/media/containers')
3 files changed, 0 insertions, 298 deletions
diff --git a/animism-align/frontend/app/views/media/containers/media.edit.js b/animism-align/frontend/app/views/media/containers/media.edit.js deleted file mode 100644 index cf5f671..0000000 --- a/animism-align/frontend/app/views/media/containers/media.edit.js +++ /dev/null @@ -1,57 +0,0 @@ -import React, { Component } from 'react' -import { Link } from 'react-router-dom' -import { connect } from 'react-redux' - -import { history } from 'app/store' -import actions from 'app/actions' - -import { Loader } from 'app/common' - -import MediaForm from '../components/media.form' -import MediaMenu from '../components/media.menu' - -class MediaEdit extends Component { - componentDidMount() { - console.log(this.props.match.params.id) - actions.media.show(this.props.match.params.id) - } - - handleSubmit(data) { - actions.media.update(data) - .then(response => { - // response - console.log(response) - history.push('/media/') - }) - } - - render() { - const { show } = this.props.media - if (show.loading || !show.res) { - return ( - <div className='form'> - <Loader /> - </div> - ) - } - return ( - <div className='row formContainer'> - <MediaMenu mediaActions={this.props.mediaActions} /> - <MediaForm - data={show.res} - onSubmit={this.handleSubmit.bind(this)} - /> - </div> - ) - } -} - -const mapStateToProps = state => ({ - media: state.media, -}) - -const mapDispatchToProps = dispatch => ({ - // mediaActions: bindActionCreators({ ...mediaActions }, dispatch), -}) - -export default connect(mapStateToProps, mapDispatchToProps)(MediaEdit) diff --git a/animism-align/frontend/app/views/media/containers/media.index.js b/animism-align/frontend/app/views/media/containers/media.index.js deleted file mode 100644 index da94d3c..0000000 --- a/animism-align/frontend/app/views/media/containers/media.index.js +++ /dev/null @@ -1,160 +0,0 @@ -import React, { Component } from 'react' -import { Link } from 'react-router-dom' -import { bindActionCreators } from 'redux' -import { connect } from 'react-redux' - -import { formatDateTime } from 'app/utils' -import { MenuButton, SmallMenuButton, Loader } from 'app/common' -import actions from 'app/actions' - -import { thumbnailURL } from 'app/utils/annotation.utils' - -import MediaIndexOptions from '../components/media.indexOptions' -import MediaMenu from '../components/media.menu' - -// const { result, collectionLookup } = this.props - -class MediaIndex extends Component { - componentDidMount() { - // this.fetch(false) - } - - componentDidUpdate(prevProps) { - if (this.props.media.options.sort !== prevProps.media.options.sort) { - this.fetch(false) - } - } - - fetch(load_more) { - const { options, index } = this.props.media - const { order: index_order } = index - const [ sort, order ] = options.sort.split(' ') - actions.media.index({ - sort, order, limit: 5000, // offset: load_more ? index_order.length : 0, - }, load_more) - } - - render() { - const { mediaActions } = this.props - const { options } = this.props.media - const { loading, lookup, order } = this.props.media.index - if (loading) { - return ( - <section> - <MediaIndexOptions /> - <div className="row"> - {order && !!order.length && - <div className={'results ' + options.thumbnailSize}> - {order.map(id => <MediaItem key={id} data={lookup[id]} />)} - </div> - } - </div> - <Loader /> - </section> - ) - } - if (!lookup || !order.length) { - return ( - <section> - <MediaIndexOptions /> - <div className="row"> - <MediaMenu /> - <p className='gray'> - {"No media"} - </p> - </div> - </section> - ) - } - return ( - <section> - <MediaIndexOptions /> - <div className="row"> - <MediaMenu /> - <div className={'results ' + options.thumbnailSize}> - <h2>Images</h2> - {order.filter(id => lookup[id].type === 'image').map(id => <MediaItem key={id} data={lookup[id]} />)} - <h2>Galleries</h2> - {order.filter(id => lookup[id].type === 'gallery').map(id => <GalleryItem key={id} data={lookup[id]} />)} - <h2>Videos</h2> - {order.filter(id => lookup[id].type === 'video' && !lookup[id].medium.match(/book/i)).map(id => <MediaItem key={id} data={lookup[id]} />)} - <h2>Books</h2> - {order.filter(id => lookup[id].type === 'video' && lookup[id].medium.match(/book/i)).map(id => <MediaItem key={id} data={lookup[id]} />)} - <h2>Files</h2> - {order.filter(id => lookup[id].type === 'file').map(id => <FileItem key={id} data={lookup[id]} />)} - </div> - </div> - {order.length >= 50 && <button className='loadMore' onClick={() => this.fetch(true)}>Load More</button>} - </section> - ) - } -} - -const MediaItem = ({ data }) => { - // console.log(data) - return ( - <div className='cell'> - <div className='img'> - <Link to={"/media/" + data.id + "/edit/"}> - <img src={thumbnailURL(data)} alt={data.title} /> - </Link> - </div> - <div className='meta center'> - <div> - <i>{data.title}</i><br /> - {data.author}<br /> - {data.date} - </div> - </div> - </div> - ) -} - -const GalleryItem = ({ data }) => { - // console.log(data) - return ( - <div className='cell'> - <div className='meta center'> - <div className='img'> - <Link to={"/media/" + data.id + "/edit/"}> - <img src={thumbnailURL(data)} alt={data.title} /> - </Link> - </div> - <Link to={"/media/" + data.id + "/edit/"}> - <div> - <i>{data.title}</i><br /> - {data.author}<br /> - {data.date} - </div> - </Link> - </div> - </div> - ) -} - -const FileItem = ({ data }) => { - // console.log(data) - return ( - <div className='cell'> - <div className='meta center'> - <Link to={"/media/" + data.id + "/edit/"}> - <div> - <i>{data.title}</i><br /> - {data.settings.file.url}<br /> - </div> - </Link> - </div> - </div> - ) -} - - -const mapStateToProps = state => ({ - media: state.media, -}) - -const mapDispatchToProps = dispatch => ({ - // uploadActions: bindActionCreators({ ...uploadActions }, dispatch), -}) - -export default connect(mapStateToProps, mapDispatchToProps)(MediaIndex) diff --git a/animism-align/frontend/app/views/media/containers/media.new.js b/animism-align/frontend/app/views/media/containers/media.new.js deleted file mode 100644 index c193c2f..0000000 --- a/animism-align/frontend/app/views/media/containers/media.new.js +++ /dev/null @@ -1,81 +0,0 @@ -import React, { Component } from 'react' -import { Link } from 'react-router-dom' -import { connect } from 'react-redux' - -import { history } from 'app/store' -import actions from 'app/actions' - -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) - .then(res => { - console.log(res) - if (res.res && res.res.id) { - history.push('/media/') - } - }) - .catch(err => { - console.error('error') - }) - } - - render() { - if (this.state.loading) { - return ( - <div className='row formContainer' /> - ) - } - return ( - <div className='row formContainer'> - <MediaMenu /> - <MediaForm - isNew - data={this.state.initialData} - onSubmit={this.handleSubmit.bind(this)} - /> - </div> - ) - } -} - -const mapStateToProps = state => ({ - media: state.media, -}) - -const mapDispatchToProps = dispatch => ({ - // uploadActions: bindActionCreators({ ...uploadActions }, dispatch), -}) - -export default connect(mapStateToProps, mapDispatchToProps)(MediaNew) |
