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(); this.element = React.createRef();
} }
componentDidMount() { componentWillReceiveProps(next) {
if (this.element.current) { if (this.element.current) {
const widgetEl = this.props.widget({ if (this.props.annotation !== next.annotation) {
annotation: this.props.annotation, const widgetEl = this.props.widget({
readOnly: this.props.readOnly, annotation: this.props.annotation,
onAppendBody: body => this.props.onAppendBody(body), readOnly: this.props.readOnly,
onUpdateBody: (previous, updated) => this.props.onUpdateBody(previous, updated), onAppendBody: body => this.props.onAppendBody(body),
onRemoveBody: body => this.props.onRemoveBody(body), onUpdateBody: (previous, updated) => this.props.onUpdateBody(previous, updated),
onSaveAndClose: () => this.props.onSaveAndClose() 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);
}
} }
} }