From 680d66127f7eb596f7ae6b934d3ac37834c6336b Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 9 Nov 2018 17:35:30 +0100 Subject: Pin searches on the search bar (refs #4308) --- ishtar_common/static/js/ishtar.js | 41 ++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'ishtar_common/static/js') diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index b9e9d6844..8d1c2ccc1 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -47,6 +47,7 @@ var debug = false; var datatables_i18n; var current_modal; var default_search_vector; +var pin_search_url; var datatables_default = { "processing": true, @@ -69,6 +70,7 @@ var datatables_static_default = { var activate_all_search_msg = "Searches in the shortcut menu deals with all items."; var activate_own_search_msg = "Searches in the shortcut menu deals with only your items."; var added_message = " items added."; +var search_pinned_msg = ""; var advanced_menu = false; var shortcut_menu_hide = false; @@ -372,6 +374,25 @@ $(document).ready(function(){ $("#id_search_vector").addClass('input-progress'); enable_save(); }); + + $("#pin-search-button").click(function(){ + if (!pin_search_url){ + return; + } + var url = pin_search_url.replace( + 'item', $(this).attr('data-item-type') + ); + var current_search = + $(this).parent().parent().children('input').prop("value"); + + ajax_post( + url, {'value': current_search}, "", + function(){ + display_info(search_pinned_msg); + } + ); + }); + $("#submit-search").click(function(){ $(".search_button").click(); }); @@ -898,22 +919,24 @@ var dt_qa_open = function (url){ return false; }; -var ajax_post = function(url, data, target, callback){ +var ajax_post = function(url, data, target, callback, error_callback){ $.ajax({ url : url, type : "POST", data : data, success : function(data) { close_wait(); - $(target).html(data); + if(target) $(target).html(data); if(callback) callback(); }, error : function(xhr,errmsg,err) { close_wait(); - $(target).html("
Oops! We have encountered an error: " - + errmsg + "
"); + if (target) { + $(target).html("
Oops! We have encountered an error: " + + errmsg + "
"); + } console.log(xhr.status + ": " + xhr.responseText); - if(callback) callback(); + if (error_callback) error_callback(); } }); @@ -923,13 +946,13 @@ var qa_action_register = function(url) { $('#qa-action').on('submit', function(event){ event.preventDefault(); + var fn = function(){ + $('#modal-dynamic-form').modal("show"); + } ; $('#modal-dynamic-form').modal("hide"); short_wait(); ajax_post( - url, $(this).serialize(), "#modal-dynamic-form", - function(){ - $('#modal-dynamic-form').modal("show"); - } + url, $(this).serialize(), "#modal-dynamic-form", fn, fn ); }); }; -- cgit v1.2.3