getParagraphSelection function
DocumentSelection?
getParagraphSelection({
- required DocumentPosition docPosition,
- required DocumentLayout docLayout,
Returns the paragraph of text that contains the given docPosition
, or null
if there is no text at the given docPosition
.
A paragraph is defined as all text within the given document node, bounded by newlines or the beginning/end of the node's text.
Implementation
DocumentSelection? getParagraphSelection({
required DocumentPosition docPosition,
required DocumentLayout docLayout,
}) {
_log.log('getParagraphSelection', '_getWordSelection()');
_log.log('getParagraphSelection', ' - doc position: $docPosition');
final component = docLayout.getComponentByNodeId(docPosition.nodeId);
if (component is! TextComposable) {
return null;
}
final nodePosition = docPosition.nodePosition;
if (nodePosition is! TextNodePosition) {
return null;
}
final paragraphNodeSelection = (component as TextComposable).getContiguousTextSelectionAt(nodePosition);
return DocumentSelection(
base: DocumentPosition(
nodeId: docPosition.nodeId,
nodePosition: paragraphNodeSelection.base,
),
extent: DocumentPosition(
nodeId: docPosition.nodeId,
nodePosition: paragraphNodeSelection.extent,
),
);
}