From e3057ac54bb4c995d2a3659d385f04abcc47153c Mon Sep 17 00:00:00 2001 From: Johannes Koschier Date: Tue, 7 Nov 2023 19:00:09 +0000 Subject: [PATCH] 6542_copy_to_clipboard_with_css_class --- .../web/mail/templates/mail_forward_list.htm | 2 +- .../web/mail/templates/mail_user_list.htm | 2 +- .../default/assets/javascripts/ispconfig.js | 27 +++++++++++++++++++ .../default/assets/stylesheets/ispconfig.css | 17 ++++++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) diff --git a/interface/web/mail/templates/mail_forward_list.htm b/interface/web/mail/templates/mail_forward_list.htm index c4d7e1f60a..6afcf52dfb 100644 --- a/interface/web/mail/templates/mail_forward_list.htm +++ b/interface/web/mail/templates/mail_forward_list.htm @@ -50,7 +50,7 @@ {tmpl_var name="active"} - {tmpl_var name="source"} + {tmpl_var name="source"} {tmpl_var name="destination"} diff --git a/interface/web/mail/templates/mail_user_list.htm b/interface/web/mail/templates/mail_user_list.htm index 12659260ac..ca14cf9fa3 100644 --- a/interface/web/mail/templates/mail_user_list.htm +++ b/interface/web/mail/templates/mail_user_list.htm @@ -61,7 +61,7 @@ - {tmpl_var name="email"} + {tmpl_var name="email"} {tmpl_var name="login"} {tmpl_var name="name"} {tmpl_var name="autoresponder"} diff --git a/interface/web/themes/default/assets/javascripts/ispconfig.js b/interface/web/themes/default/assets/javascripts/ispconfig.js index d909f38183..8df11a0c0c 100644 --- a/interface/web/themes/default/assets/javascripts/ispconfig.js +++ b/interface/web/themes/default/assets/javascripts/ispconfig.js @@ -813,4 +813,31 @@ $(document).ready(function() { } return iCaretPos; }; + + //copy to clipboard + $(document).on('click', '.copy-to-clipboard', function() { + var $copyElement = $(this).children(); + var temp = $(""); + $("body").append(temp); + temp.val($copyElement.text()).select(); + //execCommand is Deprecated - but there is no alternative (2023) + document.execCommand("copy"); + temp.remove(); + } ); + + //display copy-to-clipboard icon + let lastCopyToClipboardIcon; + $(document).on("mouseenter", '.copy-to-clipboard', function() { + $(lastCopyToClipboardIcon).removeClass("copy-to-clipboard-icon"); //Clean up old icons - sometimes mouse is too fast to trigger mouseleave + $(this).addClass("copy-to-clipboard-icon"); + lastCopyToClipboardIcon = $(this); + //console.log("Mouseenter e-tooltip"); + }); + + //hide copy-to-clipboard icon + $(document).on("mouseleave", '.copy-to-clipboard', function() { + $(this).removeClass("copy-to-clipboard-icon"); + //console.log("Mouseleave e-tooltip"); + }); + }); diff --git a/interface/web/themes/default/assets/stylesheets/ispconfig.css b/interface/web/themes/default/assets/stylesheets/ispconfig.css index 32d063936c..b27fe51093 100644 --- a/interface/web/themes/default/assets/stylesheets/ispconfig.css +++ b/interface/web/themes/default/assets/stylesheets/ispconfig.css @@ -838,3 +838,20 @@ max-width: 1260px; } #apache_directives, #nginx_directives, #proxy_directives { font-family: Consolas, "Courier New", Courier, monospace; } + .copy-to-clipboard-icon::after { + content: "\f0ea"; + font-family: FontAwesome; + font-size:0.6em; + color:#6396b5; + vertical-align:top; + float:right; + cursor: copy; + position: absolute; + margin-left: 5px; + } + .copy-to-clipboard-icon-helper { + display: inline-block; + max-width: 90%; + text-overflow: ellipsis ; + overflow-x: hidden; + } \ No newline at end of file -- GitLab