You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by sm...@apache.org on 2021/07/15 09:15:56 UTC
[knox] branch master updated: KNOX-2632 - Properly copying
generated content on tokengen UI (#467)
This is an automated email from the ASF dual-hosted git repository.
smolnar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new d14ba14 KNOX-2632 - Properly copying generated content on tokengen UI (#467)
d14ba14 is described below
commit d14ba146714921d5f8bdd4b2b5fa44ddf2d66950
Author: Sandor Molnar <sm...@apache.org>
AuthorDate: Thu Jul 15 11:15:49 2021 +0200
KNOX-2632 - Properly copying generated content on tokengen UI (#467)
---
.../resources/applications/tokengen/app/index.html | 6 ++--
.../applications/tokengen/app/js/tokengen.js | 33 ++++++----------------
2 files changed, 12 insertions(+), 27 deletions(-)
diff --git a/gateway-applications/src/main/resources/applications/tokengen/app/index.html b/gateway-applications/src/main/resources/applications/tokengen/app/index.html
index 36d0fa1..26c8c8a 100644
--- a/gateway-applications/src/main/resources/applications/tokengen/app/index.html
+++ b/gateway-applications/src/main/resources/applications/tokengen/app/index.html
@@ -94,12 +94,12 @@
<div style="margin-left: 1.75%; margin-right: 1.75%; margin-top: 10px">
<span id="resultBox" style="color:black; display:none; margin-left: 1.75%; margin-right: 1.75%;">
- <label id="jwtAccessTokenLabel" onclick="copyAccessTokenToClipBoard();"><i class="icon-copy"></i> JWT Token:</label>
+ <label id="jwtAccessTokenLabel" onclick="copyTextToClipboard('accessToken');"><i class="icon-copy"></i> JWT Token:</label>
<div class="tokenResultDisplay">
<span id="accessToken" name="accessToken" style="word-wrap: break-word"></span>
</div>
- <label id="jwtPasscodeTokenLabel" onclick="copyPasscodeTokenToClipBoard();"><i class="icon-copy"></i> Passcode Token:</label>
+ <label id="jwtPasscodeTokenLabel" onclick="copyTextToClipboard('accessPasscode');"><i class="icon-copy"></i> Passcode Token:</label>
<div class="tokenResultDisplay">
<span id="accessPasscode" name="accessPasscode"></span>
</div>
@@ -114,7 +114,7 @@
<span id="user" name="user"></span>
</div>
- <label id="targetBaseUrlLabel" onclick="copyBaseUrlToClipBoard();"><i class="icon-copy"></i> Target Base URL:</label>
+ <label id="targetBaseUrlLabel" onclick="copyTextToClipboard('target_url');"><i class="icon-copy"></i> Target Base URL:</label>
<div class="tokenResultDisplay">
<span id="target_url" name="target_url"></span>
</div>
diff --git a/gateway-applications/src/main/resources/applications/tokengen/app/js/tokengen.js b/gateway-applications/src/main/resources/applications/tokengen/app/js/tokengen.js
index 42d19c3..ad552bf 100644
--- a/gateway-applications/src/main/resources/applications/tokengen/app/js/tokengen.js
+++ b/gateway-applications/src/main/resources/applications/tokengen/app/js/tokengen.js
@@ -250,28 +250,13 @@ var gen = function() {
}
}
-function copyAccessTokenToClipBoard() {
- var range = document.createRange();
- range.selectNode(document.getElementById("accessToken"));
- copyTokenToClipboard(range);
-}
-
-function copyPasscodeTokenToClipBoard() {
- var range = document.createRange();
- range.selectNode(document.getElementById("accessPasscode"));
- copyTokenToClipboard(range);
-}
-
-function copyBaseUrlToClipBoard() {
- var range = document.createRange();
- range.selectNode(document.getElementById("target_url"));
- copyTokenToClipboard(range);
-}
-
-function copyTokenToClipboard(rangeWithSelectedNode) {
- window.getSelection().removeAllRanges(); // clear current selection
- window.getSelection().addRange(rangeWithSelectedNode); // to select text
- document.execCommand("copy");
- window.getSelection().removeAllRanges();// to deselect
- swal("Copied to clipboard!", {buttons: false, timer: 1000});
+function copyTextToClipboard(elementId) {
+ var toBeCopied = document.getElementById(elementId).innerText.trim();
+ const tempTextArea = document.createElement('textarea');
+ tempTextArea.value = toBeCopied;
+ document.body.appendChild(tempTextArea);
+ tempTextArea.select();
+ document.execCommand('copy');
+ document.body.removeChild(tempTextArea);
+ swal("Copied to clipboard!", {buttons: false, timer: 1000});
}
\ No newline at end of file