Przeglądaj źródła

Use findOptimalInsertionPosition() from widget.

Maciej Gołaszewski 7 lat temu
rodzic
commit
01a2f951c2

+ 4 - 5
packages/ckeditor5-media-embed/src/mediaembedcommand.js

@@ -8,7 +8,7 @@
  */
  */
 
 
 import Command from '@ckeditor/ckeditor5-core/src/command';
 import Command from '@ckeditor/ckeditor5-core/src/command';
-import ModelPosition from '@ckeditor/ckeditor5-engine/src/model/position';
+import { findOptimalInsertionPosition } from '@ckeditor/ckeditor5-widget/src/utils';
 import { getSelectedMediaElement } from './utils';
 import { getSelectedMediaElement } from './utils';
 
 
 /**
 /**
@@ -62,14 +62,13 @@ export default class MediaEmbedCommand extends Command {
 				writer.setAttribute( 'url', url, selectedMedia );
 				writer.setAttribute( 'url', url, selectedMedia );
 			} );
 			} );
 		} else {
 		} else {
-			const firstPosition = selection.getFirstPosition();
-			const isRoot = firstPosition.parent === firstPosition.root;
-			const insertPosition = isRoot ? ModelPosition.createAt( firstPosition ) : ModelPosition.createAfter( firstPosition.parent );
+			const insertPosition = findOptimalInsertionPosition( selection );
 
 
 			model.change( writer => {
 			model.change( writer => {
 				const mediaElement = writer.createElement( 'media', { url } );
 				const mediaElement = writer.createElement( 'media', { url } );
 
 
-				writer.insert( mediaElement, insertPosition );
+				model.insertContent( mediaElement, insertPosition );
+
 				writer.setSelection( mediaElement, 'on' );
 				writer.setSelection( mediaElement, 'on' );
 			} );
 			} );
 		}
 		}