'use strict'; import React from 'react'; import { getCookie } from '../utils/fetch_api_utils'; import AppConstants from '../constants/application_constants'; import Router from 'react-router'; import GlobalNotificationModel from '../models/global_notification_model'; import GlobalNotificationActions from '../actions/global_notification_actions'; import Form from './ascribe_forms/form'; import Property from './ascribe_forms/property'; import apiUrls from '../constants/api_urls'; import ReactS3FineUploader from './ascribe_uploader/react_s3_fine_uploader'; import DatePicker from 'react-datepicker/dist/react-datepicker'; let RegisterPiece = React.createClass( { mixins: [Router.Navigation], getInitialState(){ return { digitalWorkKey: null, uploadStatus: false }; }, handleSuccess(){ let notification = new GlobalNotificationModel('Login successsful', 'success', 10000); GlobalNotificationActions.appendGlobalNotification(notification); this.transitionTo('pieces'); }, getFormData(){ let data = {}; for (let ref in this.refs.form.refs){ data[this.refs.form.refs[ref].props.name] = this.refs.form.refs[ref].state.value; } data.digital_work_key = this.state.digitalWorkKey; return data; }, submitKey(key){ this.setState({ digitalWorkKey: key }); }, setUploadStatus(isReady) { this.setState({ uploadStatus: 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() { let buttons = null; if (this.state.uploadStatus){ buttons = ( ); } return (

Lock down title

}>
); } }); let FileUploader = React.createClass({ propTypes: { setUploadStatus: React.PropTypes.func, submitKey: React.PropTypes.func, isReadyForFormSubmission: React.PropTypes.func }, render() { return ( ); } }); let InputDate = React.createClass({ propTypes: { placeholderText: React.PropTypes.string, onChange: React.PropTypes.func }, getInitialState() { return { value: null, value_formatted: null }; }, handleChange(date) { this.setState({ value: date, value_formatted: date.format('YYYY')}); let event = document.createEvent('HTMLEvents'); event.initEvent('click', false, true); document.dispatchEvent(event); event.target.value = date; this.props.onChange(event); }, render: function () { return ( ); } }); export default RegisterPiece;