'use strict'; import React from 'react'; import AppConstants from '../../constants/application_constants'; import Form from './form'; import Property from './property'; import FormPropertyHeader from './form_property_header'; import apiUrls from '../../constants/api_urls'; import ReactS3FineUploader from '../ascribe_uploader/react_s3_fine_uploader'; import { getCookie } from '../../utils/fetch_api_utils'; import { getLangText } from '../../utils/lang_utils'; let RegisterPieceForm = React.createClass({ propTypes: { headerMessage: React.PropTypes.string, submitMessage: React.PropTypes.string, handleSuccess: React.PropTypes.func, isFineUploaderEditable: React.PropTypes.bool, children: React.PropTypes.element }, getDefaultProps() { return { headerMessage: getLangText('Register your work'), submitMessage: getLangText('Register work') }; }, getInitialState(){ return { digitalWorkKey: null, isUploadReady: false }; }, getFormData(){ return { digital_work_key: this.state.digitalWorkKey }; }, submitKey(key){ this.setState({ digitalWorkKey: key }); }, setIsUploadReady(isReady) { this.setState({ isUploadReady: isReady }); }, isReadyForFormSubmission(files) { files = files.filter((file) => file.status !== 'deleted' && file.status !== 'canceled'); if (files.length > 0 && files[0].status === 'upload successful') { return true; } else { return false; } }, render() { return (
); } }); let FileUploader = React.createClass({ propTypes: { setIsUploadReady: React.PropTypes.func, submitKey: React.PropTypes.func, isReadyForFormSubmission: React.PropTypes.func, onClick: React.PropTypes.func, // editable is used to lock react fine uploader in case // a user is actually not logged in already to prevent him from droping files // before login in editable: React.PropTypes.bool }, render() { return (