import { ReactElement } from 'react';
import { Modal, ModalProps } from '@components/Modal';
import { ReactRenderer } from '@core/ReactRenderer';
export class ModalRenderer extends ReactRenderer {
constructor(container: HTMLElement) {
super(container);
}
public override renderComponent(component: ReactElement, props?: ModalProps): void {
if (!props) {
throw new Error('[Modal]: modal props are not defined');
}
const handleHide = () => {
props.onHide?.();
this.clear();
};
const handleSave = () => {
props.onSave?.();
this.clear();
};
super.renderComponent(
<Modal
{...props}
onHide={handleHide}
onSave={handleSave}
appendTo={this.container as HTMLElement}
>
{component}
</Modal>,
);
}
}