forgeplus-react/node_modules/draft-js/lib/getDraftEditorSelection.js....

39 lines
1.2 KiB
Plaintext

/**
* Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule getDraftEditorSelection
* @format
* @flow
*/
'use strict';
import type { DOMDerivedSelection } from './DOMDerivedSelection';
import type EditorState from './EditorState';
var getDraftEditorSelectionWithNodes = require('./getDraftEditorSelectionWithNodes');
/**
* Convert the current selection range to an anchor/focus pair of offset keys
* and values that can be interpreted by components.
*/
function getDraftEditorSelection(editorState: EditorState, root: HTMLElement): DOMDerivedSelection {
var selection = global.getSelection();
// No active selection.
if (selection.rangeCount === 0) {
return {
selectionState: editorState.getSelection().set('hasFocus', false),
needsRecovery: false
};
}
return getDraftEditorSelectionWithNodes(editorState, root, selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);
}
module.exports = getDraftEditorSelection;