draft-js
Version:
A React framework for building text editors.
35 lines (28 loc) • 999 B
Flow
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
* @flow strict-local
* @emails oncall+draft_js
*/
;
import type DraftEditor from "./DraftEditor.react";
const getFragmentFromSelection = require("./getFragmentFromSelection");
/**
* If we have a selection, create a ContentState fragment and store
* it in our internal clipboard. Subsequent paste events will use this
* fragment if no external clipboard data is supplied.
*/
function editOnCopy(editor: DraftEditor, e: SyntheticClipboardEvent<>): void {
const editorState = editor._latestEditorState;
const selection = editorState.getSelection(); // No selection, so there's nothing to copy.
if (selection.isCollapsed()) {
e.preventDefault();
return;
}
editor.setClipboard(getFragmentFromSelection(editor._latestEditorState));
}
module.exports = editOnCopy;