image/image/utils
Functions
createBlockImageViewElement( writer ) → ViewContainerElementinternalmodule:image/image/utils~createBlockImageViewElementCreates a view element representing the block image.
<figure class="image"><img></img></figure>Copy codeNote that
altandsrcattributes are converted separately, so they are not included.Parameters
writer : ViewDowncastWriter
Returns
createInlineImageViewElement( writer ) → ViewContainerElementinternalmodule:image/image/utils~createInlineImageViewElementCreates a view element representing the inline image.
<span class="image-inline"><img></img></span>Copy codeNote that
altandsrcattributes are converted separately, so they are not included.Parameters
writer : ViewDowncastWriter
Returns
determineImageTypeForInsertionAtSelection( schema, selection ) → 'imageBlock' | 'imageInline'internalmodule:image/image/utils~determineImageTypeForInsertionAtSelectionConsidering the current model selection, it returns the name of the model image element (
'imageBlock'or'imageInline') that will make most sense from the UX perspective if a new image was inserted (also: uploaded, dropped, pasted) at that selection.The assumption is that inserting images into empty blocks or on other block widgets should produce block images. Inline images should be inserted in other cases, e.g. in paragraphs that already contain some text.
Parameters
schema : ModelSchemaselection : ModelSelection | ModelDocumentSelection
Returns
'imageBlock' | 'imageInline'
getImgViewElementMatcher( editor, matchImageType ) → MatcherPatterndeprecatedinternalmodule:image/image/utils~getImgViewElementMatcherA function returning a
MatcherPatternfor a particular type of View images.Parameters
editor : EditormatchImageType : 'imageBlock' | 'imageInline'The type of created image.
Returns
getSizeValueIfInPx( size ) → number | nullinternalmodule:image/image/utils~getSizeValueIfInPxReturns parsed value of the size, but only if it contains unit: px.
Parameters
size : string | undefined
Returns
number | null
getViewImageType( element, imageUtils ) → 'imageBlock' | 'imageInline'internalmodule:image/image/utils~getViewImageTypeResolves the model image type (
'imageBlock'or'imageInline') that a given<img>view element represents, based purely on its view structure.An
<img>is treated as a block image when it has adisplay: blockstyle or is wrapped in a block image figure (<figure class="image">, also<figure class="image"><a>...</a></figure>added by theLinkImageplugin). Otherwise it is treated as an inline image.Note that this only reflects the view representation - it does not check whether the resolved type is allowed by the schema at the insertion position.
Parameters
element : ViewElementThe
<img>view element to resolve the type for.imageUtils : ImageUtilsThe
ImageUtilsplugin instance.
Returns
'imageBlock' | 'imageInline'
isImageTypePlaceable( schema, position, imageType ) → booleaninternalmodule:image/image/utils~isImageTypePlaceableChecks whether the given image type can be placed at the specified position - either directly (or after hoisting to an allowed ancestor) or, for inline images, wrapped in an auto-created paragraph.
This is the predicate that decides whether a block image may land at a position or must degrade to an inline image (for example, inside an
$inlineRootthat disallows block content) and, symmetrically, whether an inline image may become a block image.isParagraphable()is alwaysfalseforimageBlock(a block object never fits in a paragraph), so the auto-paragraph relaxation only applies to the inline target.Parameters
schema : ModelSchemaThe model schema to check against.
position : ModelPositionThe position at which the image type should be placed.
imageType : 'imageBlock' | 'imageInline'The image type to check.
Returns
boolean
widthAndHeightStylesAreBothSet( viewElement ) → booleaninternalmodule:image/image/utils~widthAndHeightStylesAreBothSetReturns true if both styles (width and height) are set.
If both image styles: width & height are set, they will override the image width & height attributes in the browser. In this case, the image looks the same as if these styles were applied to attributes instead of styles. That's why we can upcast these styles to width & height attributes instead of resizedWidth and resizedHeight.
Parameters
viewElement : ViewElement
Returns
boolean