diff --git a/packages/core/src/common/index.ts b/packages/core/src/common/index.ts index eb6ec2f9e..c46a7dcb8 100644 --- a/packages/core/src/common/index.ts +++ b/packages/core/src/common/index.ts @@ -18,7 +18,7 @@ export type UndoOptions = { fromUndo?: boolean }; export type WithHTMLParserOptions = { parserOptions?: HTMLParserOptions }; -export type RemoveOptions = Backbone.Silenceable & UndoOptions; +export type RemoveOptions = Backbone.Silenceable & UndoOptions & { dangerously?: boolean }; export type EventHandler = Backbone.EventHandler; diff --git a/packages/core/src/data_sources/model/DataSource.ts b/packages/core/src/data_sources/model/DataSource.ts index 6b894c431..f64ff1e99 100644 --- a/packages/core/src/data_sources/model/DataSource.ts +++ b/packages/core/src/data_sources/model/DataSource.ts @@ -153,7 +153,7 @@ export default class DataSource extends Model { */ removeRecord(id: string | number, opts?: RemoveOptions): DataRecord | undefined { const record = this.getRecord(id); - if (record?.mutable === false) { + if (record?.mutable === false && !opts?.dangerously) { throw new Error('Cannot remove immutable record'); }