add a "copy" button to the "search-url" sidebar

This commit is contained in:
Jinyuan Huang 2023-09-27 14:19:35 +00:00
parent 96ccec1aa6
commit 8adc7b0433
3 changed files with 18 additions and 0 deletions

View file

@ -16,6 +16,8 @@
}
));
d.querySelector('#search_url button#copy_url').style.display = "block";
searxng.on('.btn-collapse', 'click', function () {
var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed');
var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed');
@ -41,6 +43,12 @@
}
});
searxng.on('#copy_url', 'click', function () {
var target = this.parentElement.querySelector('pre');
navigator.clipboard.writeText(target.innerText);
this.innerText = this.dataset.copiedText;
});
searxng.selectImage = function (resultElement) {
/* eslint no-unused-vars: 0 */
if (resultElement) {

View file

@ -729,9 +729,18 @@ summary.title {
#search_url {
div.selectable_url {
pre {
float: left;
width: 200em;
}
}
button#copy_url {
float: right;
padding: 0.4rem;
margin-left: 0.5rem;
border-radius: 0.3rem;
display: none; // will be shown by JS.
}
}
#links_on_top {

View file

@ -1,6 +1,7 @@
<div id="search_url" role="complementary" aria-labelledby="search_url-title">
<details class="sidebar-collapsable">
<summary class="title" id="search_url-title">{{ _('Search URL') }}</summary>
<button id="copy_url" type="submit" data-copied-text="{{ _('Copied') }}">{{ _('Copy') }}</button>
<div class="selectable_url">
<pre>{{ url_for('search', _external=True) }}?q={{ q|urlencode }}&amp;language={{ current_language }}&amp;time_range={{ time_range }}&amp;safesearch={{ safesearch }}
{%- if pageno > 1 -%}