Przeglądaj źródła

Merge pull request #330 from ckeditor/t/ckeditor5-image/310

Other: Improved the resizer performance. Closes ckeditor/ckeditor5#5191.
Piotrek Koszuliński 6 lat temu
rodzic
commit
13d15c7ef5
1 zmienionych plików z 10 dodań i 4 usunięć
  1. 10 4
      packages/ckeditor5-image/tests/imageresize.js

+ 10 - 4
packages/ckeditor5-image/tests/imageresize.js

@@ -131,7 +131,7 @@ describe( 'ImageResize', () => {
 		it( 'disables the resizer if the command is disabled', () => {
 			setData( editor.model, `<paragraph>foo</paragraph>[<image src="${ IMAGE_SRC_FIXTURE }"></image>]` );
 
-			const resizer = editor.plugins.get( 'WidgetResize' ).resizers[ 0 ];
+			const resizer = getSelectedImageResizer( editor );
 
 			let isEnabled = false;
 
@@ -161,7 +161,7 @@ describe( 'ImageResize', () => {
 				editor.model.insertContent( writer.createElement( 'image', { src: IMAGE_SRC_FIXTURE } ) );
 			} );
 
-			const resizer = editor.plugins.get( 'WidgetResize' ).resizers[ 0 ];
+			const resizer = getSelectedImageResizer( editor );
 			const resizerWrapper = editor.ui.getEditableElement().querySelector( '.ck-widget__resizer' );
 
 			expect( resizer.isEnabled ).to.be.false;
@@ -521,7 +521,7 @@ describe( 'ImageResize', () => {
 
 			editor.commands.get( 'undo' ).execute();
 
-			await wait( 40 );
+			await wait( 160 ); // ui#update event is throttled.
 
 			const resizerWrapper = document.querySelector( '.ck-widget__resizer' );
 			const shadowBoundingRect = resizerWrapper.getBoundingClientRect();
@@ -668,7 +668,7 @@ describe( 'ImageResize', () => {
 		it( 'hides the resize wrapper when its disabled', () => {
 			setData( editor.model, `<paragraph>foo</paragraph>[<image src="${ IMAGE_SRC_FIXTURE }"></image>]` );
 
-			const resizer = editor.plugins.get( 'WidgetResize' ).resizers[ 0 ];
+			const resizer = getSelectedImageResizer( editor );
 			const resizerWrapper = editor.ui.getEditableElement().querySelector( '.ck-widget__resizer' );
 
 			expect( resizerWrapper.style.display ).to.equal( '' );
@@ -771,6 +771,12 @@ describe( 'ImageResize', () => {
 		editor.ui.focusTracker.isFocused = true;
 	}
 
+	function getSelectedImageResizer( editor ) {
+		return editor.plugins.get( 'WidgetResize' )._getResizerByViewElement(
+			editor.editing.view.document.selection.getSelectedElement()
+		);
+	}
+
 	function createEditor( config ) {
 		editorElement = document.createElement( 'div' );