Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notes added to CR & MP Form - Both Entity and Staff Side #300

Merged
merged 2 commits into from
Feb 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,20 @@ export default function FormFieldSection({
/>
</ControlledRadioGroup>
</Grid>
<Grid item xs={12} sx={{ mb: BCDesignTokens.layoutMarginMedium }}>
<Typography variant="body1" sx={{ fontWeight: 700 }}>
Notes/Comments
</Typography>
<ControlledTextField
fullWidth
multiline
minRows={4}
name="notes"
sx={{
mb: 0,
}}
/>
</Grid>
</Grid>
</>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,39 +46,40 @@ export const ConsultationRecordProponentView = () => {
]);

const formSubmission = submissionItem?.submissions?.find(
(submission) => submission.type === SUBMISSION_TYPE.FORM,
(submission) => submission.type === SUBMISSION_TYPE.FORM
);
const defaultFormValues = useMemo(() => {
if (!formSubmission?.submitted_form?.submission_json) return {};

return {
...formSubmission.submitted_form.submission_json,
allPartiesConsulted: booleanToString(
formSubmission.submitted_form.submission_json.allPartiesConsulted,
formSubmission.submitted_form.submission_json.allPartiesConsulted
),
planWasReviewed: booleanToString(
formSubmission.submitted_form.submission_json.planWasReviewed,
formSubmission.submitted_form.submission_json.planWasReviewed
),
writtenExplanationsProvidedToParties: booleanToString(
formSubmission.submitted_form.submission_json
.writtenExplanationsProvidedToParties,
.writtenExplanationsProvidedToParties
),
writtenExplanationsProvidedToCommenters: booleanToString(
formSubmission.submitted_form.submission_json
.writtenExplanationsProvidedToCommenters,
.writtenExplanationsProvidedToCommenters
),
notes: formSubmission.submitted_form.submission_json.notes,
};
}, [formSubmission]);

const documentSubmissions = submissionItem?.submissions?.filter(
(submission) => submission.type === SUBMISSION_TYPE.DOCUMENT,
(submission) => submission.type === SUBMISSION_TYPE.DOCUMENT
);
const defaultDocumentValues = useMemo(() => {
if (!documentSubmissions) return {};

return {
consultationRecords: documentSubmissions.map(
(submission) => submission.submitted_document.url,
(submission) => submission.submitted_document.url
),
};
}, [documentSubmissions]);
Expand Down Expand Up @@ -124,14 +125,15 @@ export const ConsultationRecordProponentView = () => {

const saveSubmission = async (
formData: ConsultationRecordForm,
status: SubmissionItemStatus,
status: SubmissionItemStatus
) => {
const {
consultedParties,
allPartiesConsulted,
planWasReviewed,
writtenExplanationsProvidedToParties,
writtenExplanationsProvidedToCommenters,
notes,
} = formData;
callSaveSubmission({
data: {
Expand All @@ -143,11 +145,12 @@ export const ConsultationRecordProponentView = () => {
allPartiesConsulted: stringToBoolean(allPartiesConsulted),
planWasReviewed: stringToBoolean(planWasReviewed),
writtenExplanationsProvidedToParties: stringToBoolean(
writtenExplanationsProvidedToParties,
writtenExplanationsProvidedToParties
),
writtenExplanationsProvidedToCommenters: stringToBoolean(
writtenExplanationsProvidedToCommenters,
writtenExplanationsProvidedToCommenters
),
notes,
},
},
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
Grid,
RadioGroup,
Switch,
TextField,
Typography,
} from "@mui/material";
import { BCDesignTokens } from "epic.theme";
Expand Down Expand Up @@ -148,6 +149,21 @@ export default function FormFieldSection({
<YesNoRadioOptions disabled error={false} />
</RadioGroup>
</Grid>
<Grid item xs={12} sx={{ mb: BCDesignTokens.layoutMarginMedium }}>
<Typography variant="body1" sx={{ fontWeight: 700 }}>
Notes/Comments
</Typography>
<TextField
fullWidth
multiline
minRows={4}
disabled
value={mergedFormData.notes}
sx={{
mb: 0,
}}
/>
</Grid>
</When>
</Grid>
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export const ConsultationRecordStaffView = () => {
});

const formSubmission = submissionItem?.submissions?.find(
(submission) => submission.type === SUBMISSION_TYPE.FORM,
(submission) => submission.type === SUBMISSION_TYPE.FORM
);

const formData = useMemo(() => {
Expand All @@ -36,13 +36,13 @@ export const ConsultationRecordStaffView = () => {
formSubmission.submitted_form.submission_json.allPartiesConsulted,
planWasReviewed:
formSubmission.submitted_form.submission_json.planWasReviewed,

writtenExplanationsProvidedToParties:
formSubmission.submitted_form.submission_json
.writtenExplanationsProvidedToParties,
writtenExplanationsProvidedToCommenters:
formSubmission.submitted_form.submission_json
.writtenExplanationsProvidedToCommenters,
notes: formSubmission.submitted_form.submission_json.notes,
};
}, [formSubmission]);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export const consultationRecordSchema = yup.object().shape({
.of(yup.string())
.required("Please upload at least one document.")
.min(1, "Please upload at least one document."),
notes: yup.string().nullable(),
});

export type ConsultationRecordForm = yup.InferType<
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ export const ContactInformationEntityView = () => {
const navigate = useNavigate();

const formSubmission = submissionItem?.submissions.find(
(submission) => submission.type === SUBMISSION_TYPE.FORM,
(submission) => submission.type === SUBMISSION_TYPE.FORM
);
const defaultValues = useMemo(() => {
if (!formSubmission?.submitted_form?.submission_json) return {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { Divider, Grid, Typography } from "@mui/material";
import { BCDesignTokens } from "epic.theme";
import { ManagementPlanSubmissionForm } from "../ManagementPlanStaffView";
import { FieldErrors } from "react-hook-form";
import ControlledTextField from "@/components/Shared/controlled/ControlledTextField";

interface FormFieldSectionProps {
errors: FieldErrors<ManagementPlanSubmissionForm>; // Replace FormValues with your actual form schema interface
Expand Down Expand Up @@ -64,6 +65,20 @@ export default function FormFieldSection({ errors }: FormFieldSectionProps) {
<YesNoRadioOptions error={Boolean(errors["informationAccurate"])} />
</ControlledRadioGroup>
</Grid>
<Grid item xs={12} sx={{ mb: BCDesignTokens.layoutMarginMedium }}>
<Typography variant="body1" sx={{ fontWeight: 700 }}>
Notes/Comments
</Typography>
<ControlledTextField
fullWidth
multiline
minRows={4}
name="notes"
sx={{
mb: 0,
}}
/>
</Grid>
</>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ const managementPlanSubmissionSchema = yup.object().shape({
.required("Please upload at least one document.")
.min(1, "Please upload at least one document."),
supportingDocuments: yup.array().of(yup.string()),
notes: yup.string(),
});

type ManagementPlanSubmissionForm = yup.InferType<
Expand Down Expand Up @@ -85,6 +86,7 @@ export const ManagementPlanSubmissionProponentView = () => {
informationAccurate: booleanToString(
formSubmission.submitted_form.submission_json.informationAccurate
),
notes: formSubmission.submitted_form.submission_json.notes,
};
}, [formSubmission]);

Expand Down Expand Up @@ -164,6 +166,7 @@ export const ManagementPlanSubmissionProponentView = () => {
allRequirementsAddressed,
requirementsClear,
informationAccurate,
notes,
} = formData;
callSaveSubmission({
data: {
Expand All @@ -175,6 +178,7 @@ export const ManagementPlanSubmissionProponentView = () => {
allRequirementsAddressed: stringToBoolean(allRequirementsAddressed),
requirementsClear: stringToBoolean(requirementsClear),
informationAccurate: stringToBoolean(informationAccurate),
notes,
},
},
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
Grid,
RadioGroup,
Switch,
TextField,
Typography,
} from "@mui/material";
import { BCDesignTokens } from "epic.theme";
Expand All @@ -17,6 +18,7 @@ const defaultFormData = {
allRequirementsAddressed: "",
requirementsClear: "",
informationAccurate: "",
notes: "",
};

interface FormFieldSectionProps {
Expand Down Expand Up @@ -103,6 +105,21 @@ export default function FormFieldSection({ formData }: FormFieldSectionProps) {
<YesNoRadioOptions disabled error={false} />
</RadioGroup>
</Grid>
<Grid item xs={12} sx={{ mb: BCDesignTokens.layoutMarginMedium }}>
<Typography variant="body1" sx={{ fontWeight: 700 }}>
Notes/Comments
</Typography>
<TextField
fullWidth
multiline
disabled
minRows={4}
value={mergedFormData.notes}
sx={{
mb: 0,
}}
/>
</Grid>
</When>
</Grid>
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ const managementPlanSubmissionSchema = yup.object().shape({
.required("Please upload at least one document.")
.min(1, "Please upload at least one document."),
supportingDocuments: yup.array().of(yup.string()),
notes: yup.string(),
});

export type ManagementPlanSubmissionForm = yup.InferType<
Expand All @@ -45,7 +46,7 @@ export const ManagementPlanSubmissionStaffView = () => {
});

const formSubmission = submissionItem?.submissions?.find(
(submission) => submission.type === SUBMISSION_TYPE.FORM,
(submission) => submission.type === SUBMISSION_TYPE.FORM
);

const formData = useMemo(() => {
Expand All @@ -54,17 +55,18 @@ export const ManagementPlanSubmissionStaffView = () => {
return {
...formSubmission.submitted_form.submission_json,
conditionSatisfied: booleanToString(
formSubmission.submitted_form.submission_json.conditionSatisfied,
formSubmission.submitted_form.submission_json.conditionSatisfied
),
allRequirementsAddressed: booleanToString(
formSubmission.submitted_form.submission_json.allRequirementsAddressed,
formSubmission.submitted_form.submission_json.allRequirementsAddressed
),
requirementsClear: booleanToString(
formSubmission.submitted_form.submission_json.requirementsClear,
formSubmission.submitted_form.submission_json.requirementsClear
),
informationAccurate: booleanToString(
formSubmission.submitted_form.submission_json.informationAccurate,
formSubmission.submitted_form.submission_json.informationAccurate
),
notes: formSubmission.submitted_form.submission_json?.notes,
};
}, [formSubmission]);

Expand Down
Loading