This commit is contained in:
Rainer Simon 2020-09-11 11:14:12 +02:00
parent 1cde3d866d
commit 31a2d13cdb
1 changed files with 16 additions and 10 deletions

View File

@ -7,18 +7,24 @@ export default class DOMWidget extends Component {
this.element = React.createRef();
}
componentDidMount() {
componentWillReceiveProps(next) {
if (this.element.current) {
const widgetEl = this.props.widget({
annotation: this.props.annotation,
readOnly: this.props.readOnly,
onAppendBody: body => this.props.onAppendBody(body),
onUpdateBody: (previous, updated) => this.props.onUpdateBody(previous, updated),
onRemoveBody: body => this.props.onRemoveBody(body),
onSaveAndClose: () => this.props.onSaveAndClose()
});
if (this.props.annotation !== next.annotation) {
const widgetEl = this.props.widget({
annotation: this.props.annotation,
readOnly: this.props.readOnly,
onAppendBody: body => this.props.onAppendBody(body),
onUpdateBody: (previous, updated) => this.props.onUpdateBody(previous, updated),
onRemoveBody: body => this.props.onRemoveBody(body),
onSaveAndClose: () => this.props.onSaveAndClose()
});
this.element.current.appendChild(widgetEl);
// Delete previous rendered state
while (this.element.current.firstChild)
this.element.current.removeChild(this.element.current.lastChild);
this.element.current.appendChild(widgetEl);
}
}
}