import React, { useState, useEffect, useMemo } from 'react'; import CodeMirror from '@uiw/react-codemirror'; import 'codemirror/theme/base16-light.css'; import { handleChange, onBeforeChange, getSuggestionKeys } from '../CodeBuilder/utils'; import 'codemirror/mode/javascript/javascript'; import 'codemirror/addon/hint/show-hint'; import 'codemirror/addon/search/match-highlighter'; import 'codemirror/addon/hint/show-hint.css'; export const Transformation = ({ changeOption, options, currentState }) => { const defaultValue = options.transformation || `// write your code here // return value will be set as data and the original data will be available as rawData return data.filter(row => row.amount > 1000);`; const [value, setValue] = useState(defaultValue); useEffect(() => { setValue(defaultValue); }, [defaultValue]); function codeChanged(value) { changeOption('transformation', value); } let suggestions = useMemo(() => getSuggestionKeys(currentState), [currentState.components, currentState.queries]); return (