8
0
Pārlūkot izejas kodu

Internal: Extracted mouse listeners used in widget resizer.

Marek Lewandowski 6 gadi atpakaļ
vecāks
revīzija
deee607166
1 mainītis faili ar 40 papildinājumiem un 25 dzēšanām
  1. 40 25
      packages/ckeditor5-widget/src/widgetresize.js

+ 40 - 25
packages/ckeditor5-widget/src/widgetresize.js

@@ -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 );