diff --git a/src/components/molecules/AddWhereCondModal.tsx b/src/components/molecules/AddWhereCondModal.tsx index e5c34015..c8948844 100644 --- a/src/components/molecules/AddWhereCondModal.tsx +++ b/src/components/molecules/AddWhereCondModal.tsx @@ -18,15 +18,15 @@ interface AddWhereCondModalProps { index: number; } -export const AddWhereCondModal = ({isOpen, onClose, pair, index}: AddWhereCondModalProps) => { +export const AddWhereCondModal = ({ isOpen, onClose, pair, index }: AddWhereCondModalProps) => { const [whereProp, setWhereProp] = React.useState(''); const [additionalSettings, setAdditionalSettings] = React.useState(''); const [newValue, setNewValue] = React.useState(''); const [checked, setChecked] = React.useState(new Array(Object.keys(pair.where).length).fill(false)); - const keyValueFormRef = useRef<{getObject: () => object}>(null); + const keyValueFormRef = useRef<{ getObject: () => object }>(null); - const {socket} = useSocketStore(); + const { socket } = useSocketStore(); const handlePropSelect = (event: SelectChangeEvent) => { setWhereProp(event.target.value); @@ -38,55 +38,56 @@ export const AddWhereCondModal = ({isOpen, onClose, pair, index}: AddWhereCondMo } const handleSubmit = () => { - switch (whereProp) { - case 'url': - if (additionalSettings === 'string'){ - pair.where.url = newValue; - } else { - pair.where.url = { $regex: newValue }; - } - break; - case 'selectors': - pair.where.selectors = newValue; - break; - case 'cookies': - pair.where.cookies = keyValueFormRef.current?.getObject() as Record - break; - case 'before': - pair.where.$before = newValue; - break; - case 'after': - pair.where.$after = newValue; - break; - case 'boolean': - const booleanArr = []; - const deleteKeys: string[] = []; - for (let i = 0; i < checked.length; i++) { - if (checked[i]) { - if (Object.keys(pair.where)[i]) { - //@ts-ignore - if (pair.where[Object.keys(pair.where)[i]]) { - booleanArr.push({ - //@ts-ignore - [Object.keys(pair.where)[i]]: pair.where[Object.keys(pair.where)[i]]}); - } - deleteKeys.push(Object.keys(pair.where)[i]); + switch (whereProp) { + case 'url': + if (additionalSettings === 'string') { + pair.where.url = newValue; + } else { + pair.where.url = { $regex: newValue }; + } + break; + case 'selectors': + pair.where.selectors = newValue; + break; + case 'cookies': + pair.where.cookies = keyValueFormRef.current?.getObject() as Record + break; + case 'before': + pair.where.$before = newValue; + break; + case 'after': + pair.where.$after = newValue; + break; + case 'boolean': + const booleanArr = []; + const deleteKeys: string[] = []; + for (let i = 0; i < checked.length; i++) { + if (checked[i]) { + if (Object.keys(pair.where)[i]) { + //@ts-ignore + if (pair.where[Object.keys(pair.where)[i]]) { + booleanArr.push({ + //@ts-ignore + [Object.keys(pair.where)[i]]: pair.where[Object.keys(pair.where)[i]] + }); } + deleteKeys.push(Object.keys(pair.where)[i]); } } - // @ts-ignore - deleteKeys.forEach((key: string) => delete pair.where[key]); - //@ts-ignore - pair.where[`$${additionalSettings}`] = booleanArr; - break; - default: - return; - } + } + // @ts-ignore + deleteKeys.forEach((key: string) => delete pair.where[key]); + //@ts-ignore + pair.where[`$${additionalSettings}`] = booleanArr; + break; + default: + return; + } onClose(); setWhereProp(''); setAdditionalSettings(''); setNewValue(''); - socket?.emit('updatePair', {index: index-1, pair: pair}); + socket?.emit('updatePair', { index: index - 1, pair: pair }); } return ( @@ -97,23 +98,23 @@ export const AddWhereCondModal = ({isOpen, onClose, pair, index}: AddWhereCondMo onClose(); }} modalStyle={modalStyle}>
- Add where condition: -
- - url - selectors - cookies - before - after - boolean logic - -
+ Add where condition: +
+ + url + selectors + cookies + before + after + boolean logic + +
{whereProp ? -
+