Skip to content

Commit d50048c

Browse files
committed
refactor: standardize dynamic form for creation and editing
1 parent edaccbf commit d50048c

17 files changed

+335
-313
lines changed

server/verification-request/verification-request.service.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -701,15 +701,7 @@ export class VerificationRequestService {
701701
return src._id;
702702
})
703703
);
704-
705-
updatedVerificationRequestData.source = Array.from(
706-
new Set([
707-
...(verificationRequest.source || []).map((sourceId) =>
708-
sourceId.toString()
709-
),
710-
...newSourceIds.map((id) => id.toString()),
711-
])
712-
).map((id) => Types.ObjectId(id));
704+
updatedVerificationRequestData.source = newSourceIds.map((id) => Types.ObjectId(id));
713705
}
714706

715707
if (
@@ -740,7 +732,8 @@ export class VerificationRequestService {
740732
verificationRequest._id,
741733
updatedVerificationRequestData,
742734
{ new: true, upsert: true }
743-
).populate("source");
735+
).populate("source")
736+
.populate("impactArea");
744737
} catch (error) {
745738
console.error("Failed to update verification request:", error);
746739
throw error;

src/components/Form/DatePickerInput.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const StyledTextField = styled(TextField)`
4141

4242
const DatePickerInput = (props) => {
4343
const { t } = useTranslation();
44-
const [value, setValue] = useState(null);
44+
const [value, setValue] = useState(props.defaultValue || null);
4545
const [open, setOpen] = useState(false);
4646

4747
return (

src/components/Form/DynamicInput.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ import { VisualEditorContext } from "../Collaborative/VisualEditorProvider";
1010
import AletheiaInput from "../AletheiaInput";
1111
import DatePickerInput from "./DatePickerInput";
1212
import { Checkbox, FormControlLabel } from "@mui/material";
13-
import ReportTypeSelect from "../VerificationRequest/CreateVerificationRequest/ReportTypeSelect";
14-
import ImpactAreaSelect from "../VerificationRequest/CreateVerificationRequest/ImpactAreaSelect";
1513
import colors from "../../styles/colors";
14+
import ReportTypeSelect from "../VerificationRequest/verificationRequestForms/formInputs/ReportTypeSelect";
15+
import ImpactAreaSelect from "../VerificationRequest/verificationRequestForms/formInputs/ImpactAreaSelect";
16+
import InputExtraSourcesList from "../VerificationRequest/verificationRequestForms/formInputs/InputExtraSourcesList";
1617

1718
const VisualEditor = lazy(() => import("../Collaborative/VisualEditor"));
1819

@@ -83,6 +84,15 @@ const DynamicInput = (props: DynamicInputProps) => {
8384
white="true"
8485
/>
8586
);
87+
case "sourceList":
88+
return (
89+
<InputExtraSourcesList
90+
value={props.value}
91+
onChange={props.onChange}
92+
disabled={props.disabled}
93+
placeholder={props.placeholder}
94+
/>
95+
);
8696
case "select":
8797
return (
8898
<ClaimReviewSelect
@@ -104,6 +114,7 @@ const DynamicInput = (props: DynamicInputProps) => {
104114
case "selectImpactArea":
105115
return (
106116
<ImpactAreaSelect
117+
defaultValue={props.defaultValue}
107118
onChange={(value) => props.onChange(value)}
108119
placeholder={t(props.placeholder)}
109120
isDisabled={props.disabled}
@@ -142,6 +153,7 @@ const DynamicInput = (props: DynamicInputProps) => {
142153
case "date":
143154
return (
144155
<DatePickerInput
156+
defaultValue={props.defaultValue}
145157
placeholder={t(props.placeholder)}
146158
onChange={(value) => props.onChange(value)}
147159
data-cy={"testSelectDate"}

src/components/VerificationRequest/CreateVerificationRequest/CreateVerificationRequestView.tsx

Lines changed: 0 additions & 16 deletions
This file was deleted.

src/components/VerificationRequest/EditVerificationRequestDrawer.tsx

Lines changed: 0 additions & 244 deletions
This file was deleted.

src/components/VerificationRequest/VerificationRequestMainContent.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useAtom } from "jotai";
88
import { currentUserRole } from "../../atoms/currentUser";
99
import { Roles } from "../../types/enums";
1010
import EditIcon from '@mui/icons-material/Edit';
11-
import EditVerificationRequestDrawer from "./EditVerificationRequestDrawer";
11+
import EditVerificationRequestDrawer from "./verificationRequestForms/EditVerificationRequestView";
1212

1313
const VerificationRequestMainContent = ({
1414
verificationRequestGroup,

0 commit comments

Comments
 (0)