import { assign } from 'lodash'; import React from 'react'; import ReactDOM from 'react-dom/client'; import DOMAttachedObject from 'vj/components/DOMAttachedObject'; import AutoComplete from '.'; import DomainSelectAutoCompleteFC from './components/DomainSelectAutoComplete'; const Component = React.forwardRef((props: { value: string, multi: boolean, onChange: (v: string) => void }, 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 DomainSelectAutoComplete extends AutoComplete { static DOMAttachKey = 'ucwDomainSelectAutoCompleteInstance'; constructor($dom, options) { super($dom, { classes: 'domain-select', ...options, }); } attach() { const value = this.$dom.val(); ReactDOM.createRoot(this.container).render( { this.ref = ref; }} value={value} onChange={this.onChange} multi={this.options.multi} />); } } assign(DomainSelectAutoComplete, DOMAttachedObject); window.Hydro.components.DomainSelectAutoComplete = DomainSelectAutoComplete;