Extends
Methods
adjustLength(adjustment)
#
Adjust the length.
This should only be called after a relevant change to the document data. Calling this method will not change the document data.
Parameters:
Name | Type | Description |
---|---|---|
adjustment |
number | Amount to adjust length by |
- Inherited from:
- Source:
Throws:
-
Invalid adjustment error if resulting length is less than 0
- Type
- Error
canBeMergedWith(node) → {boolean}
#
Check if the node can be merged with another.
For two nodes to be mergeable, the two nodes must either be the same node or:
- Are comparable according to #compareForMerging (by default, have the same type)
- Have the same depth
- Have similar ancestry (each node upstream must have the same type)
Parameters:
Name | Type | Description |
---|---|---|
node |
ve.dm.Node | Node to consider merging with |
- Inherited from:
- Source:
Returns:
Nodes can be merged
- Type
- boolean
canContainContent()
#
- Inherited from:
- Source:
- See:
canHaveChildren()
#
- Inherited from:
- Source:
- See:
canHaveChildrenNotContent()
#
- Inherited from:
- Source:
- See:
canHaveSlugAfter() → {boolean}
#
Check if the node can have a slug after it.
- Inherited from:
- Source:
Returns:
Whether the node can have a slug after it
- Type
- boolean
canHaveSlugBefore() → {boolean}
#
Check if the node can have a slug before it.
- Inherited from:
- Source:
Returns:
Whether the node can have a slug before it
- Type
- boolean
compareAttributes(attributes) → {boolean}
#
Check if specific attributes match those in the node
Parameters:
Name | Type | Description |
---|---|---|
attributes |
Object | Node attributes to match |
- Inherited from:
- Source:
Returns:
Attributes sepcified match those in the node
- Type
- boolean
compareForMerging(otherNode) → {boolean}
#
Compare with another node for merging (see #canBeMergedWidth)
The default implementation just compares node types.
Parameters:
Name | Type | Description |
---|---|---|
otherNode |
ve.dm.Node | Other node to compare with |
- Inherited from:
- Source:
Returns:
Nodes are comparable
- Type
- boolean
Compare with another node for merging (see #canBeMergedWidth)
The default implementation just compares node types.
describeChange()
#
- Mixes in:
- Source:
- See:
describeChanges()
#
- Mixes in:
- Source:
- See:
findMatchingAncestor(type, [attributes]) → {ve.dm.Node|null
}
#
null
}
#
Find the first ancestor with matching type and attribute values.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
type |
string | Node type to match |
|
attributes |
Object |
optional |
Node attributes to match |
- Inherited from:
- Source:
Returns:
Ancestor with matching type and attribute values
- Type
-
ve.dm.Node
|
null
getAnnotations() → {Array.<number>}
#
Get the annotations that apply to the node.
Annotations are grabbed directly from the linear model, so they are updated live. If the linear model element doesn't have a .annotations property, an empty array is returned.
- Inherited from:
- Source:
Returns:
Annotation set indexes in the index-value store
- Type
- Array.<number>
getAttribute(key) → {any}
#
Get the value of an attribute.
Return value is by reference if array or object.
Parameters:
Name | Type | Description |
---|---|---|
key |
string | Name of attribute to get |
- Inherited from:
- Source:
Returns:
Value of attribute, or undefined if no such attribute exists
- Type
- any
getAttributes([prefix]) → {Object}
#
Get a copy of all attributes.
Values are by reference if array or object, similar to using the getAttribute method.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
prefix |
string |
optional |
Only return attributes with this prefix, and remove the prefix from them |
- Inherited from:
- Source:
Returns:
Attributes
- Type
- Object
getChildNodeTypes()
#
- Inherited from:
- Source:
- See:
getClonedElement(preserveGenerated, resetAttributes) → {Object}
#
Parameters:
Name | Type | Description |
---|---|---|
preserveGenerated |
boolean | Preserve internal.generated property of element |
resetAttributes |
boolean | Reset attributes for an empty clone, as defined in #static-resetForClone |
- Inherited from:
- Source:
- See:
Returns:
Cloned element object
- Type
- Object
getElement() → {Object}
#
Get a reference to the linear model element.
- Inherited from:
- Source:
Returns:
Linear model element passed to the constructor, by reference
- Type
- Object
getHashObject() → {Object}
#
getLength()
#
- Inherited from:
- Source:
- See:
getOffset()
#
- Inherited from:
- Source:
- See:
getOriginalDomElements(store) → {Array.<HTMLElement>}
#
Get the DOM element(s) this model was originally converted from, if any.
Parameters:
Name | Type | Description |
---|---|---|
store |
ve.dm.HashValueStore | Hash value store where the DOM elements are stored |
- Inherited from:
- Source:
Returns:
DOM elements this model was converted from, empty if not applicable
- Type
- Array.<HTMLElement>
getOriginalDomElementsHash() → {string|undefined
}
#
undefined
}
#
Get the DOM element(s) this model was originally converted from, if any.
- Inherited from:
- Source:
Returns:
Store hash of DOM elements this model was converted from
- Type
-
string
|
undefined
getParentNodeTypes()
#
- Inherited from:
- Source:
- See:
getStore() → {ve.dm.HashValueStore}
#
Get a reference to the hash-value store used by the element.
- Inherited from:
- Source:
Returns:
Hash-value store
- Type
- ve.dm.HashValueStore
getSuggestedParentNodeTypes()
#
- Inherited from:
- Source:
- See:
getType() → {string}
#
Get the symbolic name of this model's type.
- Inherited from:
- Source:
Returns:
Type name
- Type
- string
handlesOwnChildren()
#
- Inherited from:
- Source:
- See:
hasMatchingAncestor(type, [attributes]) → {boolean}
#
Check if the node has an ancestor with matching type and attribute values.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
type |
string | Node type to match |
|
attributes |
Object |
optional |
Node attributes to match |
- Inherited from:
- Source:
Returns:
Node has an ancestor with matching type and attribute values
- Type
- boolean
hasSignificantWhitespace()
#
- Inherited from:
- Source:
- See:
isAlignable()
#
- Inherited from:
- Source:
- See:
isCellEditable()
#
- Inherited from:
- Source:
- See:
isCellable()
#
- Inherited from:
- Source:
- See:
isContent()
#
- Inherited from:
- Source:
- See:
isDiffComparable()
#
- Overrides:
- Mixes in:
- Source:
- See:
isDiffedAsDocument()
#
- Inherited from:
- Source:
- See:
isDiffedAsLeaf()
#
- Inherited from:
- Source:
- See:
isDiffedAsList()
#
- Inherited from:
- Source:
- See:
isEditable() → {boolean}
#
Check whether this node can be edited by a context item
The default implementation always returns true. If your node type is uneditable in certain cases, you should override this function.
- Inherited from:
- Source:
Returns:
Whether this node is editable
- Type
- boolean
Check whether this node can be edited by a context item
The default implementation always returns true.
isFocusable()
#
- Inherited from:
- Source:
- See:
isInspectable() → {boolean}
#
Check whether this node can be inspected by a context item.
The default implementation always returns true. If your node type is uninspectable in certain cases, you should override this function.
- Inherited from:
- Source:
Returns:
Whether this node is inspectable
- Type
- boolean
isInternal()
#
- Inherited from:
- Source:
- See:
isMetaData()
#
- Inherited from:
- Source:
- See:
isSurfaceable() → {boolean}
#
Check if the node can be the root of a branch exposed in a ve.ce.Surface
- Inherited from:
- Source:
Returns:
Node can be the root of a surfaced branch
- Type
- boolean
isUnwrappable()
#
- Inherited from:
- Source:
- See:
isWrapped()
#
- Inherited from:
- Source:
- See:
matches(type, [attributes]) → {boolean}
#
Check if the node matches type and attribute values.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
type |
string | Node type to match |
|
attributes |
Object |
optional |
Node attributes to match |
- Inherited from:
- Source:
Returns:
Node matches type and attribute values
- Type
- boolean
setLength(length)
#
Set the inner length of the node.
This should only be called after a relevant change to the document data. Calling this method will not change the document data.
Parameters:
Name | Type | Description |
---|---|---|
length |
number | Length of content |
- Inherited from:
- Source:
Fires:
Throws:
-
Invalid content length error if length is less than 0
- Type
- Error
shouldIgnoreChildren()
#
- Inherited from:
- Source:
- See:
suppressSlugType() → {string|null
}
#
null
}
#
A string identifier used to suppress slugs
If sequential nodes have the same non-null suppressSlugType, then no slug is shown, e.g. two floated images can return 'float' to suppress the slug between them.
- Inherited from:
- Source:
Returns:
Type
- Type
-
string
|
null
A string identifier used to suppress slugs
If sequential nodes have the same non-null suppressSlugType, then no slug is shown, e.g.
Events
attributeChange(key, oldValue, newValue)
#
Parameters:
Name | Type | Description |
---|---|---|
key |
string | |
oldValue |
any | |
newValue |
any |
- Inherited from:
- Source:
lengthChange(diff)
#
Parameters:
Name | Type | Description |
---|---|---|
diff |
number |
- Inherited from:
- Source:
update()
#
- Inherited from:
- Source: