diff --git a/src/components/recorder/Pair.tsx b/src/components/recorder/Pair.tsx index e4b9c53c..3e85cc0c 100644 --- a/src/components/recorder/Pair.tsx +++ b/src/components/recorder/Pair.tsx @@ -4,7 +4,7 @@ import { AddPair, deletePair, UpdatePair } from "../../api/workflow"; import { WorkflowFile } from "maxun-core"; import { ClearButton } from "../ui/buttons/ClearButton"; import { GenericModal } from "../ui/GenericModal"; -import { PairEditForm } from "./PairEditForm"; +import { PairEditForm } from "../../../legacy/src/PairEditForm"; import { PairDisplayDiv } from "../../../legacy/src/PairDisplayDiv"; import { EditButton } from "../ui/buttons/EditButton"; import { BreakpointButton } from "../ui/buttons/BreakpointButton"; diff --git a/src/components/recorder/PairEditForm.tsx b/src/components/recorder/PairEditForm.tsx deleted file mode 100644 index aa3354ec..00000000 --- a/src/components/recorder/PairEditForm.tsx +++ /dev/null @@ -1,161 +0,0 @@ -import { Button, TextField, Typography } from "@mui/material"; -import React, { FC } from "react"; -import { Preprocessor, WhereWhatPair } from "maxun-core"; - -interface PairProps { - index: string; - id?: string; - where: string | null; - what: string | null; -} - -interface PairEditFormProps { - onSubmitOfPair: (value: WhereWhatPair, index: number) => void; - numberOfPairs: number; - index?: string; - where?: string; - what?: string; - id?: string; -} - -export const PairEditForm: FC = ( - { - onSubmitOfPair, - numberOfPairs, - index, - where, - what, - id, - }) => { - const [pairProps, setPairProps] = React.useState({ - where: where || null, - what: what || null, - index: index || "1", - id: id || '', - }); - const [errors, setErrors] = React.useState({ - where: null, - what: null, - index: '', - }); - - const handleInputChange = (event: React.ChangeEvent) => { - const { id, value } = event.target; - if (id === 'index') { - if (parseInt(value, 10) < 1) { - setErrors({ ...errors, index: 'Index must be greater than 0' }); - return; - } else { - setErrors({ ...errors, index: '' }); - } - } - setPairProps({ ...pairProps, [id]: value }); - }; - - const validateAndSubmit = (event: React.SyntheticEvent) => { - event.preventDefault(); - let whereFromPair, whatFromPair; - // validate where - whereFromPair = { - where: pairProps.where && pairProps.where !== '{"url":"","selectors":[""] }' - ? JSON.parse(pairProps.where) - : {}, - what: [], - }; - const validationError = Preprocessor.validateWorkflow({ workflow: [whereFromPair] }); - setErrors({ ...errors, where: null }); - if (validationError) { - setErrors({ ...errors, where: validationError.message }); - return; - } - // validate what - whatFromPair = { - where: {}, - what: pairProps.what && pairProps.what !== '[{"action":"","args":[""] }]' - ? JSON.parse(pairProps.what) : [], - }; - const validationErrorWhat = Preprocessor.validateWorkflow({ workflow: [whatFromPair] }); - setErrors({ ...errors, "what": null }); - if (validationErrorWhat) { - setErrors({ ...errors, what: validationErrorWhat.message }); - return; - } - //validate index - const index = parseInt(pairProps?.index, 10); - if (index > (numberOfPairs + 1)) { - if (numberOfPairs === 0) { - setErrors(prevState => ({ - ...prevState, - index: 'Index of the first pair must be 1' - })); - return; - } else { - setErrors(prevState => ({ - ...prevState, - index: `Index must be in the range 1-${numberOfPairs + 1}` - })); - return; - } - } else { - setErrors({ ...errors, index: '' }); - } - // submit the pair - onSubmitOfPair(pairProps.id - ? { - id: pairProps.id, - where: whereFromPair?.where || {}, - what: whatFromPair?.what || [], - } - : { - where: whereFromPair?.where || {}, - what: whatFromPair?.what || [], - } - , index); - }; - - return ( -
- Raw pair edit form: - - - - - - - ); -};