Skip to content

Commit

Permalink
minor tweak
Browse files Browse the repository at this point in the history
  • Loading branch information
Josef552 committed Sep 15, 2024
1 parent ce442ee commit dab89e5
Showing 1 changed file with 43 additions and 13 deletions.
56 changes: 43 additions & 13 deletions src/view/ManipulateIntegerDialog.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Integer } from '../model/ta/integer.ts';
import React, { useEffect, useMemo, useState } from 'react';
import { useButtonUtils } from '../utils/buttonUtils.ts';
import { useTranslation } from 'react-i18next';
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, Grid, IconButton, TextField } from '@mui/material';
import CloseIcon from '@mui/icons-material/Close';

Expand All @@ -22,7 +21,7 @@ interface ManipulateIntegerDialog {

export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props) => {
const { open, integers, intPrevVersion, handleClose, handleSubmit } = props;
const { t } = useTranslation();
//const { t } = useTranslation();
const { executeOnKeyboardClick } = useButtonUtils();

const [justOpened, setJustOpened] = useState(true);
Expand Down Expand Up @@ -73,7 +72,7 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
setIsInitEmpty(init.trim() === '');
setIsMinBiggerThanMax(min > max);
setInitOutsideIntervall(init > max || init < min);
setIsSizeInvalid( parseInt(size) < 1);
setIsSizeInvalid(parseInt(size) < 1);
if (intPrevVersion) {
// previous name is allowed
const prevName = intPrevVersion.name;
Expand All @@ -89,13 +88,44 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
isMinBiggerThanMax && setMaxErrorMessage('Max muss größer als Min sein');
initOutsideIntervall && setInitErrorMessage('Init muss im Intervall liegen');
isSizeInvalid && setSizeErrorMessage('Size must be at least 1');

}, [name, integers, isNameEmpty, isNameDuplicate, intPrevVersion, size, min, max, init, isMinBiggerThanMax, initOutsideIntervall, isSizeInvalid]);
}, [
name,
integers,
isNameEmpty,
isNameDuplicate,
intPrevVersion,
size,
min,
max,
init,
isMinBiggerThanMax,
initOutsideIntervall,
isSizeInvalid,
]);

const isValidationError: boolean = useMemo(
() => isNameEmpty || isNameDuplicate || isInitEmpty || isMinEmpty || isMaxEmpty || isSizeEmpty
|| isMinBiggerThanMax || initOutsideIntervall || isSizeInvalid,
[isNameEmpty, isNameDuplicate, isInitEmpty, isMinEmpty, isMaxEmpty, isSizeEmpty, isMinBiggerThanMax, initOutsideIntervall, isSizeInvalid]);
() =>
isNameEmpty ||
isNameDuplicate ||
isInitEmpty ||
isMinEmpty ||
isMaxEmpty ||
isSizeEmpty ||
isMinBiggerThanMax ||
initOutsideIntervall ||
isSizeInvalid,
[
isNameEmpty,
isNameDuplicate,
isInitEmpty,
isMinEmpty,
isMaxEmpty,
isSizeEmpty,
isMinBiggerThanMax,
initOutsideIntervall,
isSizeInvalid,
]
);

const handleCloseDialog = () => {
// reset entries when dialog is closed
Expand Down Expand Up @@ -165,7 +195,7 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
fullWidth
variant="outlined"
value={min}
onChange={(e) => parseInt(e.target.value) < 0 ? setMin('0') : setMin(e.target.value)}
onChange={(e) => (parseInt(e.target.value) < 0 ? setMin('0') : setMin(e.target.value))}
InputProps={{ inputProps: { min: 0 } }}
error={isMinEmpty || isMinBiggerThanMax}
helperText={isMinBiggerThanMax && !isMinEmpty ? minErrorMessage : ''}
Expand All @@ -180,7 +210,7 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
fullWidth
variant="outlined"
value={max}
onChange={(e) => parseInt(e.target.value) < 0 ? setMax('0') : setMax(e.target.value)}
onChange={(e) => (parseInt(e.target.value) < 0 ? setMax('0') : setMax(e.target.value))}
InputProps={{ inputProps: { min: 0 } }}
error={isMaxEmpty || isMinBiggerThanMax}
helperText={isMinBiggerThanMax && !isMaxEmpty ? maxErrorMessage : ''}
Expand All @@ -197,7 +227,7 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
fullWidth
variant="outlined"
value={size}
onChange={(e) => parseInt(e.target.value) < 0 ? setSize('0') : setSize(e.target.value)}
onChange={(e) => (parseInt(e.target.value) < 0 ? setSize('0') : setSize(e.target.value))}
InputProps={{ inputProps: { min: 0 } }}
error={isSizeEmpty || isSizeInvalid}
helperText={isSizeInvalid ? sizeErrorMessage : ''}
Expand All @@ -212,7 +242,7 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
fullWidth
variant="outlined"
value={init}
onChange={(e) => parseInt(e.target.value) < 0 ? setInit('0') : setInit(e.target.value)}
onChange={(e) => (parseInt(e.target.value) < 0 ? setInit('0') : setInit(e.target.value))}
InputProps={{ inputProps: { min: 0 } }}
error={isInitEmpty || initOutsideIntervall}
helperText={initOutsideIntervall && !isInitEmpty ? initErrorMessage : ''}
Expand All @@ -238,7 +268,7 @@ export const ManipulateIntegerDialog: React.FC<ManipulateIntegerDialog> = (props
disabled={isValidationError}
data-testid={'button-add-integer-ok'}
>
{intPrevVersion ? 'Speichern' /*t('locDialog.button.edit')*/ : 'Hinzufügen'/*t('locDialog.button.add')*/}
{intPrevVersion ? 'Speichern' /*t('locDialog.button.edit')*/ : 'Hinzufügen' /*t('locDialog.button.add')*/}
</Button>
</DialogActions>
</Dialog>
Expand Down

0 comments on commit dab89e5

Please sign in to comment.