import React from 'react'; import ReactDOM from 'react-dom'; import { PreviewProps } from '@pdfme/common'; import { PreviewUI } from './class'; import { DESTROYED_ERR_MSG } from './constants'; import { I18nContext, FontContext } from './contexts'; import Preview from './components/Preview'; class Form extends PreviewUI { private onChangeInputCallback?: (arg: { index: number; value: string; key: string }) => void; constructor(props: PreviewProps) { super(props); this.render(); } public onChangeInput(cb: (arg: { index: number; value: string; key: string }) => void) { this.onChangeInputCallback = cb; } protected render() { if (!this.domContainer) throw Error(DESTROYED_ERR_MSG); ReactDOM.render( { const { index, value, key } = arg; if (this.onChangeInputCallback) { this.onChangeInputCallback({ index, value, key }); } this.inputs[index][key] = value; this.render(); }} /> , this.domContainer ); } } export default Form;