Procházet zdrojové kódy

Rename the proposed method to getViewImgFromWidget() and update the docs.

Maciej Gołaszewski před 5 roky
rodič
revize
2729b015a9

+ 4 - 4
packages/ckeditor5-image/src/image/converters.js

@@ -8,7 +8,7 @@
  */
 
 import first from '@ckeditor/ckeditor5-utils/src/first';
-import { getImgViewFromFigure } from './utils';
+import { getViewImgFromWidget } from './utils';
 
 /**
  * Returns a function that converts the image view representation:
@@ -36,7 +36,7 @@ export function viewFigureToModel() {
 		}
 
 		// Find an image element inside the figure element.
-		const viewImage = getImgViewFromFigure( data.viewItem );
+		const viewImage = getViewImgFromWidget( data.viewItem );
 
 		// Do not convert if image element is absent, is missing src attribute or was already converted.
 		if ( !viewImage || !viewImage.hasAttribute( 'src' ) || !conversionApi.consumable.test( viewImage, { name: true } ) ) {
@@ -82,7 +82,7 @@ export function srcsetAttributeConverter() {
 
 		const writer = conversionApi.writer;
 		const figure = conversionApi.mapper.toViewElement( data.item );
-		const img = getImgViewFromFigure( figure );
+		const img = getViewImgFromWidget( figure );
 
 		if ( data.attributeNewValue === null ) {
 			const srcset = data.attributeOldValue;
@@ -123,7 +123,7 @@ export function modelToViewAttributeConverter( attributeKey ) {
 
 		const viewWriter = conversionApi.writer;
 		const figure = conversionApi.mapper.toViewElement( data.item );
-		const img = getImgViewFromFigure( figure );
+		const img = getViewImgFromWidget( figure );
 
 		if ( data.attributeNewValue !== null ) {
 			viewWriter.setAttribute( data.attributeKey, data.attributeNewValue, img );

+ 5 - 6
packages/ckeditor5-image/src/image/utils.js

@@ -25,7 +25,7 @@ export function toImageWidget( viewElement, writer, label ) {
 	return toWidget( viewElement, writer, { label: labelCreator } );
 
 	function labelCreator() {
-		const imgElement = getImgViewFromFigure( viewElement );
+		const imgElement = getViewImgFromWidget( viewElement );
 		const altText = imgElement.getAttribute( 'alt' );
 
 		return altText ? `${ altText } ${ label }` : label;
@@ -108,16 +108,15 @@ export function isImageAllowed( model ) {
 }
 
 /**
- * Get img view element from the figure view.
+ * Get view `<img>` element from the view widget (`<figure>`).
  *
- * Using figureView.getChild(0) - is unsafe,
- * because there are can be "figcaption" or smth else.
- * This approach provide ability to extend plugin logic with other custom plugins.
+ * Assuming that image is always a first child of a widget (ie. `figureView.getChild( 0 )`) is unsafe as other features might
+ * inject their own elements to the widget.
  *
  * @param {module:engine/view/element~Element} figureView
  * @returns {module:engine/view/element~Element}
  */
-export function getImgViewFromFigure( figureView ) {
+export function getViewImgFromWidget( figureView ) {
 	return Array.from( figureView.getChildren() ).find( viewChild => viewChild.is( 'img' ) );
 }
 

+ 2 - 2
packages/ckeditor5-image/src/imageupload/imageuploadediting.js

@@ -17,7 +17,7 @@ import env from '@ckeditor/ckeditor5-utils/src/env';
 import ImageUploadCommand from '../../src/imageupload/imageuploadcommand';
 import { fetchLocalImage, isLocalImage } from '../../src/imageupload/utils';
 import { createImageTypeRegExp } from './utils';
-import { getImgViewFromFigure } from '../image/utils';
+import { getViewImgFromWidget } from '../image/utils';
 
 /**
  * The editing part of the image upload feature. It registers the `'imageUpload'` command.
@@ -218,7 +218,7 @@ export default class ImageUploadEditing extends Plugin {
 				/* istanbul ignore next */
 				if ( env.isSafari ) {
 					const viewFigure = editor.editing.mapper.toViewElement( imageElement );
-					const viewImg = getImgViewFromFigure( viewFigure );
+					const viewImg = getViewImgFromWidget( viewFigure );
 
 					editor.editing.view.once( 'render', () => {
 						// Early returns just to be safe. There might be some code ran

+ 3 - 3
packages/ckeditor5-image/src/imageupload/imageuploadprogress.js

@@ -13,7 +13,7 @@ import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
 import FileRepository from '@ckeditor/ckeditor5-upload/src/filerepository';
 import uploadingPlaceholder from '../../theme/icons/image_placeholder.svg';
 import env from '@ckeditor/ckeditor5-utils/src/env';
-import { getImgViewFromFigure } from '../image/utils';
+import { getViewImgFromWidget } from '../image/utils';
 
 import '../../theme/imageuploadprogress.css';
 import '../../theme/imageuploadicon.css';
@@ -144,7 +144,7 @@ function _showPlaceholder( placeholder, viewFigure, writer ) {
 		writer.addClass( 'ck-image-upload-placeholder', viewFigure );
 	}
 
-	const viewImg = getImgViewFromFigure( viewFigure );
+	const viewImg = getViewImgFromWidget( viewFigure );
 
 	if ( viewImg.getAttribute( 'src' ) !== placeholder ) {
 		writer.setAttribute( 'src', placeholder, viewImg );
@@ -271,7 +271,7 @@ function _removeUIElement( viewFigure, writer, uniqueProperty ) {
 // @param {module:upload/filerepository~FileLoader} loader
 function _displayLocalImage( viewFigure, writer, loader ) {
 	if ( loader.data ) {
-		const viewImg = getImgViewFromFigure( viewFigure );
+		const viewImg = getViewImgFromWidget( viewFigure );
 
 		writer.setAttribute( 'src', loader.data, viewImg );
 	}