// import dependencies import React from 'react'; // import rule import Rule from './Rule'; import { Card, CardContent, Box, IconButton, Icon, TextField, MenuItem } from '..' // create menu component const DashupUIQueryGroup = (props = {}) => { // op const op = Object.keys(props.value || {})[0]; // operator const setOperator = (val) => { // op const dv = props.value[op] || []; // check value props.setValue({ [val] : dv, }); }; // set value const setValue = (i, val) => { // op const dv = (props.value[op] || []); // value dv[i] = val; // check value props.setValue({ [op] : dv, }); }; // on remove const onRemove = (i) => { // op const dv = (props.value[op] || []); // remove dv.splice(i, 1); // remove props.setValue({ [op] : dv, }); }; // return jsx return ( setOperator(e.target.value) } > { Object.keys(props.groups || {}).map((op) => { // return jsx return ( { props.groups[op].title } ) }) } !props.setValue({ [op] : [...props.value[op], { $eq : {} }], }) && e.preventDefault() }> props.onRemove() } color="error"> { !!(props.value[op] || []).length && ( { (props.value[op] || []).map((val, i) => { // return jsx return ( onRemove(i) } setValue={ (val) => setValue(i, val) } operators={ props.operators } /> ); }) } ) } ); }; // export default export default DashupUIQueryGroup;