MCPcopy Create free account
hub / github.com/editablejs/editable / toRects

Function toRects

packages/editor/src/plugin/selection-drawing.ts:94–116  ·  view source on GitHub ↗
(editor: Editor, range: Range, relative = true)

Source from the content-addressed store, hash-verified

92 },
93
94 toRects(editor: Editor, range: Range, relative = true) {
95 let rects: DOMRect[] = []
96 if (Range.isCollapsed(range)) {
97 const domRange = Editable.toDOMRange(editor, range)
98 const clientRects = domRange.getClientRects()
99 if (clientRects.length > 1) {
100 rects = [clientRects[clientRects.length - 1]]
101 } else {
102 rects = [domRange.getBoundingClientRect()]
103 }
104 } else {
105 rects = getLineRectsByRange(editor, range)
106 }
107
108 return relative
109 ? rects.map(r => {
110 const [x, y] = Editable.toRelativePosition(editor, r.left, r.top)
111 r.x = x
112 r.y = y
113 return r
114 })
115 : rects
116 },
117}

Callers

nothing calls this directly

Calls 1

getLineRectsByRangeFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…