diff --git a/src/components/molecules/PairDetail.tsx b/src/components/molecules/PairDetail.tsx index aea6191b..7b5dca02 100644 --- a/src/components/molecules/PairDetail.tsx +++ b/src/components/molecules/PairDetail.tsx @@ -34,7 +34,7 @@ export const PairDetail = ({ pair, index }: PairDetailProps) => { const { socket } = useSocketStore(); const handleCollapseWhere = () => { - setCollapseWhere(!collapseWhere); + setCollapseWhere(!collapseWhere); } const handleCollapseWhat = () => { @@ -51,26 +51,26 @@ export const PairDetail = ({ pair, index }: PairDetailProps) => { } }, [pair]) - const handleChangeValue = (value: any, where: boolean, keys: (string|number)[]) => { + const handleChangeValue = (value: any, where: boolean, keys: (string | number)[]) => { // a moving reference to internal objects within pair.where or pair.what let schema: any = where ? pair?.where : pair?.what; const length = keys.length; - for(let i = 0; i < length-1; i++) { + for (let i = 0; i < length - 1; i++) { const elem = keys[i]; - if( !schema[elem] ) schema[elem] = {} + if (!schema[elem]) schema[elem] = {} schema = schema[elem]; } - schema[keys[length-1]] = value; + schema[keys[length - 1]] = value; if (pair && socket) { - socket.emit('updatePair', {index: index-1, pair: pair}); + socket.emit('updatePair', { index: index - 1, pair: pair }); } setRerender(!rerender); } - const DisplayValueContent = (value: any, keys: (string|number)[], where: boolean = true) => { - switch (typeof(value)) { + const DisplayValueContent = (value: any, keys: (string | number)[], where: boolean = true) => { + switch (typeof (value)) { case 'string': return { { value.map((element, index) => { - return DisplayValueContent(element, [...keys, index], where); + return DisplayValueContent(element, [...keys, index], where); }) } - { - let prevValue:any = where ? pair?.where : pair?.what; + { + let prevValue: any = where ? pair?.where : pair?.what; for (const key of keys) { prevValue = prevValue[key]; } handleChangeValue([...prevValue, ''], where, keys); setRerender(!rerender); - }} hoverEffect={false}/> - { - let prevValue:any = where ? pair?.where : pair?.what; + }} hoverEffect={false} /> + { + let prevValue: any = where ? pair?.where : pair?.what; for (const key of keys) { prevValue = prevValue[key]; } prevValue.splice(-1); handleChangeValue(prevValue, where, keys); setRerender(!rerender); - }}/> + }} /> ) } else { @@ -136,11 +136,10 @@ export const PairDetail = ({ pair, index }: PairDetailProps) => { key={`tree-view-nested-${keys.join('-')}-${where}`} > { - Object.keys(value).map((key2, index) => - { + Object.keys(value).map((key2, index) => { return ( - { DisplayValueContent(value[key2], [...keys, key2], where) } + {DisplayValueContent(value[key2], [...keys, key2], where)} ) }) @@ -157,132 +156,132 @@ export const PairDetail = ({ pair, index }: PairDetailProps) => { return ( - { pair && + {pair && setAddWhatCondOpen(false)} - pair={pair} index={index}/> + pair={pair} index={index} /> setAddWhereCondOpen(false)} - pair={pair} index={index}/> + pair={pair} index={index} /> } - { - pairIsSelected - ? ( -
- Pair number: {index} - { - if (pair && socket) { - socket.emit('updatePair', {index: index-1, pair: pair}); - pair.id = e.target.value; - } - }} - value={pair ? pair.id ? pair.id : '' : ''} - /> - - + Pair number: {index} + { + if (pair && socket) { + socket.emit('updatePair', { index: index - 1, pair: pair }); + pair.id = e.target.value; + } + }} + value={pair ? pair.id ? pair.id : '' : ''} /> - Where - -
- { - setAddWhereCondOpen(true); - }} style={{color:'rgba(0, 0, 0, 0.54)', background:'transparent'}}/> -
-
-
+ + + Where + +
+ { + setAddWhereCondOpen(true); + }} style={{ color: 'rgba(0, 0, 0, 0.54)', background: 'transparent' }} /> +
+
+
{(collapseWhere && pair && pair.where) ? - { Object.keys(pair.where).map((key, index) => { - return ( - } - defaultExpandIcon={} - sx={{ flexGrow: 1, overflowY: 'auto' }} - onNodeToggle={handleToggle} - key={`tree-view-${key}-${index}`} - > - - { - // @ts-ignore - DisplayValueContent(pair.where[key], [key]) - } - - + {Object.keys(pair.where).map((key, index) => { + return ( + } + defaultExpandIcon={} + sx={{ flexGrow: 1, overflowY: 'auto' }} + onNodeToggle={handleToggle} + key={`tree-view-${key}-${index}`} + > + + { + // @ts-ignore + DisplayValueContent(pair.where[key], [key]) + } + + ); - })} + })} : null } - - - What + + + What - -
- { - setAddWhatCondOpen(true); - }} style={{color:'rgba(0, 0, 0, 0.54)', background:'transparent'}}/> -
-
-
- {(collapseWhat && pair && pair.what) - ?( - - { Object.keys(pair.what).map((key, index) => { - return ( - } - defaultExpandIcon={} - sx={{ flexGrow: 1, overflowY: 'auto' }} - key={`tree-view-2-${key}-${index}`} - > - - { - // @ts-ignore - DisplayValueContent(pair.what[key], [key], false) - } - -
- { - //@ts-ignore - pair.what.splice(key, 1); - setRerender(!rerender); - }}/> -
-
-
-
- ); - })} -
- ) - : null - } -
- ) - : - - No pair from the left side panel was selected. + +
+ { + setAddWhatCondOpen(true); + }} style={{ color: 'rgba(0, 0, 0, 0.54)', background: 'transparent' }} /> +
+
+ + {(collapseWhat && pair && pair.what) + ? ( + + {Object.keys(pair.what).map((key, index) => { + return ( + } + defaultExpandIcon={} + sx={{ flexGrow: 1, overflowY: 'auto' }} + key={`tree-view-2-${key}-${index}`} + > + + { + // @ts-ignore + DisplayValueContent(pair.what[key], [key], false) + } + +
+ { + //@ts-ignore + pair.what.splice(key, 1); + setRerender(!rerender); + }} /> +
+
+
+
+ ); + })} +
+ ) + : null + } + + ) + : + + No pair from the left side panel was selected. - } + }
); } @@ -292,19 +291,19 @@ interface CollapseButtonProps { isCollapsed?: boolean; } -const CollapseButton = ({handleClick, isCollapsed } : CollapseButtonProps) => { +const CollapseButton = ({ handleClick, isCollapsed }: CollapseButtonProps) => { return ( - { isCollapsed ? : } + {isCollapsed ? : } ); } -const CloseButton = ({handleClick } : CollapseButtonProps) => { +const CloseButton = ({ handleClick }: CollapseButtonProps) => { return ( - + sx={{ '&:hover': { color: '#1976d2', backgroundColor: 'white' } }}> + ); }