import { assign } from 'lodash'; import React from 'react'; import ReactDOM from 'react-dom/client'; import DOMAttachedObject from 'vj/components/DOMAttachedObject'; import AutoComplete from '.'; import ProblemSelectAutoCompleteFC from './components/ProblemSelectAutoComplete'; const Component = React.forwardRef((props, ref) => { const [value, setValue] = React.useState(props.value ?? ''); return ( i.trim()).filter((i) => i)} onChange={(v) => { setValue(v); props.onChange(v); }} multi={props.multi} /> ); }); export default class ProblemSelectAutoComplete extends AutoComplete { static DOMAttachKey = 'ucwProblemSelectAutoCompleteInstance'; constructor($dom, options) { super($dom, { classes: 'problem-select', ...options, }); } attach() { const value = this.$dom.val(); ReactDOM.createRoot(this.container).render( { this.ref = ref; }} value={value} multi={this.options.multi} onChange={this.onChange} />, ); } } assign(ProblemSelectAutoComplete, DOMAttachedObject); window.Hydro.components.ProblemSelectAutoComplete = ProblemSelectAutoComplete;