Skip to content

API > @blocksuite/lit > RangeManager

Class: RangeManager ​

CRUD for Range and TextSelection

Constructors ​

constructor ​

new RangeManager(root): RangeManager

Parameters ​

ParameterType
rootBlockSuiteRoot

Returns ​

RangeManager

Defined In ​

packages/lit/src/utils/range-manager.ts:28

Properties ​

_isRangeReversed ​

private _isRangeReversed: boolean = false

Defined In ​

packages/lit/src/utils/range-manager.ts:35


_range ​

private _range: null | Range = null

Defined In ​

packages/lit/src/utils/range-manager.ts:34


rangeSynchronizer ​

readonly rangeSynchronizer: RangeSynchronizer

Defined In ​

packages/lit/src/utils/range-manager.ts:26


root ​

root: BlockSuiteRoot

Defined In ​

packages/lit/src/utils/range-manager.ts:28

Accessors ​

value ​

get value(): null | Range

Defined In ​

packages/lit/src/utils/range-manager.ts:30

Methods ​

_calculateVirgo ​

private _calculateVirgo(point): null | [VEditor< {bold: null | true; code: null | true; italic: null | true; link: null | string; strike: null | true; underline: null | true;} >, VRange]

Parameters ​

ParameterType
pointTextRangePoint

Returns ​

null | [VEditor< {bold: null | true; code: null | true; italic: null | true; link: null | string; strike: null | true; underline: null | true;} >, VRange]

Defined In ​

packages/lit/src/utils/range-manager.ts:212


_getBlock ​

private _getBlock(element): BlockElement< BaseBlockModel< object >, BlockService< BaseBlockModel< object > >, string >

Parameters ​

ParameterType
elementHTMLElement

Returns ​

BlockElement< BaseBlockModel< object >, BlockService< BaseBlockModel< object > >, string >

Defined In ​

packages/lit/src/utils/range-manager.ts:356


_getNearestVirgo ​

private _getNearestVirgo(node): undefined | VirgoRootElement

Parameters ​

ParameterType
nodeNode

Returns ​

undefined | VirgoRootElement

Defined In ​

packages/lit/src/utils/range-manager.ts:342


_mergeRanges ​

private _mergeRanges(ranges): null | {range: Range; reversed: boolean;}

Parameters ​

ParameterType
rangesRangeSnapshot[]

Returns ​

null | {range: Range; reversed: boolean;}

Defined In ​

packages/lit/src/utils/range-manager.ts:270


_nodeToPoint ​

private _nodeToPoint(node): null | {blockId: string; index: number; length: number; path: string[];}

Parameters ​

ParameterType
nodeNode

Returns ​

null | {blockId: string; index: number; length: number; path: string[];}

Defined In ​

packages/lit/src/utils/range-manager.ts:239


_renderRange ​

private _renderRange(): void

Returns ​

void

Defined In ​

packages/lit/src/utils/range-manager.ts:323


_snapshotToRange ​

private _snapshotToRange(snapshot): Range

Parameters ​

ParameterType
snapshotRangeSnapshot

Returns ​

Range

Defined In ​

packages/lit/src/utils/range-manager.ts:263


clearRange ​

clearRange(sync = true): void

Parameters ​

ParameterTypeDefault value
syncbooleantrue

Returns ​

void

Defined In ​

packages/lit/src/utils/range-manager.ts:37


getSelectedBlockElementsByRange ​

getSelectedBlockElementsByRange(range, options = {}): BlockElement< BaseBlockModel< object >, BlockService< BaseBlockModel< object > >, string >[]

Parameters ​

ParameterType
rangeRange
optionsobject
options.match?function
options.mode?"all" | "flat" | "highest"

Returns ​

BlockElement< BaseBlockModel< object >, BlockService< BaseBlockModel< object > >, string >[]

Example ​

ts
aaa
  b[bb
    ccc
ddd
  ee]e

all mode: [aaa, bbb, ccc, ddd, eee]
flat mode: [bbb, ccc, ddd, eee]
highest mode: [bbb, ddd]

match function will be evaluated before filtering using mode
aaa
  b[bb
    ccc
ddd
  ee]e

all mode: [aaa, bbb, ccc, ddd, eee]
flat mode: [bbb, ccc, ddd, eee]
highest mode: [bbb, ddd]

match function will be evaluated before filtering using mode

Defined In ​

packages/lit/src/utils/range-manager.ts:126


pointToRange ​

pointToRange(point): null | Range

Parameters ​

ParameterType
pointTextRangePoint

Returns ​

null | Range

Defined In ​

packages/lit/src/utils/range-manager.ts:202


renderRange ​

renderRange(start, end?): void

Parameters ​

ParameterType
startRange
end?null | Range

Returns ​

void

Defined In ​

packages/lit/src/utils/range-manager.ts:46


syncRangeToTextSelection ​

syncRangeToTextSelection(range, isRangeReversed): null | TextSelection

Parameters ​

ParameterType
rangenull | Range
isRangeReversedboolean

Returns ​

null | TextSelection

Defined In ​

packages/lit/src/utils/range-manager.ts:82


syncTextSelectionToRange ​

syncTextSelectionToRange(selection): void

Parameters ​

ParameterType
selectionnull | TextSelection

Returns ​

void

Defined In ​

packages/lit/src/utils/range-manager.ts:59


textSelectionToRange ​

textSelectionToRange(selection): null | Range

Parameters ​

ParameterType
selectionTextSelection

Returns ​

null | Range

Defined In ​

packages/lit/src/utils/range-manager.ts:179