|
|
@@ -70,33 +70,11 @@ export default class WidgetResize extends Plugin {
|
|
|
|
|
|
this._observer = Object.create( DomEmitterMixin );
|
|
|
|
|
|
- this._observer.listenTo( domDocument, 'mousedown', ( event, domEventData ) => {
|
|
|
- if ( !Resizer.isResizeHandle( domEventData.target ) ) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- const resizeHandle = domEventData.target;
|
|
|
-
|
|
|
- this._activeResizer = this._getResizerByHandle( resizeHandle );
|
|
|
-
|
|
|
- if ( this._activeResizer ) {
|
|
|
- this._activeResizer.begin( resizeHandle );
|
|
|
- }
|
|
|
- } );
|
|
|
-
|
|
|
- this._observer.listenTo( domDocument, 'mousemove', ( event, domEventData ) => {
|
|
|
- if ( this._activeResizer ) {
|
|
|
- this._activeResizer.updateSize( domEventData );
|
|
|
- }
|
|
|
- } );
|
|
|
+ this._observer.listenTo( domDocument, 'mousedown', this._mouseDownListener.bind( this ) );
|
|
|
|
|
|
- this._observer.listenTo( domDocument, 'mouseup', () => {
|
|
|
- if ( this._activeResizer ) {
|
|
|
- this._activeResizer.commit();
|
|
|
+ this._observer.listenTo( domDocument, 'mousemove', this._mouseMoveListener.bind( this ) );
|
|
|
|
|
|
- this._activeResizer = null;
|
|
|
- }
|
|
|
- } );
|
|
|
+ this._observer.listenTo( domDocument, 'mouseup', this._mouseUpListener.bind( this ) );
|
|
|
|
|
|
const redrawFocusedResizer = () => {
|
|
|
if ( this._visibleResizer ) {
|
|
|
@@ -187,6 +165,43 @@ export default class WidgetResize extends Plugin {
|
|
|
_getResizerByViewElement( viewElement ) {
|
|
|
return this._resizers.get( viewElement );
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @private
|
|
|
+ * @param {*} event
|
|
|
+ * @param {MouseEvent} domEventData Native DOM event.
|
|
|
+ */
|
|
|
+ _mouseDownListener( event, domEventData ) {
|
|
|
+ if ( !Resizer.isResizeHandle( domEventData.target ) ) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ const resizeHandle = domEventData.target;
|
|
|
+ this._activeResizer = this._getResizerByHandle( resizeHandle );
|
|
|
+ if ( this._activeResizer ) {
|
|
|
+ this._activeResizer.begin( resizeHandle );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @private
|
|
|
+ * @param {*} event
|
|
|
+ * @param {MouseEvent} domEventData Native DOM event.
|
|
|
+ */
|
|
|
+ _mouseMoveListener( event, domEventData ) {
|
|
|
+ if ( this._activeResizer ) {
|
|
|
+ this._activeResizer.updateSize( domEventData );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @private
|
|
|
+ */
|
|
|
+ _mouseUpListener() {
|
|
|
+ if ( this._activeResizer ) {
|
|
|
+ this._activeResizer.commit();
|
|
|
+ this._activeResizer = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
mix( WidgetResize, ObservableMixin );
|