diff --git a/src/commands/view/Resize.js b/src/commands/view/Resize.js index 90ed57a72..c56351675 100644 --- a/src/commands/view/Resize.js +++ b/src/commands/view/Resize.js @@ -18,7 +18,7 @@ export default { canvasResizer = this.canvasResizer; } - canvasResizer.setOptions(options); + canvasResizer.setOptions(options, true); canvasResizer.blur(); canvasResizer.focus(opt.el); return canvasResizer; diff --git a/src/utils/Resizer.ts b/src/utils/Resizer.ts index 607ae058e..d30dece4a 100644 --- a/src/utils/Resizer.ts +++ b/src/utils/Resizer.ts @@ -235,6 +235,7 @@ const getBoundingRect = (el: HTMLElement, win?: Window): BoundingRect => { }; export default class Resizer { + defOpts: ResizerOptions; opts: ResizerOptions; container?: HTMLElement; handlers?: Handlers; @@ -263,7 +264,7 @@ export default class Resizer { * @param {Object} options */ constructor(opts: ResizerOptions = {}) { - this.opts = { + this.defOpts = { ratioDefault: false, onUpdateContainer: () => {}, step: 1, @@ -289,6 +290,7 @@ export default class Resizer { bc: true, br: true, }; + this.opts = { ...this.defOpts }; this.setOptions(opts); bindAll(this, 'handleKeyDown', 'handleMouseDown', 'move', 'stop'); } @@ -305,9 +307,9 @@ export default class Resizer { * Setup options * @param {Object} options */ - setOptions(options: Partial = {}) { + setOptions(options: Partial = {}, reset?: boolean) { this.opts = { - ...this.opts, + ...(reset ? this.defOpts : this.opts), ...options, }; this.setup();