fleet/frontend/utilities/copy_text.js
Gabe Hernandez efb35b537a
add prettier and have it format all fleet application code (#625)
* add prettier and have it format all js code except website:
:

* trying running prettier check in CI

* fix runs on in CI

* change CI job name

* fix prettier erros and fix CI
2021-04-12 14:32:25 +01:00

40 lines
897 B
JavaScript

import select from "select";
const removeSelectedText = () => {
return global.window.getSelection().removeAllRanges();
};
export const copyText = (elementSelector) => {
const { document } = global;
const element = document.querySelector(elementSelector);
const input = element.querySelector("input");
input.type = "text";
input.disabled = false;
select(input);
const canCopy = document.queryCommandEnabled("copy");
if (!canCopy) {
return false;
}
document.execCommand("copy");
input.type = "password";
input.disabled = true;
removeSelectedText();
return true;
};
export const stringToClipboard = (string) => {
const { navigator } = global;
return navigator.clipboard.writeText(string);
};
export const COPY_TEXT_SUCCESS = "Text copied to clipboard";
export const COPY_TEXT_ERROR = "Text not copied. Please copy manually.";
export default copyText;