ViewElementConsumables (engine/conversion)
@ckeditor/ckeditor5-engine/src/conversion/viewconsumable
This is a private helper-class for ViewConsumable
.
It represents and manipulates consumable parts of a single Element
.
Filtering
Properties
-
private readonly
_attributes : Map<string, boolean | Map<string, boolean>>
module:engine/conversion/viewconsumable~ViewElementConsumables#_attributes
A map of element's consumables.
- For plain attributes the value is a boolean indicating whether the attribute is available to consume.
- For token based attributes (like class list and style) the value is a map of tokens to booleans indicating whether the token is available to consume on the given attribute.
-
private
_canConsumeName : null | boolean
module:engine/conversion/viewconsumable~ViewElementConsumables#_canConsumeName
Flag indicating if name of the element can be consumed.
Methods
-
constructor( from )
module:engine/conversion/viewconsumable~ViewElementConsumables#constructor
Creates ViewElementConsumables instance.
Parameters
from : Element
View element from which
ViewElementConsumables
is being created.
-
add( consumables ) → void
module:engine/conversion/viewconsumable~ViewElementConsumables#add
Adds consumable parts of the view element. Element's name itself can be marked to be consumed (when element's name is consumed its attributes, classes and styles still could be consumed):
consumables.add( { name: true } );
Attributes classes and styles:
consumables.add( { attributes: [ [ 'title' ], [ 'class', 'foo' ], [ 'style', 'color'] ] } ); consumables.add( { attributes: [ [ 'title' ], [ 'name' ], [ 'class', 'foo' ], [ 'class', 'bar' ] ] } );
Note: This method accepts only
NormalizedConsumables
. You can usenormalizeConsumables
helper to convert fromConsumables
toNormalizedConsumables
.Throws CKEditorError
viewconsumable-invalid-attribute
whenclass
orstyle
attribute is provided - it should be handled separately by providingstyle
andclass
in consumables object.Parameters
consumables : NormalizedConsumables
Object describing which parts of the element can be consumed.
Returns
void
-
consume( consumables ) → boolean
module:engine/conversion/viewconsumable~ViewElementConsumables#consume
Tests if parts of the view element can be consumed and consumes them if available. It returns
true
when all items included in method's call can be consumed, otherwise returnsfalse
.Element's name can be consumed:
consumables.consume( { name: true } );
Attributes classes and styles:
consumables.consume( { attributes: [ [ 'title' ], [ 'class', 'foo' ], [ 'style', 'color' ] ] } ); consumables.consume( { attributes: [ [ 'title' ], [ 'name' ], [ 'class', 'foo' ], [ 'class', 'bar' ] ] } );
Parameters
consumables : NormalizedConsumables
Object describing which parts of the element should be consumed.
Returns
boolean
true
when all tested items can be consumed andfalse
when even one of the items could not be consumed.
-
revert( consumables ) → void
module:engine/conversion/viewconsumable~ViewElementConsumables#revert
Revert already consumed parts of view Element, so they can be consumed once again. Element's name can be reverted:
consumables.revert( { name: true } );
Attributes classes and styles:
consumables.revert( { attributes: [ [ 'title' ], [ 'class', 'foo' ], [ 'style', 'color' ] ] } ); consumables.revert( { attributes: [ [ 'title' ], [ 'name' ], [ 'class', 'foo' ], [ 'class', 'bar' ] ] } );
Parameters
consumables : NormalizedConsumables
Object describing which parts of the element should be reverted.
Returns
void
-
test( consumables ) → null | boolean
module:engine/conversion/viewconsumable~ViewElementConsumables#test
Tests if parts of the view element can be consumed.
Element's name can be tested:
consumables.test( { name: true } );
Attributes classes and styles:
consumables.test( { attributes: [ [ 'title' ], [ 'class', 'foo' ], [ 'style', 'color' ] ] } ); consumables.test( { attributes: [ [ 'title' ], [ 'name' ], [ 'class', 'foo' ], [ 'class', 'bar' ] ] } );
Parameters
consumables : NormalizedConsumables
Object describing which parts of the element should be tested.
Returns
null | boolean
true
when all tested items can be consumed,null
when even one of the items was never marked for consumption andfalse
when even one of the items was already consumed.
Every day, we work hard to keep our documentation complete. Have you spotted outdated information? Is something missing? Please report it via our issue tracker.
With the release of version 42.0.0, we have rewritten much of our documentation to reflect the new import paths and features. We appreciate your feedback to help us ensure its accuracy and completeness.