diff --git a/assets/actions/dataset.ts b/assets/actions/dataset.ts index 0ba837d45683ed408fabc305e45d99b4fa21f746..020b0cff434e5f8e068bab9f2b790d44059be5cc 100644 --- a/assets/actions/dataset.ts +++ b/assets/actions/dataset.ts @@ -63,7 +63,7 @@ function getDatasetRequest(uuid: string) { } function createDatasetRequest() { - const dataset = new Dataset({title: 'New Dataset', description: 'Description here'}); + const dataset = new Dataset(); return (dispatch, getState) => { const token = getState().login.access_token; diff --git a/assets/components/common/filter/CollapsibleComponentSearch.tsx b/assets/components/common/filter/CollapsibleComponentSearch.tsx index 151180b49d606b7bb64904436ef4501c8f8b78c1..c2986040234f3fe0874ea39b1329acc13a9ca150 100644 --- a/assets/components/common/filter/CollapsibleComponentSearch.tsx +++ b/assets/components/common/filter/CollapsibleComponentSearch.tsx @@ -67,7 +67,7 @@ class CollapsibleComponentSearch extends React.Component
{ children }
diff --git a/assets/components/common/filter/ExpandFiltersComponent.tsx b/assets/components/common/filter/ExpandFiltersComponent.tsx index 5644c05a3e213fdf86d6548a212c4e53611b1443..ea9e8ad9f94593b689d3ba6338f8aa1987d719a1 100644 --- a/assets/components/common/filter/ExpandFiltersComponent.tsx +++ b/assets/components/common/filter/ExpandFiltersComponent.tsx @@ -84,7 +84,7 @@ class ExpandFiltersComponent extends React.Component { children } diff --git a/assets/components/pages/dataset/dataset-detail/BrowseMenu.tsx b/assets/components/pages/dataset/dataset-detail/BrowseMenu.tsx index 33c1996de94ca5c01510dd9de5646703196266b6..7868d72ced34f6c8bcc33ead6108353375c4ee85 100644 --- a/assets/components/pages/dataset/dataset-detail/BrowseMenu.tsx +++ b/assets/components/pages/dataset/dataset-detail/BrowseMenu.tsx @@ -130,7 +130,7 @@ class BrowseMenu extends React.Component { - +
diff --git a/assets/components/pages/dataset/dataset-stepper/StepNavigation.tsx b/assets/components/pages/dataset/dataset-stepper/StepNavigation.tsx index 1530ace863d912e1ef606f91c202ff010a2b7ac1..5fc4a9ae88e9a5c6f77b08e6f2a583186420d7ee 100644 --- a/assets/components/pages/dataset/dataset-stepper/StepNavigation.tsx +++ b/assets/components/pages/dataset/dataset-stepper/StepNavigation.tsx @@ -68,11 +68,11 @@ class StepNavigation extends React.Component { return steps.find((e) => e.link === path).id; } - protected onNext = () => { - if (this.state.id === 6) { + protected goToStep = (id) => () => { + if (id > 6) { // ACCEPT AND PUBLISH } else { - const path = steps.find((e) => e.id === this.state.id + 1).link; + const path = steps.find((e) => e.id === id).link; const {router, params: {uuid}} = this.props; router.push(`/datasets/${uuid}/${path}`); } @@ -92,10 +92,13 @@ class StepNavigation extends React.Component { }
- - + ) + } + diff --git a/assets/components/pages/dataset/dataset-stepper/steps/basic-info/BasicInfoForm.tsx b/assets/components/pages/dataset/dataset-stepper/steps/basic-info/BasicInfoForm.tsx index 7f47be06b613bd518d1f797a590ad9df6097e791..e6b9e6d9dcd95e6a6803c594283f2178610f722d 100644 --- a/assets/components/pages/dataset/dataset-stepper/steps/basic-info/BasicInfoForm.tsx +++ b/assets/components/pages/dataset/dataset-stepper/steps/basic-info/BasicInfoForm.tsx @@ -2,8 +2,9 @@ import * as React from 'react'; import {connect} from 'react-redux'; import {Field, FieldArray, reduxForm} from 'redux-form'; import {withStyles} from 'material-ui/styles'; -import {FormLabel, FormControl, FormControlLabel} from 'material-ui/Form'; -import Radio, {RadioGroup} from 'material-ui/Radio'; +import {DatePicker} from 'material-ui-pickers'; +import KeyboardArrowLeft from 'material-ui-icons/KeyboardArrowLeft'; +import KeyboardArrowRight from 'material-ui-icons/KeyboardArrowRight'; import UploadSection from './upload-section'; import MaterialAutosuggest from '../../../../../common/material-autosuggest'; @@ -12,6 +13,7 @@ import languages from '../../../../../../data/Languages'; import {TextField} from '../../../../../common/text-field'; import SelectPartnerComponent from './SelectPartnerComponent'; import {Partner} from '../../../../../../model/partner.model'; +import {BasicInfoRadioGroup} from './BasicInfoRadioGroup'; interface ILoginContainerProps extends React.ClassAttributes { handleSubmit: () => void; @@ -27,36 +29,40 @@ const styleSheet = { }, }; -const renderRadioGroup = ({input, meta, ...rest}) => ( - - Rights* - input.onChange(value) // tslint:disable-line - } - > - }/> - }/> - }/> - - +const renderDatePicker = ({input, meta, label, ...rest}) => ( + input.onChange(value.getTime()) // tslint:disable-line + } + invalidLabel={ label } + returnMoment={ false } + leftArrowIcon={ } + rightArrowIcon={ } + /> ); class BasicInfoStep extends React.Component { protected save = () => { - this.props.handleSubmit(); + setTimeout(this.props.handleSubmit); } public render() { - const {handleSubmit, initialValues, classes, uuid, partners} = this.props; + const {classes, uuid, partners} = this.props; return (
+ { placeholder="An abstract, short or long description of the resource. Descriptive details improves discoverability of the resource." onBlur={ this.save } /> - ( + + Rights* + input.onChange(value) // tslint:disable-line + } + > + + https://creativecommons.org/publicdomain/zero/1.0/ + + ) } + enterDelay={ 300 } + leaveDelay={ 1200 } + placement="right" + > +
CCO
+ + ) } + control={ } + /> + + https://creativecommons.org/licenses/by/4.0/ + + ) } + enterDelay={ 300 } + leaveDelay={ 1200 } + placement="right" + > +
CC-BY
+ + ) } + control={ } + /> + + https://creativecommons.org/licenses/by-nc/4.0/ + + ) } + enterDelay={ 300 } + leaveDelay={ 1200 } + placement="right" + > +
CC-BY-NC
+ + ) } + control={ } + /> +
+
+); diff --git a/assets/components/pages/dataset/dataset-stepper/steps/basic-info/index.tsx b/assets/components/pages/dataset/dataset-stepper/steps/basic-info/index.tsx index 8fa5c813841498d742f71a870bcfa0f9971fcbbb..37df3dac2b99cafd1dfb7a5ad17a0c9f942115dd 100644 --- a/assets/components/pages/dataset/dataset-stepper/steps/basic-info/index.tsx +++ b/assets/components/pages/dataset/dataset-stepper/steps/basic-info/index.tsx @@ -2,7 +2,6 @@ import * as React from 'react'; import {bindActionCreators} from 'redux'; import {connect} from 'react-redux'; import * as _ from 'lodash'; -import * as moment from 'moment'; import BasicInfoForm from './BasicInfoForm'; import {Dataset} from '../../../../../../model/dataset.model'; @@ -11,8 +10,6 @@ import {loadPartners} from '../../../../../../actions/partner'; import {IPartnerFilter} from '../../../../../../model/filter.model'; import {Partner} from '../../../../../../model/partner.model'; -const DATE_FORMAT = 'YYYY-MM-DD'; - interface IDatasetProps extends React.ClassAttributes { route: any; router: any; @@ -25,10 +22,6 @@ interface IDatasetProps extends React.ClassAttributes { class BasicInfoStep extends React.Component { - public constructor(props) { - super(props); - } - public componentDidMount() { if (this.props.partners.length === 0) { this.props.loadPartners(0, 50, null, {}); @@ -37,30 +30,13 @@ class BasicInfoStep extends React.Component { protected handleSubmit = (values: Dataset) => { const {dataset, saveDatasetRequest} = this.props; - const handled = { - ...values, - dateCreateDocument: moment(values.dateCreateDocument, DATE_FORMAT).valueOf(), - }; - if (!_.isEqual({...dataset}, handled)) { - saveDatasetRequest(new Dataset(handled)); - } - } - - // todo check date when material-ui date-picker is available - private withStringDateValue = (dataset) => { - - if (dataset && dataset.dateCreateDocument) { - dataset.dateCreateDocument = moment(dataset.dateCreateDocument).format(DATE_FORMAT); + if (!_.isEqual({...dataset}, values)) { + saveDatasetRequest(values); } - - return dataset; } public render() { - - const { partners } = this.props; - - const dataset = this.withStringDateValue({...this.props.dataset}); + const {dataset, partners} = this.props; return ( {
- + { this.renderSearchComponent() }
@@ -393,7 +393,7 @@ class SearchMenu extends React.Component { - +
diff --git a/assets/components/pages/partner/partner-list/SearchMenu.tsx b/assets/components/pages/partner/partner-list/SearchMenu.tsx index 0f743dbb1bf755c858ca4cb1cc586bdab7e22e73..c83b8a03b43f348f8451d30e4576c29b54ce2952 100644 --- a/assets/components/pages/partner/partner-list/SearchMenu.tsx +++ b/assets/components/pages/partner/partner-list/SearchMenu.tsx @@ -217,7 +217,7 @@ class SearchMenu extends React.Component { { {