diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-03-12 15:44:22 +0100 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2026-03-12 15:44:22 +0100 |
| commit | 68ece1d51e37b3c18473a56eb4a7a5572ddb09f7 (patch) | |
| tree | 2681d25ea00455f85319cd49e2dc1823dc4afc96 | |
| parent | 92bc84646822e3a38fb6926f234026fab2b7a759 (diff) | |
| download | Ishtar-68ece1d51e37b3c18473a56eb4a7a5572ddb09f7.tar.bz2 Ishtar-68ece1d51e37b3c18473a56eb4a7a5572ddb09f7.zip | |
✨ search: button to share a search
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 11 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/settings.js | 1 | ||||
| -rw-r--r-- | ishtar_common/templates/widgets/search_input.html | 4 |
3 files changed, 16 insertions, 0 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index c5ef0aea9..e7be6690b 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -138,6 +138,7 @@ var form_changed_msg = "The form has changed. If you don't validate it, all your var permission_denied_msg = "Permission denied."; var page_not_found_msg = "Page not found."; var server_error_msg = "Server error."; +var copy_to_clipboard = "Link for this search copied to clipboard"; var advanced_menu = false; var shortcut_menu_hide = false; @@ -845,10 +846,12 @@ var enable_save = function(){ if ($(".search-widget input").val()){ $("#save-search-button").removeClass('disabled'); $("#clear-search-button").removeClass('disabled'); + $("#generate-share-link").removeClass('disabled'); $("#generate-qrcode").removeClass('disabled'); } else { $("#save-search-button").addClass('disabled'); $("#clear-search-button").addClass('disabled'); + $("#generate-share-link").addClass('disabled'); $("#generate-qrcode").addClass('disabled'); } } @@ -1064,6 +1067,14 @@ function register_advanced_search(){ update_search_field(); $("#search-input-filter").focus(); }); + $("#generate-share-link").click(function(){ + let url = window.location.href; + url += "?stored_search="; + url += encodeURI($("#id_search_vector").val()); + navigator.clipboard.writeText(url); + display_info(copy_to_clipboard); + return false; + }); // generic shortcuts document.addEventListener('keydown', function(event) { if (event.altKey) { diff --git a/ishtar_common/templates/ishtar/settings.js b/ishtar_common/templates/ishtar/settings.js index 592d8e313..137dc549f 100644 --- a/ishtar_common/templates/ishtar/settings.js +++ b/ishtar_common/templates/ishtar/settings.js @@ -47,4 +47,5 @@ var form_changed_msg = "{% trans "The form has changed. If you don't validate it var permission_denied_msg = "{% trans 'Permission denied.' %}"; var page_not_found_msg = "{% trans 'Page not found.' %}"; var server_error_msg = "{% trans 'Server error.' %}"; +var copy_to_clipboard = "{% trans 'Link for this search copied to clipboard' %}"; {% endlocalize %} diff --git a/ishtar_common/templates/widgets/search_input.html b/ishtar_common/templates/widgets/search_input.html index 6ae8d5d82..55abc4d07 100644 --- a/ishtar_common/templates/widgets/search_input.html +++ b/ishtar_common/templates/widgets/search_input.html @@ -46,6 +46,10 @@ aria-expanded="false" aria-controls="{{field.auto_id}}_help"> <i class="fa fa-question-circle" aria-hidden="true"></i> </a> + <a class="input-group-text input-link async-link disabled" + id="generate-share-link" title="{% trans 'Share link' %}" href="#"> + <i class="fa fa-share-alt" aria-hidden="true"></i> + </a> {% comment %} <a class="input-group-text input-link async-link disabled" id="generate-qrcode" |
