mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-17 21:35:33 +03:00
hide CLI 'Copy to clipboard' button if neither NW nor browser support is available
This commit is contained in:
parent
4bb9d30d05
commit
4968f7b080
2 changed files with 15 additions and 9 deletions
|
@ -283,7 +283,7 @@ function startProcess() {
|
||||||
TABS.onboard_logging.initialize(content_ready);
|
TABS.onboard_logging.initialize(content_ready);
|
||||||
break;
|
break;
|
||||||
case 'cli':
|
case 'cli':
|
||||||
TABS.cli.initialize(content_ready);
|
TABS.cli.initialize(content_ready, nwGui);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -41,7 +41,7 @@ function getCliCommand(command, cliBuffer) {
|
||||||
return commandWithBackSpaces(command, buffer, noOfCharsToDelete);
|
return commandWithBackSpaces(command, buffer, noOfCharsToDelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyToClipboard(text) {
|
function copyToClipboard(text, nwGui) {
|
||||||
function onCopySuccessful() {
|
function onCopySuccessful() {
|
||||||
writeLineToOutput("* " + i18n.getMessage("cliCopySuccessful"));
|
writeLineToOutput("* " + i18n.getMessage("cliCopySuccessful"));
|
||||||
}
|
}
|
||||||
|
@ -52,8 +52,7 @@ function copyToClipboard(text) {
|
||||||
|
|
||||||
function nwCopy(text) {
|
function nwCopy(text) {
|
||||||
try {
|
try {
|
||||||
let gui = require('nw.gui'),
|
let clipboard = nwGui.Clipboard.get();
|
||||||
clipboard = gui.Clipboard.get();
|
|
||||||
clipboard.set(text, "text");
|
clipboard.set(text, "text");
|
||||||
onCopySuccessful();
|
onCopySuccessful();
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
|
@ -66,11 +65,11 @@ function copyToClipboard(text) {
|
||||||
.then(onCopySuccessful, onCopyFailed);
|
.then(onCopySuccessful, onCopyFailed);
|
||||||
}
|
}
|
||||||
|
|
||||||
let copyFunc = !navigator.clipboard ? nwCopy : webCopy;
|
let copyFunc = nwGui ? nwCopy : webCopy;
|
||||||
copyFunc(text);
|
copyFunc(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
TABS.cli.initialize = function (callback) {
|
TABS.cli.initialize = function (callback, nwGui) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
if (GUI.active_tab != 'cli') {
|
if (GUI.active_tab != 'cli') {
|
||||||
|
@ -80,6 +79,9 @@ TABS.cli.initialize = function (callback) {
|
||||||
self.outputHistory = "";
|
self.outputHistory = "";
|
||||||
self.cliBuffer = "";
|
self.cliBuffer = "";
|
||||||
|
|
||||||
|
// nwGui variable is set in main.js
|
||||||
|
const clipboardCopySupport = !(nwGui == null && !navigator.clipboard);
|
||||||
|
|
||||||
$('#content').load("./tabs/cli.html", function () {
|
$('#content').load("./tabs/cli.html", function () {
|
||||||
// translate to user-selected language
|
// translate to user-selected language
|
||||||
i18n.localizePage();
|
i18n.localizePage();
|
||||||
|
@ -136,9 +138,13 @@ TABS.cli.initialize = function (callback) {
|
||||||
$('.tab-cli .window .wrapper').empty();
|
$('.tab-cli .window .wrapper').empty();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (clipboardCopySupport) {
|
||||||
$('.tab-cli .copy').click(function() {
|
$('.tab-cli .copy').click(function() {
|
||||||
copyToClipboard(self.outputHistory);
|
copyToClipboard(self.outputHistory, nwGui);
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
$('.tab-cli .copy').hide();
|
||||||
|
}
|
||||||
|
|
||||||
// Tab key detection must be on keydown,
|
// Tab key detection must be on keydown,
|
||||||
// `keypress`/`keyup` happens too late, as `textarea` will have already lost focus.
|
// `keypress`/`keyup` happens too late, as `textarea` will have already lost focus.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue