Breaking change: Dropped onRemoveAndAppend in favour of onBatchModify

This commit is contained in:
Rainer Simon 2021-10-14 10:26:13 +02:00
parent 0b3edd41d5
commit 1dc7cc73e3
2 changed files with 3 additions and 21 deletions

View File

@ -239,26 +239,6 @@ export default class Editor extends Component {
this.updateCurrentAnnotation({ body: updatedBodies }, saveImmediately);
}
/**
* For convenience: removes and appends one or more bodies
* in one go, optionally saving immediately.
*/
onRemoveAndAppend = (bodyOrBodiesToRemove, bodyOrBodiesToAppend, saveImmediately) => {
// Shorthand
const toArray = body => Array.isArray(body) ? body : [ body ];
const toRemove = toArray(bodyOrBodiesToRemove);
const toAppend = toArray(bodyOrBodiesToAppend).map(b =>
({ ...b, ...this.creationMeta(b) }));
this.updateCurrentAnnotation({
body: [
...this.state.currentAnnotation.bodies.filter(b => !toRemove.includes(b)),
...toAppend
]
}, saveImmediately);
}
/**
* Sets the given property value at the top level of the annotation.
* @param property property key
@ -352,7 +332,7 @@ export default class Editor extends Component {
onUpdateBody: this.onUpdateBody,
onRemoveBody: this.onRemoveBody,
onUpsertBody: this.onUpsertBody,
onRemoveAndAppend: this.onRemoveAndAppend,
onBatchModify: this.onBatchModify,
onSetProperty: this.onSetProperty,
onSaveAndClose: this.onOk
})

View File

@ -17,6 +17,8 @@ export default class WrappedWidget extends Component {
onUpdateBody: (previous, updated, saveImmediately) => props.onUpdateBody(previous, updated, saveImmediately),
onUpsertBody: (previous, updated, saveImmediately) => props.onUpsertBody(previous, updated, saveImmediately),
onRemoveBody: (body, saveImmediately) => props.onRemoveBody(body, saveImmediately),
onBatchModify: (diffs, saveImmediately) => props.onBatchModify(diffs, saveImmediately),
onSetProperty: (property, value) => props.onSetProperty(property, value),
onSaveAndClose: () => props.onSaveAndClose()
});