• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IQSS / dataverse-frontend / 7960501805

19 Feb 2024 01:42PM CUT coverage: 97.453% (-0.007%) from 97.46%
7960501805

push

github

web-flow
Merge pull request #284 from IQSS/feature/280-use-query-param-in-home-page-pagination

280 - Use page search param in home page pagination

533 of 554 branches covered (96.21%)

Branch coverage included in aggregate %.

1571 of 1605 relevant lines covered (97.88%)

3749.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

85.71
/src/sections/create-dataset/CreateDatasetForm.tsx
1
import { ChangeEvent, FormEvent, MouseEvent, useEffect } from 'react'
2
import { Alert, Button, Col, Form, Row } from '@iqss/dataverse-design-system'
3
import { useTranslation } from 'react-i18next'
4
import { RequiredFieldText } from '../shared/form/RequiredFieldText/RequiredFieldText'
5
import { SeparationLine } from '../shared/layout/SeparationLine/SeparationLine'
6
import { useCreateDatasetForm, SubmissionStatusEnums } from './useCreateDatasetForm'
7
import styles from '/src/sections/dataset/Dataset.module.scss'
8
import { useLoading } from '../loading/LoadingContext'
9

10
export function CreateDatasetForm() {
48✔
11
  const { isLoading, setIsLoading } = useLoading()
48✔
12
  const { formErrors, submissionStatus, updateFormData, submitFormData, cancelFormSubmit } =
13
    useCreateDatasetForm()
48✔
14

15
  const { t } = useTranslation('createDataset')
48✔
16

17
  const handleCreateDatasetFieldChange = (event: ChangeEvent<HTMLInputElement>) => {
45✔
18
    const { name, value } = event.target
36✔
19
    updateFormData({ [name]: value })
36✔
20
  }
21

22
  const handleCreateDatasetSubmit = (event: FormEvent<HTMLFormElement>) => {
45✔
23
    event.preventDefault()
2✔
24
    submitFormData()
2✔
25
  }
26

27
  const handleFormCancel = (event: MouseEvent<HTMLButtonElement>) => {
45✔
28
    event.preventDefault()
×
29
    cancelFormSubmit()
×
30
  }
31
  useEffect(() => {
45✔
32
    setIsLoading(false)
5✔
33
  }, [isLoading])
34

35
  return (
45✔
36
    <article>
37
      <header className={styles.header}>
38
        <h1>{t('pageTitle')}</h1>
39
      </header>
40
      <SeparationLine />
41
      <div className={styles.container}>
42
        <RequiredFieldText />
43
        {submissionStatus === SubmissionStatusEnums.IsSubmitting && (
47✔
44
          <p>{t('datasetForm.status.submitting')}</p>
45
        )}
46
        {submissionStatus === SubmissionStatusEnums.SubmitComplete && (
47✔
47
          <p>{t('datasetForm.status.success')}</p>
48
        )}
49
        {submissionStatus === SubmissionStatusEnums.Errored && (
45!
50
          <p>{t('datasetForm.status.fail')}</p>
51
        )}
52
        <Form
53
          onSubmit={(event: FormEvent<HTMLFormElement>) => {
54
            handleCreateDatasetSubmit(event)
2✔
55
          }}
56
          className={'create-dataset-form'}>
57
          <Row>
58
            <Col md={9}>
59
              <Form.Group controlId="createDatasetTitle" required>
60
                <Form.Group.Label>{t('datasetForm.title')}</Form.Group.Label>
61
                <Form.Group.Input
62
                  readOnly={submissionStatus === SubmissionStatusEnums.IsSubmitting && true}
47✔
63
                  type="text"
64
                  name="createDatasetTitle"
65
                  placeholder="Dataset Title"
66
                  onChange={handleCreateDatasetFieldChange}
67
                  withinMultipleFieldsGroup={false}
68
                />
69
              </Form.Group>
70
              {formErrors.createDatasetTitle && <span>{formErrors.createDatasetTitle}</span>}
45!
71
            </Col>
72
          </Row>
73
          <SeparationLine />
74
          <Alert variant={'info'} customHeading={t('metadataTip.title')} dismissible={false}>
75
            {t('metadataTip.content')}
76
          </Alert>
77
          <Button type="submit" disabled={submissionStatus === SubmissionStatusEnums.IsSubmitting}>
78
            {t('saveButton')}
79
          </Button>
80
          <Button withSpacing variant="secondary" type="button" onClick={handleFormCancel}>
81
            {t('cancelButton')}
82
          </Button>
83
        </Form>
84
      </div>
85
    </article>
86
  )
87
}
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc