From 1ddece91700abdd87dfd7b9241c1ad6156f10dff Mon Sep 17 00:00:00 2001 From: Alessandro Amantini Date: Tue, 1 Oct 2024 17:49:04 +0100 Subject: [PATCH] ISSUE #5173 - use drawing interface --- .../createDrawingDialog.component.tsx | 5 +++-- .../drawingDialogs/drawingsDialogs.hooks.ts | 15 ++------------- .../editDrawingDialog.component.tsx | 5 +++-- 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/createDrawingDialog.component.tsx b/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/createDrawingDialog.component.tsx index 5b385b1b89..02cf188bbd 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/createDrawingDialog.component.tsx +++ b/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/createDrawingDialog.component.tsx @@ -20,9 +20,10 @@ import { SubmitHandler } from 'react-hook-form'; import { FormModal } from '@controls/formModal/formModal.component'; import { ProjectsHooksSelectors, TeamspacesHooksSelectors } from '@/v5/services/selectorsHooks'; import { DrawingsActionsDispatchers } from '@/v5/services/actionsDispatchers'; -import { IFormInput, useDrawingForm } from './drawingsDialogs.hooks'; +import { useDrawingForm } from './drawingsDialogs.hooks'; import { DrawingForm } from './drawingForm.component'; import { DEFAULT_SETTINGS_CALIBRATION } from '../../calibration/calibration.helpers'; +import { DrawingSettings } from '@/v5/store/drawings/drawings.types'; export const CreateDrawingDialog = ({ open, onClickClose }) => { const teamspace = TeamspacesHooksSelectors.selectCurrentTeamspace(); @@ -31,7 +32,7 @@ export const CreateDrawingDialog = ({ open, onClickClose }) => { const { onSubmitError, formData } = useDrawingForm({ calibration: DEFAULT_SETTINGS_CALIBRATION } as any); const { handleSubmit, formState } = formData; - const onSubmit: SubmitHandler = async (body) => { + const onSubmit: SubmitHandler = async (body) => { try { await new Promise((accept, reject) => DrawingsActionsDispatchers.createDrawing(teamspace, project, body as any, accept, reject)); onClickClose(); diff --git a/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/drawingsDialogs.hooks.ts b/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/drawingsDialogs.hooks.ts index b615ebb058..d486a11b41 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/drawingsDialogs.hooks.ts +++ b/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/drawingsDialogs.hooks.ts @@ -17,24 +17,13 @@ import { DrawingsActionsDispatchers } from '@/v5/services/actionsDispatchers'; import { DrawingsHooksSelectors, ProjectsHooksSelectors, TeamspacesHooksSelectors } from '@/v5/services/selectorsHooks'; -import { IDrawing } from '@/v5/store/drawings/drawings.types'; +import { DrawingSettings, IDrawing } from '@/v5/store/drawings/drawings.types'; import { DrawingFormSchema } from '@/v5/validation/drawingSchemes/drawingSchemes'; import { nameAlreadyExists, numberAlreadyExists } from '@/v5/validation/errors.helpers'; import { yupResolver } from '@hookform/resolvers/yup'; import { useEffect, useState } from 'react'; import { useForm } from 'react-hook-form'; -export interface IFormInput { - name: string; - number: string; - type: string; - desc: string; - calibration: { - verticalRange: [number, number]; - units: string; - }; -} - export const useDrawingForm = (defaultValues?: IDrawing) => { const teamspace = TeamspacesHooksSelectors.selectCurrentTeamspace(); const project = ProjectsHooksSelectors.selectCurrentProject(); @@ -54,7 +43,7 @@ export const useDrawingForm = (defaultValues?: IDrawing) => { const [alreadyExistingNames, setAlreadyExistingNames] = useState(drawingsNames); const [alreadyExistingNumbers, setAlreadyExistingNumbers] = useState(drawingNumbers); - const formData = useForm({ + const formData = useForm({ mode: 'onChange', resolver: yupResolver(DrawingFormSchema), context: { alreadyExistingNames, alreadyExistingNumbers }, diff --git a/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/editDrawingDialog.component.tsx b/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/editDrawingDialog.component.tsx index fee34e4b5a..1b08f58c36 100644 --- a/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/editDrawingDialog.component.tsx +++ b/frontend/src/v5/ui/routes/dashboard/projects/drawings/drawingDialogs/editDrawingDialog.component.tsx @@ -20,12 +20,13 @@ import { SubmitHandler } from 'react-hook-form'; import { FormModal } from '@controls/formModal/formModal.component'; import { DrawingsHooksSelectors, ProjectsHooksSelectors, TeamspacesHooksSelectors } from '@/v5/services/selectorsHooks'; import { DrawingsActionsDispatchers } from '@/v5/services/actionsDispatchers'; -import { IFormInput, useDrawingForm } from './drawingsDialogs.hooks'; +import { useDrawingForm } from './drawingsDialogs.hooks'; import { dirtyValuesChanged } from '@/v5/helpers/form.helper'; import { pick } from 'lodash'; import { DrawingForm } from './drawingForm.component'; import { useEffect } from 'react'; import { Loader } from '@/v4/routes/components/loader/loader.component'; +import { DrawingSettings } from '@/v5/store/drawings/drawings.types'; interface Props { open: boolean; @@ -41,7 +42,7 @@ export const EditDrawingDialog = ({ open, onClickClose, drawingId }:Props) => { const { onSubmitError, formData } = useDrawingForm(drawing); const { handleSubmit, formState } = formData; - const onSubmit: SubmitHandler = async (body) => { + const onSubmit: SubmitHandler = async (body) => { try { await new Promise((accept, reject) => { const updatedDrawingData = pick(body, Object.keys(formState.dirtyFields));