@phosphor/domutils
Version:
PhosphorJS - DOM Utilities
40 lines (39 loc) • 1.44 kB
JavaScript
;
/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2019, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
/**
* The namespace for clipboard related functionality.
*/
var ClipboardExt;
(function (ClipboardExt) {
/**
* Copy text to the system clipboard.
*
* @param text - The text to copy to the clipboard.
*/
function copyText(text) {
// Fetch the document body.
var body = document.body;
// Set up the clipboard event listener.
var handler = function (event) {
// Stop the event propagation.
event.preventDefault();
event.stopPropagation();
// Set the clipboard data.
event.clipboardData.setData('text', text);
// Remove the event listener.
body.removeEventListener('copy', handler, true);
};
// Add the event listener.
body.addEventListener('copy', handler, true);
// Trigger the event.
document.execCommand('copy');
}
ClipboardExt.copyText = copyText;
})(ClipboardExt = exports.ClipboardExt || (exports.ClipboardExt = {}));