feat: override method with default interception behavior #663

This commit is contained in:
Hufe921
2024-06-27 21:31:59 +08:00
parent 146ac75a00
commit 9a4b4f9a4a
7 changed files with 67 additions and 23 deletions
+11 -4
View File
@@ -6,7 +6,14 @@
import Editor from "@hufe921/canvas-editor"
const instance = new Editor(container, <IElement[]>data, options)
instance.override.overrideFunction = ()=>{}
instance.override.overrideFunction = () => void | Promise<void> | IOverrideResult | Promise<IOverrideResult>
```
```typescript
interface IOverrideResult {
preventDefault?: boolean // Prevent the execution of internal default method. Default prevent
}
```
## paste
@@ -16,7 +23,7 @@ Feature: Override internal paste function
Usage:
```javascript
instance.override.paste = (evt?: ClipboardEvent) => void
instance.override.paste = (evt?: ClipboardEvent) => void | Promise<void> | IOverrideResult | Promise<IOverrideResult>
```
## copy
@@ -26,7 +33,7 @@ Feature: Override internal copy function
Usage:
```javascript
instance.override.copy = () => void
instance.override.copy = () => void | Promise<void> | IOverrideResult | Promise<IOverrideResult>
```
## drop
@@ -36,5 +43,5 @@ Feature: Override internal drop function
Usage:
```javascript
instance.override.drop = (evt: DragEvent) => void
instance.override.drop = (evt: DragEvent) => void | Promise<void> | IOverrideResult | Promise<IOverrideResult>
```