fix: move copy to clipboard button outside of prettymessage block

This commit is contained in:
Ribas160 2026-05-15 13:28:34 +03:00
parent b77639849c
commit 5bbe713b9c
No known key found for this signature in database
GPG key ID: ED4AE99DCA25A6BB
45 changed files with 125 additions and 152 deletions

View file

@ -143,26 +143,6 @@ html[dir="rtl"] #deletelink, html[dir="rtl"] #qrcodemodalClose {
padding-right: 30px;
}
#prettyMessageCopyBtn {
position: absolute;
top: 8px;
right: 25px;
left: auto;
padding: 0;
background: none;
border: none;
z-index: 1;
}
html[dir="rtl"] #prettyMessageCopyBtn {
left: 25px;
right: auto;
}
#copySuccessIcon {
display: none;
}
#copyShortcutHint {
margin-bottom: 5px;
}

View file

@ -57,34 +57,6 @@ html[dir="rtl"] #deletelink, html[dir="rtl"] #qrcodemodalClose {
padding-right: 30px;
}
#prettyMessageCopyBtn {
position: absolute;
top: 8px;
right: 8px;
left: auto;
width: 20px;
height: 20px;
padding: 0;
background: none;
border: none;
z-index: 1;
}
html[dir="rtl"] #prettyMessageCopyBtn {
left: 8px;
right: auto;
}
#prettyMessageCopyBtn svg {
width: 100%;
height: 100%;
vertical-align: baseline;
}
#copySuccessIcon {
display: none;
}
#sendbutton svg {
transform: translateY(1.5px);
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "مفتاح التبويب يعمل كشخصية (انقر <kbd>Ctrl</kbd>+<kbd>m</kbd> أو <kbd>Esc</kbd> للتبديل)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "السمة"
"Theme": "السمة",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "U tastu di tabulazione ghjova cumè un caratteru (Appughjate nantà <kbd>Ctrl</kbd>+<kbd>m</kbd> o <kbd>Scapp</kbd> per scambià)",
"Show password": "Affissà a parolla dintesa",
"Hide password": "Piattà a parolla dintesa",
"Theme": "Tema"
"Theme": "Tema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulátor funguje jako znak (pro přepnutí stiskněte <kbd>Ctrl</kbd>+<kbd>m</kbd> nebo <kbd>Esc</kbd>)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Vzhled"
"Theme": "Vzhled",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulatortaste als Zeichen interpretieren (Umschalten durch <kbd>Strg</kbd>+<kbd>m</kbd> oder <kbd>Esc</kbd>)",
"Show password": "Passwort anzeigen",
"Hide password": "Passwort verbergen",
"Theme": "Design"
"Theme": "Design",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "La tecla de tabulación funciona como carácter (presione <kbd>Ctrl</kbd>+<kbd>m</kbd> o <kbd>Esc</kbd> para alternar)",
"Show password": "Mostrar contraseña",
"Hide password": "Ocultar contraseña",
"Theme": "Tema"
"Theme": "Tema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Teema"
"Theme": "Teema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "کلید Tab به‌عنوان کاراکتر عمل می‌کند (برای تغییر وضعیت <kbd>Ctrl</kbd>+<kbd>m</kbd> یا <kbd>Esc</kbd> را فشار دهید)",
"Show password": "نمایش رمز عبور",
"Hide password": "مخفی‌کردن رمز عبور",
"Theme": "تم"
"Theme": "تم",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulaattori toimii merkkinä (Paina <kbd>Ctrl</kbd>+<kbd>m</kbd> tai <kbd>Esc</kbd> vaihtaaksesi)",
"Show password": "Näytä salasana",
"Hide password": "Piilota salasana",
"Theme": "Teema"
"Theme": "Teema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "La touche de tabulation sert de caractère (Presser <kbd>Ctrl</kbd>+<kbd>m</kbd> ou <kbd>Esc</kbd> pour basculer)",
"Show password": "Afficher le mot de passe",
"Hide password": "Cacher le mot de passe",
"Theme": "Thème"
"Theme": "Thème",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "משטח ה-tab פועל כמקש תו (לחץ על <kbd>Ctrl</kbd>+<kbd>m</kbd> או <kbd>Esc</kbd> להחלפה)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "נושא"
"Theme": "נושא",
"Copy": "העתק"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "A tabulátor karakternek használható (nyomd le a <kbd>Ctrl</kbd>+<kbd>m</kbd> vagy az <kbd>Esc</kbd> to billentyűket ennek megszüntetéséhez).",
"Show password": "Jelszó megjelenítése",
"Hide password": "Jelszó elrejtése",
"Theme": "Téma"
"Theme": "Téma",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Il tasto Tabulatore serve come carattere (basta <kbd>Ctrl</kbd>+<kbd>m</kbd> o <kbd>Esc</kbd> per attivare/disattivare)",
"Show password": "Mostra password",
"Hide password": "Nascondi password",
"Theme": "Tema"
"Theme": "Tema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "jvinu"
"Theme": "jvinu",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabuliatoriaus klavišas tarnauja kaip simbolis (Paspauskite <kbd>Ctrl</kbd>+<kbd>m</kbd> arba <kbd>Esc</kbd> norėdami perjungti)",
"Show password": "Rodyti slaptažodį",
"Hide password": "Slėpti slaptažodį",
"Theme": "Apipavidalinimas"
"Theme": "Apipavidalinimas",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulatortoets dient als teken (gebruik <kbd>Ctrl</kbd>+<kbd>m</kbd> of <kbd>Esc</kbd> om te schakelen)",
"Show password": "Toon wachtwoord",
"Hide password": "Verberg wachtwoord",
"Theme": "Thema"
"Theme": "Thema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Klawisz Tabulatora służy jako znak (użyj <kbd>Ctrl</kbd>+<kbd>m</kbd> lub <kbd>Esc</kbd>, aby przełączyć tryb)",
"Show password": "Pokaż hasło",
"Hide password": "Ukryj hasło",
"Theme": "Motyw"
"Theme": "Motyw",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Тема"
"Theme": "Тема",
"Copy": "Скопировать"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulatorska tipka služi kot znak (za preklop pritisnite <kbd>Ctrl</kbd>+<kbd>m</kbd> ali <kbd>Esc</kbd>)",
"Show password": "Pokaži geslo",
"Hide password": "Skrij geslo",
"Theme": "Tema"
"Theme": "Tema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabb-tangenten fungerar som tecken (Tryck <kbd>Ctrl</kbd>+<kbd>m</kbd> eller <kbd>Esc</kbd> för att växla)",
"Show password": "Visa lösenord",
"Hide password": "Dölj lösenord",
"Theme": "Tema"
"Theme": "Tema",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "ปุ่ม Tabulator ใช้เป็นอักขระ (กด <kbd>Ctrl</kbd>+<kbd>m</kbd> หรือ <kbd>Esc</kbd> เพื่อสลับ)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "ธีม"
"Theme": "ธีม",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)",
"Show password": "Show password",
"Hide password": "Hide password",
"Theme": "Theme"
"Theme": "Theme",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Клавіша Tab вводить символ табуляції (перемикається клавішами <kbd>Ctrl</kbd>+<kbd>m</kbd> чи <kbd>Esc</kbd>)",
"Show password": "Показати пароль",
"Hide password": "Сховати пароль",
"Theme": "Тема"
"Theme": "Тема",
"Copy": "Copy"
}

View file

@ -231,5 +231,6 @@
"Tabulator key serves as character (Hit <kbd>Ctrl</kbd>+<kbd>m</kbd> or <kbd>Esc</kbd> to toggle)": "Tab 键可作为字符(按 <kbd>Ctrl</kbd>+<kbd>m</kbd> 或 <kbd>Esc</kbd> 切换开关)",
"Show password": "显示密码",
"Hide password": "隐藏密码",
"Theme": "主题"
"Theme": "主题",
"Copy": "Copy"
}

View file

@ -5526,8 +5526,6 @@ jQuery.PrivateBin = (function($) {
let copyButton,
copyLinkButton,
copyIcon,
successIcon,
shortcutHint,
url;
@ -5543,7 +5541,6 @@ jQuery.PrivateBin = (function($) {
const text = PasteViewer.getText();
saveToClipboard(text);
toggleSuccessIcon();
showAlertMessage('Document copied to clipboard');
});
}
@ -5625,23 +5622,6 @@ jQuery.PrivateBin = (function($) {
Alert.showStatus(message);
}
/**
* Toogle success icon after copy
*
* @name CopyToClipboard.toggleSuccessIcon
* @private
* @function
*/
function toggleSuccessIcon() {
$(copyIcon).css('display', 'none');
$(successIcon).css('display', 'block');
setTimeout(function() {
$(copyIcon).css('display', 'block');
$(successIcon).css('display', 'none');
}, 1000);
}
/**
* Show keyboard shortcut hint
*
@ -5649,10 +5629,7 @@ jQuery.PrivateBin = (function($) {
* @function
*/
me.showKeyboardShortcutHint = function () {
I18n._(
shortcutHint,
'To copy document press on the copy button or use the clipboard shortcut <kbd>Ctrl</kbd>+<kbd>c</kbd>/<kbd>Cmd</kbd>+<kbd>c</kbd>'
);
$(shortcutHint).removeClass('hidden');
};
/**
@ -5662,7 +5639,7 @@ jQuery.PrivateBin = (function($) {
* @function
*/
me.hideKeyboardShortcutHint = function () {
$(shortcutHint).html('');
$(shortcutHint).addClass('hidden');
};
/**
@ -5683,11 +5660,9 @@ jQuery.PrivateBin = (function($) {
* @function
*/
me.init = function() {
copyButton = $('#prettyMessageCopyBtn');
copyButton = $('#copyShortcutHintBtn');
copyLinkButton = $('#copyLink');
copyIcon = $('#copyIcon');
successIcon = $('#copySuccessIcon');
shortcutHint = $('#copyShortcutHintText');
shortcutHint = $('#copyShortcutHint');
handleCopyButtonClick();
handleCopyLinkButtonClick();

View file

@ -13,12 +13,15 @@ describe('CopyToClipboard', function() {
common.enableClipboard();
$('body').html(
'<div id="placeholder" class="hidden">+++ no document text ' +
'+++</div><div id="prettymessage" class="hidden">' +
'<button type="button" id="prettyMessageCopyBtn"><svg id="copyIcon"></svg>' +
'<svg id="copySuccessIcon"></svg></button><pre ' +
'id="prettyprint" class="prettyprint linenums:1"></pre>' +
'</div><div id="plaintext" class="hidden"></div>'
'<div id="placeholder"></div>' +
'<div id="attachmentPreview" class="hidden"></div>' +
'<h5 id="copyShortcutHint" class="hidden">' +
'<small id="copyShortcutHintText"></small>' +
'<button type="button" id="copyShortcutHintBtn"></button>' +
'</h5>' +
'<div id="prettymessage" class="hidden">' +
'<pre id="prettyprint"></pre>' +
'</div>'
);
$.PrivateBin.PasteViewer.init();
@ -28,7 +31,7 @@ describe('CopyToClipboard', function() {
$.PrivateBin.CopyToClipboard.init();
$('#prettyMessageCopyBtn').trigger('click');
$('#copyShortcutHintBtn').trigger('click');
const savedToClipboardText = await navigator.clipboard.readText();
@ -50,12 +53,15 @@ describe('CopyToClipboard', function() {
common.enableClipboard();
$('body').html(
'<div id="placeholder">+++ no document text ' +
'+++</div><div id="prettymessage" class="hidden">' +
'<button type="button" id="prettyMessageCopyBtn"><svg id="copyIcon"></svg>' +
'<svg id="copySuccessIcon"></svg></button><pre ' +
'id="prettyprint" class="prettyprint linenums:1"></pre>' +
'</div><div id="plaintext" class="hidden"></div>'
'<div id="placeholder"></div>' +
'<div id="attachmentPreview" class="hidden"></div>' +
'<h5 id="copyShortcutHint" class="hidden">' +
'<small id="copyShortcutHintText"></small>' +
'<button type="button" id="copyShortcutHintBtn"></button>' +
'</h5>' +
'<div id="prettymessage" class="hidden">' +
'<pre id="prettyprint"></pre>' +
'</div>'
);
$.PrivateBin.PasteViewer.init();
@ -100,39 +106,35 @@ describe('CopyToClipboard', function() {
describe('Keyboard shortcut hint', function () {
jsc.property('Show hint',
'nestring',
function (text) {
jsc.property('Show hint', function () {
var clean = jsdom();
$('body').html('<small id="copyShortcutHintText"></small>');
$('body').html('<h5 id="copyShortcutHint" class="hidden"></h5>');
$.PrivateBin.CopyToClipboard.init();
$.PrivateBin.CopyToClipboard.showKeyboardShortcutHint();
const keyboardShortcutHint = $('#copyShortcutHintText').text();
const hasHidden = $('#copyShortcutHint').hasClass('hidden');
clean();
return keyboardShortcutHint.length > 0;
return !hasHidden;
}
);
jsc.property('Hide hint',
'nestring',
function (text) {
jsc.property('Hide hint', function () {
var clean = jsdom();
$('body').html('<small id="copyShortcutHintText">' + text + '</small>');
$('body').html('<h5 id="copyShortcutHint"></h5>');
$.PrivateBin.CopyToClipboard.init();
$.PrivateBin.CopyToClipboard.hideKeyboardShortcutHint();
const keyboardShortcutHint = $('#copyShortcutHintText').text();
const hasHidden = $('#copyShortcutHint').hasClass('hidden');
clean();
return keyboardShortcutHint.length === 0;
return hasHidden;
}
);
});

View file

@ -122,7 +122,7 @@ class Configuration
'js/kjua-0.10.0.js' => 'sha512-BYj4xggowR7QD150VLSTRlzH62YPfhpIM+b/1EUEr7RQpdWAGKulxWnOvjFx1FUlba4m6ihpNYuQab51H6XlYg==',
'js/legacy.js' => 'sha512-RQEo1hxpNc37i+jz/D9/JiAZhG8GFx3+SNxjYnI7jUgirDIqrCSj6QPAAZeaidditcWzsJ3jxfEj5lVm7ZwTRQ==',
'js/prettify.js' => 'sha512-puO0Ogy++IoA2Pb9IjSxV1n4+kQkKXYAEUtVzfZpQepyDPyXk8hokiYDS7ybMogYlyyEIwMLpZqVhCkARQWLMg==',
'js/privatebin.js' => 'sha512-kRRgq+R3dUScoqqjTQo+re+T+FrsaukqMO7qSMen2fq0Rcgz2S0GnR52sqKukbDDKRr/dDba01WWPccduYr+Jg==',
'js/privatebin.js' => 'sha512-sAsV518Wu3dHcu1LmidhCeB4XLcHXB4epTbyOrOSAlqp1pG4Pl1zJucgtyfg5bBxaXj1LMACGYX6CxLgLvZqjg==',
'js/purify-3.4.1.js' => 'sha512-280a/Vb6fVFsYaeRrkuDp4EDmdYlt2XS+dlDEO/U9qljPrAraA2bIzHTNmP+9dpwPDDwTML+RS+h5iaagPwTzA==',
'js/showdown-2.1.0.js' => 'sha512-WYXZgkTR0u/Y9SVIA4nTTOih0kXMEd8RRV6MLFdL6YU8ymhR528NLlYQt1nlJQbYz4EW+ZsS0fx1awhiQJme1Q==',
'js/zlib-1.3.2.js' => 'sha512-RAhJgxg9siMIA8ky4c10Rc2zUgnK80olHB8Tt1IOYWY4Eh1WmrviQkDn+sgBlb38ZHq3tzufGC41kP360gmosQ==',

View file

@ -622,12 +622,17 @@ endif;
<article class="row">
<div id="placeholder" class="col-md-12 hidden"><?php echo I18n::_('+++ no document text +++'); ?></div>
<div id="attachmentPreview" class="col-md-12 text-center hidden"></div>
<h5 id="copyShortcutHint" class="col-md-12"><small id="copyShortcutHintText"></small></h5>
<h5 id="copyShortcutHint" class="media col-md-12 hidden" style="margin-top: 0;">
<div class="media-body media-middle">
<small id="copyShortcutHintText">
<?php echo I18n::_("To copy document press on the copy button or use the clipboard shortcut <kbd>Ctrl</kbd>+<kbd>c</kbd>/<kbd>Cmd</kbd>+<kbd>c</kbd>") ?>
</small>
</div>
<div class="media-right media-middle">
<button type="button" id="copyShortcutHintBtn" class="btn btn-default"><?php echo I18n::_('Copy'); ?></button>
</div>
</h5>
<div id="prettymessage" class="col-md-12 hidden">
<button id="prettyMessageCopyBtn">
<span id="copyIcon" class="glyphicon glyphicon-duplicate" aria-hidden="true"></span>
<span id="copySuccessIcon" class="glyphicon glyphicon-ok text-success" aria-hidden="true"></span>
</button>
<pre id="prettyprint" class="col-md-12 prettyprint linenums:1"></pre>
</div>
<div id="plaintext" class="col-md-12 hidden"></div>

View file

@ -480,12 +480,13 @@ endif;
<article>
<div id="placeholder" class="col-md-12 hidden"><?php echo I18n::_('+++ no document text +++'); ?></div>
<div id="attachmentPreview" class="col-md-12 text-center hidden"></div>
<h6 id="copyShortcutHint" class="col-md-12"><small id="copyShortcutHintText"></small></h6>
<h6 id="copyShortcutHint" class="col-md-12 nav justify-content-between align-items-center mb-2 hidden">
<small id="copyShortcutHintText">
<?php echo I18n::_("To copy document press on the copy button or use the clipboard shortcut <kbd>Ctrl</kbd>+<kbd>c</kbd>/<kbd>Cmd</kbd>+<kbd>c</kbd>") ?>
</small>
<button type="button" id="copyShortcutHintBtn" class="btn btn-secondary"><?php echo I18n::_('Copy'); ?></button>
</h6>
<div id="prettymessage" class="card col-md-12 hidden">
<button type="button" id="prettyMessageCopyBtn" class="text-secondary opacity-05-1-hover">
<svg id="copyIcon" fill="currentColor" aria-hidden="true"><use href="img/bootstrap-icons.svg#copy" /></svg>
<svg id="copySuccessIcon" class="text-success" fill="currentColor" aria-hidden="true"><use href="img/bootstrap-icons.svg#check" /></svg>
</button>
<pre id="prettyprint" class="card-body col-md-12 prettyprint linenums:1"></pre>
</div>
<div id="plaintext" class="col-md-12 hidden"></div>