Skip to content

Commit c80f405

Browse files
committed
#1195 Cleaned up default values
1 parent 48a8e1a commit c80f405

3 files changed

Lines changed: 46 additions & 37 deletions

File tree

src/frontend/src/components/ReactHookEditableList.tsx

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,46 @@
11
import { Grid, Button, IconButton, TextField } from '@mui/material';
22
import DeleteIcon from '@mui/icons-material/Delete';
33
import { FieldArrayWithId, UseFieldArrayRemove, UseFormRegister, UseFieldArrayAppend } from 'react-hook-form';
4+
import { Box } from '@mui/system';
45

56
interface ReactHookEditableListProps {
67
name: string;
78
ls: FieldArrayWithId[];
89
register: UseFormRegister<any>;
910
append: UseFieldArrayAppend<any, any>;
1011
remove: UseFieldArrayRemove;
12+
addMessage: string;
1113
}
1214

13-
const ReactHookEditableList: React.FC<ReactHookEditableListProps> = ({ name, ls, register, append, remove }) => {
15+
const ReactHookEditableList: React.FC<ReactHookEditableListProps> = ({
16+
name,
17+
ls,
18+
register,
19+
append,
20+
remove,
21+
addMessage = '+ ADD NEW BULLET'
22+
}) => {
1423
return (
1524
<>
25+
<Button
26+
variant="contained"
27+
color="primary"
28+
onClick={() => append({ bulletId: -1, detail: '' })}
29+
sx={{ my: 2, width: 'max-content' }}
30+
>
31+
{addMessage}
32+
</Button>
1633
{ls.map((_element, i) => {
1734
return (
18-
<Grid item sx={{ display: 'flex', alignItems: 'center' }}>
19-
<TextField required autoComplete="off" sx={{ width: 9 / 10 }} {...register(`${name}.${i}.detail`)} />
35+
//<Grid item sx={{ display: 'grid', alignItems: 'center' }}>
36+
<Box sx={{ width: 10 / 10 }}>
37+
<TextField required autoComplete="off" sx={{ width: 2 / 10 }} {...register(`${name}.${i}.detail`)} />
2038
<IconButton type="button" onClick={() => remove(i)} sx={{ mx: 1, my: 0 }}>
2139
<DeleteIcon />
2240
</IconButton>
23-
</Grid>
41+
</Box>
2442
);
2543
})}
26-
<Button
27-
variant="contained"
28-
color="success"
29-
onClick={() => append({ bulletId: -1, detail: '' })}
30-
sx={{ my: 2, width: 'max-content' }}
31-
>
32-
+ Add New Bullet
33-
</Button>
3444
</>
3545
);
3646
};

src/frontend/src/pages/ProjectDetailPage/ProjectEdit/ProjectEditContainer.tsx

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,14 @@ const ProjectEditContainer: React.FC<ProjectEditContainerProps> = ({ project, ex
214214
<LinksEditView watch={watch} ls={links} register={register} append={appendLink} remove={removeLink} />
215215
</PageBlock>
216216
<PageBlock title="Goals">
217-
<ReactHookEditableList name="goals" register={register} ls={goals} append={appendGoal} remove={removeGoal} />
217+
<ReactHookEditableList
218+
name="goals"
219+
register={register}
220+
ls={goals}
221+
append={appendGoal}
222+
remove={removeGoal}
223+
addMessage="Add Goal"
224+
/>
218225
</PageBlock>
219226
<PageBlock title="Features">
220227
<ReactHookEditableList
@@ -223,6 +230,7 @@ const ProjectEditContainer: React.FC<ProjectEditContainerProps> = ({ project, ex
223230
ls={features}
224231
append={appendFeature}
225232
remove={removeFeature}
233+
addMessage="Add Feature"
226234
/>
227235
</PageBlock>
228236
<PageBlock title="Other Constraints">
@@ -232,22 +240,18 @@ const ProjectEditContainer: React.FC<ProjectEditContainerProps> = ({ project, ex
232240
ls={constraints}
233241
append={appendConstraint}
234242
remove={removeConstraint}
243+
addMessage="Add Constraint"
235244
/>
236245
</PageBlock>
237246
<PageBlock title="Rules">
238-
{rules.map((_rule, i) => {
239-
return (
240-
<Grid item sx={{ display: 'flex', alignItems: 'center' }}>
241-
<TextField required autoComplete="off" {...register(`rules.${i}.rule`)} sx={{ width: 5 / 10 }} />
242-
<IconButton type="button" onClick={() => removeRule(i)} sx={{ mx: 1, my: 0 }}>
243-
<DeleteIcon />
244-
</IconButton>
245-
</Grid>
246-
);
247-
})}
248-
<Button variant="contained" color="success" onClick={() => appendRule({ rule: '' })} sx={{ mt: 2 }}>
249-
+ ADD NEW RULE
250-
</Button>
247+
<ReactHookEditableList
248+
name="rules"
249+
register={register}
250+
ls={rules}
251+
append={appendRule}
252+
remove={removeRule}
253+
addMessage="Add Rule"
254+
/>
251255
</PageBlock>
252256
<Box textAlign="right" sx={{ my: 2 }}>
253257
<NERFailButton variant="contained" onClick={exitEditMode} sx={{ mx: 1 }}>

src/frontend/src/pages/WorkPackageDetailPage/ActivateWorkPackageModalContainer/ActivateWorkPackageModal.tsx

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ const schema = yup.object().shape({
4747
confirmDetails: yup.boolean().required()
4848
});
4949

50-
//startDate: new Date().toLocaleDateString(),
51-
5250
const ActivateWorkPackageModal: React.FC<ActivateWorkPackageModalProps> = ({
5351
allUsers,
5452
wbsNum,
@@ -62,19 +60,16 @@ const ActivateWorkPackageModal: React.FC<ActivateWorkPackageModalProps> = ({
6260
const daysUntilNextMonday = (7 - today + 1) % 7;
6361
startDate.setDate(startDate.getDate() + daysUntilNextMonday);
6462
}
65-
const { reset, handleSubmit, control } = useForm<FormInput>({
66-
resolver: yupResolver(schema),
67-
defaultValues: {
68-
confirmDetails: false,
69-
startDate
70-
}
71-
});
7263

7364
const defaultValues: FormInput = {
74-
startDate: new Date(),
65+
startDate: startDate,
7566
confirmDetails: false
7667
};
7768

69+
const { reset, handleSubmit, control } = useForm<FormInput>({
70+
resolver: yupResolver(schema)
71+
});
72+
7873
const [projectLeadId, setProjectLeadId] = useState<string>();
7974
const [projectManagerId, setProjectManagerId] = useState<string>();
8075
const toast = useToast();
@@ -149,7 +144,7 @@ const ActivateWorkPackageModal: React.FC<ActivateWorkPackageModalProps> = ({
149144
inputFormat="yyyy-MM-dd"
150145
onChange={(date) => onChange(date ?? new Date())}
151146
className={'padding: 10'}
152-
value={value}
147+
value={startDate}
153148
shouldDisableDate={disableStartDate}
154149
renderInput={(params) => <TextField autoComplete="off" {...params} />}
155150
/>

0 commit comments

Comments
 (0)