modifySelection.js 1.0 KB

12345678910111213141516171819
  1. import { setUISelection } from '../../document/UI.js';
  2. import '../../utils/dataTransfer/Clipboard.js';
  3. import { getTargetTypeAndSelection } from './getTargetTypeAndSelection.js';
  4. /**
  5. * Extend/shrink the selection like with Shift+Arrows or Shift+Mouse
  6. */ function modifySelection({ focusNode, focusOffset }) {
  7. var _focusNode_ownerDocument_getSelection, _focusNode_ownerDocument;
  8. const typeAndSelection = getTargetTypeAndSelection(focusNode);
  9. if (typeAndSelection.type === 'input') {
  10. return setUISelection(focusNode, {
  11. anchorOffset: typeAndSelection.selection.anchorOffset,
  12. focusOffset
  13. }, 'modify');
  14. }
  15. (_focusNode_ownerDocument = focusNode.ownerDocument) === null || _focusNode_ownerDocument === undefined ? undefined : (_focusNode_ownerDocument_getSelection = _focusNode_ownerDocument.getSelection()) === null || _focusNode_ownerDocument_getSelection === undefined ? undefined : _focusNode_ownerDocument_getSelection.extend(focusNode, focusOffset);
  16. }
  17. export { modifySelection };