From 9b5af61e2a362f0d5518de3eb6765144ffab8b2a Mon Sep 17 00:00:00 2001 From: David Nunez <103138766+djnunez-aot@users.noreply.github.com> Date: Wed, 19 Feb 2025 16:36:37 -0500 Subject: [PATCH 1/2] set up form notes --- .../FormFieldSection.tsx | 14 +++++++++++ .../ConsultationRecordProponentView/index.tsx | 23 +++++++++++-------- .../FormFieldSection.tsx | 15 ++++++++++++ .../ConsultationRecordStaffView/index.tsx | 4 ++-- .../ConsultationRecord/constants.ts | 1 + .../ContactInformationEntityView.tsx | 2 +- .../FormFieldSection.tsx | 15 ++++++++++++ .../ManagementPlanProponentView/index.tsx | 4 ++++ .../FormFieldSection.tsx | 17 ++++++++++++++ .../ManagementPlanStaffView/index.tsx | 12 ++++++---- 10 files changed, 89 insertions(+), 18 deletions(-) diff --git a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/FormFieldSection.tsx b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/FormFieldSection.tsx index 1af674f5..7399c555 100644 --- a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/FormFieldSection.tsx +++ b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/FormFieldSection.tsx @@ -151,6 +151,20 @@ export default function FormFieldSection({ /> + + + Notes/Comments + + + ); diff --git a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/index.tsx b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/index.tsx index 78058483..415454c4 100644 --- a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/index.tsx +++ b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordProponentView/index.tsx @@ -46,7 +46,7 @@ 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 {}; @@ -54,31 +54,32 @@ export const ConsultationRecordProponentView = () => { 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]); @@ -124,7 +125,7 @@ export const ConsultationRecordProponentView = () => { const saveSubmission = async ( formData: ConsultationRecordForm, - status: SubmissionItemStatus, + status: SubmissionItemStatus ) => { const { consultedParties, @@ -132,6 +133,7 @@ export const ConsultationRecordProponentView = () => { planWasReviewed, writtenExplanationsProvidedToParties, writtenExplanationsProvidedToCommenters, + notes, } = formData; callSaveSubmission({ data: { @@ -143,11 +145,12 @@ export const ConsultationRecordProponentView = () => { allPartiesConsulted: stringToBoolean(allPartiesConsulted), planWasReviewed: stringToBoolean(planWasReviewed), writtenExplanationsProvidedToParties: stringToBoolean( - writtenExplanationsProvidedToParties, + writtenExplanationsProvidedToParties ), writtenExplanationsProvidedToCommenters: stringToBoolean( - writtenExplanationsProvidedToCommenters, + writtenExplanationsProvidedToCommenters ), + notes, }, }, }); diff --git a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx index 61c49911..fa8ded5b 100644 --- a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx +++ b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx @@ -11,6 +11,7 @@ import { When } from "react-if"; import { YesNoRadioOptions } from "@/components/Shared/YesNoRadioOptions"; import { ConsultationRecordForm } from "../constants"; import { useState } from "react"; +import ControlledTextField from "@/components/Shared/controlled/ControlledTextField"; const defaultFormData = { consultedParties: [], @@ -148,6 +149,20 @@ export default function FormFieldSection({ + + + Notes/Comments + + + diff --git a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/index.tsx b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/index.tsx index 9112254d..6138f889 100644 --- a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/index.tsx +++ b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/index.tsx @@ -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(() => { @@ -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]); diff --git a/submit-web/src/components/SubmissionItem/ConsultationRecord/constants.ts b/submit-web/src/components/SubmissionItem/ConsultationRecord/constants.ts index 697054ed..8135b1a8 100644 --- a/submit-web/src/components/SubmissionItem/ConsultationRecord/constants.ts +++ b/submit-web/src/components/SubmissionItem/ConsultationRecord/constants.ts @@ -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< diff --git a/submit-web/src/components/SubmissionItem/ContactInformation/ContactInformationEntityView.tsx b/submit-web/src/components/SubmissionItem/ContactInformation/ContactInformationEntityView.tsx index e4f00f25..7e5bcf31 100644 --- a/submit-web/src/components/SubmissionItem/ContactInformation/ContactInformationEntityView.tsx +++ b/submit-web/src/components/SubmissionItem/ContactInformation/ContactInformationEntityView.tsx @@ -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 {}; diff --git a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/FormFieldSection.tsx b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/FormFieldSection.tsx index 562b0a92..01b2c33d 100644 --- a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/FormFieldSection.tsx +++ b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/FormFieldSection.tsx @@ -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; // Replace FormValues with your actual form schema interface @@ -64,6 +65,20 @@ export default function FormFieldSection({ errors }: FormFieldSectionProps) { + + + Notes/Comments + + + ); } diff --git a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/index.tsx b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/index.tsx index 9cf8e4b3..a2522800 100644 --- a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/index.tsx +++ b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanProponentView/index.tsx @@ -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< @@ -85,6 +86,7 @@ export const ManagementPlanSubmissionProponentView = () => { informationAccurate: booleanToString( formSubmission.submitted_form.submission_json.informationAccurate ), + notes: formSubmission.submitted_form.submission_json.notes, }; }, [formSubmission]); @@ -164,6 +166,7 @@ export const ManagementPlanSubmissionProponentView = () => { allRequirementsAddressed, requirementsClear, informationAccurate, + notes, } = formData; callSaveSubmission({ data: { @@ -175,6 +178,7 @@ export const ManagementPlanSubmissionProponentView = () => { allRequirementsAddressed: stringToBoolean(allRequirementsAddressed), requirementsClear: stringToBoolean(requirementsClear), informationAccurate: stringToBoolean(informationAccurate), + notes, }, }, }); diff --git a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/FormFieldSection.tsx b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/FormFieldSection.tsx index 6e89cc2c..ccb93d2e 100644 --- a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/FormFieldSection.tsx +++ b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/FormFieldSection.tsx @@ -11,12 +11,14 @@ import { BCDesignTokens } from "epic.theme"; import { ManagementPlanSubmissionForm } from "../ManagementPlanStaffView"; import { useState } from "react"; import { When } from "react-if"; +import ControlledTextField from "@/components/Shared/controlled/ControlledTextField"; const defaultFormData = { conditionSatisfied: "", allRequirementsAddressed: "", requirementsClear: "", informationAccurate: "", + notes: "", }; interface FormFieldSectionProps { @@ -103,6 +105,21 @@ export default function FormFieldSection({ formData }: FormFieldSectionProps) { + + + Notes/Comments + + + diff --git a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/index.tsx b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/index.tsx index ccdb88f8..29649498 100644 --- a/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/index.tsx +++ b/submit-web/src/components/SubmissionItem/ManagementPlanSubmission/ManagementPlanStaffView/index.tsx @@ -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< @@ -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(() => { @@ -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]); From 98f33a68919fe0680ea45cb6c01c5602a242884f Mon Sep 17 00:00:00 2001 From: David Nunez <103138766+djnunez-aot@users.noreply.github.com> Date: Thu, 20 Feb 2025 09:54:26 -0500 Subject: [PATCH 2/2] update notes --- .../ConsultationRecordStaffView/FormFieldSection.tsx | 7 ++++--- .../ManagementPlanStaffView/FormFieldSection.tsx | 6 +++--- .../ManagementPlanStaffView/index.tsx | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx index fa8ded5b..50d1df3e 100644 --- a/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx +++ b/submit-web/src/components/SubmissionItem/ConsultationRecord/ConsultationRecordStaffView/FormFieldSection.tsx @@ -4,6 +4,7 @@ import { Grid, RadioGroup, Switch, + TextField, Typography, } from "@mui/material"; import { BCDesignTokens } from "epic.theme"; @@ -11,7 +12,6 @@ import { When } from "react-if"; import { YesNoRadioOptions } from "@/components/Shared/YesNoRadioOptions"; import { ConsultationRecordForm } from "../constants"; import { useState } from "react"; -import ControlledTextField from "@/components/Shared/controlled/ControlledTextField"; const defaultFormData = { consultedParties: [], @@ -153,11 +153,12 @@ export default function FormFieldSection({ Notes/Comments - Notes/Comments - { informationAccurate: booleanToString( formSubmission.submitted_form.submission_json.informationAccurate ), - notes: formSubmission.submitted_form.submission_json.notes, + notes: formSubmission.submitted_form.submission_json?.notes, }; }, [formSubmission]);