From 183c1422d978e2b1cbb1d47e0a024dcee57ae3f9 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 27 Oct 2021 11:55:34 +0200 Subject: Syndication - search UI --- ishtar_common/templates/blocks/DataTables.html | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'ishtar_common/templates/blocks/DataTables.html') diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html index f116d9573..135e2a51e 100644 --- a/ishtar_common/templates/blocks/DataTables.html +++ b/ishtar_common/templates/blocks/DataTables.html @@ -25,6 +25,9 @@ +{% if external_sources %} +{% include "blocks/DataTables-external-sources.html" %} +{% endif %} {% if current_model.STATISTIC_MODALITIES or gallery or use_map %} {% include "blocks/DataTables-tabs.html" %} {% else %} @@ -104,6 +107,15 @@ datatable_submit_search = function(not_submited){ datatable_{{sname}}.ajax.url(url); datatable_{{sname}}.draw(); +{% if external_sources %}{% for source_id, source_label in external_sources %} + if (!not_submited){ + url = "{{source}}?submited=1&" + data; + } else { + url = "{{source}}?" + data; + } + datatable_{{sname}}_{{source_id}}.ajax.url(url); + datatable_{{sname}}_{{source_id}}.draw(); +{% endfor %}{% endif %} setTimeout( // wait for modal-progress to be loaded on the page function(){ @@ -219,6 +231,34 @@ jQuery(document).ready(function(){ datatable_{{sname}}.on('deselect', dt_multi_enable_disable_submit_button); {% endif %} +{% if external_sources %}{% for source_id, source_label in external_sources %} + var base_external_source = "{{source}}"; + + if (default_search_vector){ + base_source += "?search_vector=" + default_search_vector + "&submited=1"; + } + + datatable_options = { + "ajax": { + "url": base_external_source, + "dataSrc": function (json) { + if (!default_search_vector) manage_pinned_search("{{name}}", json); + update_submit_args(); + setTimeout( // 50ms is waited on load so... + function(){ + $('.modal-progress').modal('hide'); + }, 500); + return json.rows; + } + }, + "deferLoading": 0 + }; + $.extend(datatable_options, datatables_default); + if (datatables_i18n) datatable_options['language'] = datatables_i18n; + datatable_{{sname}}_{{source_id}} = jQuery("#grid_{{name}}_{{source_id}}").DataTable(datatable_options); + +{% endfor %}{% endif %} + {% if multiple %} jQuery("#add_button_{{name}}").click(function (){ var mygrid = jQuery("#grid_{{name}}"); -- cgit v1.2.3