import { defineMessages, FormattedMessage, injectIntl } from 'react-intl'; import ImmutablePropTypes from 'react-immutable-proptypes'; import { List } from 'immutable'; import React from 'react'; import HorizontalStaticText from '../ui/forms/HorizontalStaticText'; import NavTab from '../ui/NavTab'; import PlanFileInput from './PlanFileInput'; import PlanFilesTab from './PlanFilesTab'; import PlanUploadTypeRadios from './PlanUploadTypeRadios'; const messages = defineMessages({ files: { id: 'PlanEditFormTabs.files', defaultMessage: 'Files' }, planName: { id: 'PlanEditFormTabs.planName', defaultMessage: 'Plan Name' }, updatePlan: { id: 'PlanEditFormTabs.updatePlan', defaultMessage: 'Update Plan' }, uploadFiles: { id: 'PlanEditFormTabs.uploadFiles', defaultMessage: 'Upload Files' }, uploadType: { id: 'PlanEditFormTabs.uploadType', defaultMessage: 'Upload Type' } }); export default class PlanEditFormTabs extends React.Component { setActiveTab(tabName) { return this.props.currentTab === tabName ? 'active' : ''; } getFileCount() { let planFiles = this.props.planFiles || List(); let selectedFiles = this.props.selectedFiles || []; return selectedFiles.length > planFiles.size ? selectedFiles.length : planFiles.size; } render() { return (
); } } PlanEditFormTabs.propTypes = { currentTab: React.PropTypes.string, planFiles: ImmutablePropTypes.map, planName: React.PropTypes.string, selectedFiles: React.PropTypes.array, setUploadType: React.PropTypes.func.isRequired, uploadType: React.PropTypes.string.isRequired }; PlanEditFormTabs.defaultProps = { currentTtab: 'editPlan' }; class _PlanFormTab extends React.Component { render() { const { formatMessage } = this.props.intl; return (
); } } _PlanFormTab.propTypes = { active: React.PropTypes.string, intl: React.PropTypes.object, planName: React.PropTypes.string, setUploadType: React.PropTypes.func.isRequired, uploadType: React.PropTypes.string.isRequired }; const PlanFormTab = injectIntl(_PlanFormTab);