Browse Source

Allow to reset resizer options

pull/4830/head
Artur Arseniev 4 years ago
parent
commit
a74d0d8f93
  1. 2
      src/commands/view/Resize.js
  2. 8
      src/utils/Resizer.ts

2
src/commands/view/Resize.js

@ -18,7 +18,7 @@ export default {
canvasResizer = this.canvasResizer; canvasResizer = this.canvasResizer;
} }
canvasResizer.setOptions(options); canvasResizer.setOptions(options, true);
canvasResizer.blur(); canvasResizer.blur();
canvasResizer.focus(opt.el); canvasResizer.focus(opt.el);
return canvasResizer; return canvasResizer;

8
src/utils/Resizer.ts

@ -235,6 +235,7 @@ const getBoundingRect = (el: HTMLElement, win?: Window): BoundingRect => {
}; };
export default class Resizer { export default class Resizer {
defOpts: ResizerOptions;
opts: ResizerOptions; opts: ResizerOptions;
container?: HTMLElement; container?: HTMLElement;
handlers?: Handlers; handlers?: Handlers;
@ -263,7 +264,7 @@ export default class Resizer {
* @param {Object} options * @param {Object} options
*/ */
constructor(opts: ResizerOptions = {}) { constructor(opts: ResizerOptions = {}) {
this.opts = { this.defOpts = {
ratioDefault: false, ratioDefault: false,
onUpdateContainer: () => {}, onUpdateContainer: () => {},
step: 1, step: 1,
@ -289,6 +290,7 @@ export default class Resizer {
bc: true, bc: true,
br: true, br: true,
}; };
this.opts = { ...this.defOpts };
this.setOptions(opts); this.setOptions(opts);
bindAll(this, 'handleKeyDown', 'handleMouseDown', 'move', 'stop'); bindAll(this, 'handleKeyDown', 'handleMouseDown', 'move', 'stop');
} }
@ -305,9 +307,9 @@ export default class Resizer {
* Setup options * Setup options
* @param {Object} options * @param {Object} options
*/ */
setOptions(options: Partial<ResizerOptions> = {}) { setOptions(options: Partial<ResizerOptions> = {}, reset?: boolean) {
this.opts = { this.opts = {
...this.opts, ...(reset ? this.defOpts : this.opts),
...options, ...options,
}; };
this.setup(); this.setup();

Loading…
Cancel
Save