Skip to content

Commit

Permalink
merge fix
Browse files Browse the repository at this point in the history
  • Loading branch information
mheggelund committed Oct 9, 2023
1 parent 0708100 commit d46e9ac
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 42 deletions.
99 changes: 63 additions & 36 deletions src/features/AddModelDialog/AddModelDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,54 +25,80 @@ export const AddModelDialog = ({
cancel,
}: AddModelDialogProps) => {
const [isFileDisplay, setFileDisplay] = useState<boolean>(false)
const [validationError, setValidationError] = useState<{
field: boolean
formation: boolean
}>({ field: false, formation: false })
const [metadata, setMetadata] = useState<Partial<MetadataProps>>()

const [fieldValidationError, setFieldValidationError] =
useState<boolean>(false)
const [formationValidationError, setFormationValidationError] =
useState<boolean>(false)
// const [validationError, setValidationError] = useState<{
// field: boolean
// formation: boolean
// }>({ field: false, formation: false })

function toggleINIFileContent() {
setFileDisplay(!isFileDisplay)
}

const INIFileContent = () => <p>Not implemented yet...</p>

/**
*
*
const validateInput = (
// input: { values: string[] | undefined; target: string }[]
input: { [target: string]: string[] | undefined }
) => {
Object.entries(input).map(([target, value]) =>
setValidationError({ ...validationError, [target]: value !== undefined })
)
// input.forEach((input) => {
// console.log('Kjører: ' + input.target)
// if (!input.values)
// setValidationError({ ...validationError, [input.target]: true })
//
// if (input.values === undefined) {
// setValidationError({ ...validationError, [input.target]: true })
// console.log('Undefined Error')
// console.log(validationError)
// } else if (input.values.length === 0) {
// setValidationError({ ...validationError, [input.target]: true })
// console.log('Length 0 Error')
// console.log(validationError)
// } else {
// setValidationError({ ...validationError, [input.target]: false })
// console.log('Ingen Error')
// console.log(validationError)
// }
// })
}
input: {
values: string[] | undefined
target: string
}[]
) =>
input.forEach((input) => {
console.log('Kjører: ' + input.target)
if (!input.values)
setValidationError({ ...validationError, [input.target]: true })
if (input.values === undefined) {
setValidationError({ ...validationError, [input.target]: true })
console.log('Undefined Error')
console.log(validationError)
} else if (input.values.length === 0) {
setValidationError({ ...validationError, [input.target]: true })
console.log('Length 0 Error')
console.log(validationError)
} else {
setValidationError({ ...validationError, [input.target]: false })
console.log('Ingen Error')
console.log(validationError)
}
})
const submit = () => {
console.log(metadata)
validateInput([
validateInput([
{ values: metadata?.field, target: 'field' },
{ values: metadata?.formation, target: 'formation' },
])
validateInput()
console.log(validationError)
*/

const validateFieldInput = () => {
if (metadata?.field === undefined) {
setFieldValidationError(true)
} else if (metadata?.field.length === 0) {
setFieldValidationError(true)
} else {
setFieldValidationError(false)
}
}
const validateFormationInput = () => {
if (metadata?.formation === undefined) {
setFormationValidationError(true)
} else if (metadata?.formation.length === 0) {
setFormationValidationError(true)
} else {
setFormationValidationError(false)
}
}

const submit = () => {
validateFieldInput()
validateFormationInput()
}

return (
Expand All @@ -90,7 +116,8 @@ export const AddModelDialog = ({
{isFileDisplay && <INIFileContent />}
<ModelMetadata
// onValidate={validateInput}
validationError={validationError}
fieldValidationError={fieldValidationError}
formationValidationError={formationValidationError}
metadata={metadata}
setMetadata={setMetadata}
/>
Expand Down
16 changes: 10 additions & 6 deletions src/features/ModelMetadata/ModelMetadata.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@ import * as Styled from './ModelMetadata.styled'

export const ModelMetadata = ({
// onValidate,
validationError,
// validationError,
fieldValidationError,
formationValidationError,
metadata,
setMetadata,
}: {
// onValidate: (values: string[], target: string) => void
validationError: { field: boolean; formation: boolean }
// validationError: { field: boolean; formation: boolean }
fieldValidationError: boolean
formationValidationError: boolean
metadata: Partial<MetadataProps> | undefined
setMetadata: (metadata: Partial<MetadataProps>) => void
}) => {
Expand Down Expand Up @@ -50,15 +54,15 @@ export const ModelMetadata = ({
<Autocomplete
id="field-select"
className={`${
validationError.field && 'model-required model-required2'
fieldValidationError && 'model-required model-required2'
}`}
label="Field"
options={fields.field}
onOptionsChange={(e: AutocompleteChanges<string>) =>
handleInput(e, 'field')
}
></Autocomplete>
{validationError.field && (
{fieldValidationError && (
<Label
label="This field is required"
className="required-lable"
Expand All @@ -68,15 +72,15 @@ export const ModelMetadata = ({

<div className="required-div">
<Autocomplete
className={`${validationError.formation && 'model-required2'}`}
className={`${formationValidationError && 'model-required2'}`}
label="Formation"
options={fields.formation}
multiple
onOptionsChange={(e: AutocompleteChanges<string>) =>
handleInput(e, 'formation')
}
></Autocomplete>
{validationError.formation && (
{formationValidationError && (
<Label
label="This field is required"
className="required-lable"
Expand Down

0 comments on commit d46e9ac

Please sign in to comment.