UNPKG

json-joy

Version:

Collection of libraries for building collaborative editing apps.

20 lines (19 loc) 559 B
/** * Save the current browser selection, so that it can be restored later. Returns * a callback to restore the selection. * * @returns Callback to restore the selection. */ export const saveSelection = () => { const selection = window?.getSelection(); if (!selection) return; const ranges = []; for (let i = 0; i < selection.rangeCount; i++) ranges.push(selection.getRangeAt(i)); return () => { selection.removeAllRanges(); for (const range of ranges) selection.addRange(range); }; };