diff options
Diffstat (limited to 'ishtar_common/templates/blocks/DataTables.html')
-rw-r--r-- | ishtar_common/templates/blocks/DataTables.html | 51 |
1 files changed, 38 insertions, 13 deletions
diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html index 135e2a51e..91e55579e 100644 --- a/ishtar_common/templates/blocks/DataTables.html +++ b/ishtar_common/templates/blocks/DataTables.html @@ -107,11 +107,11 @@ 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 external_sources %}{% for source_id, source_label, source_url in external_sources %} if (!not_submited){ - url = "{{source}}?submited=1&" + data; + url = "{{source_url}}?submited=1&" + data; } else { - url = "{{source}}?" + data; + url = "{{source_url}}?" + data; } datatable_{{sname}}_{{source_id}}.ajax.url(url); datatable_{{sname}}_{{source_id}}.draw(); @@ -149,6 +149,24 @@ jQuery(document).ready(function(){ main_submit_search ); + {% if external_sources %} + $("#source_button_default").click( + function(){ + $(".sources").hide(); + $(".sources-default").show(); + } + ); + {% for source_id, source_label, source_url in external_sources %} + $("#source_button_{{source_id}}").click( + function(){ + $(".sources").hide(); + $(".sources-{{source_id}}").show(); + } + ); + {% endfor %} + $("#source_button_default").click(); + {% endif %} + var base_source = "{{source}}"; if (default_search_vector){ @@ -165,6 +183,7 @@ jQuery(document).ready(function(){ function(){ $('.modal-progress').modal('hide'); }, 50); + dt_update_badge("default", json.recordsTotal); return json.rows; } }, @@ -231,31 +250,37 @@ 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 external_sources %}{% for source_id, source_label, source_url in external_sources %} + var base_external_source = "{{source_url}}"; if (default_search_vector){ - base_source += "?search_vector=" + default_search_vector + "&submited=1"; + base_external_source += "?search_vector=" + default_search_vector + "&submited=1"; } - datatable_options = { + datatable_options_{{source_id}} = { "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); + dt_update_badge("{{source_id}}", json.recordsTotal); return json.rows; } }, - "deferLoading": 0 + "deferLoading": 0, + "dom": 'litp', + "columns": [ + { "data": "id", "visible": false }, + { "data": "link", "orderable": false },{% for col in extra_cols %} + { "data": "{{col}}", "defaultContent": "-", + "render": $.fn.dataTable.render.ellipsis( 70, true ) }{% if not forloop.last %},{% endif %}{% endfor %} + ] }; - $.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); + $.extend(datatable_options_{{source_id}}, datatables_default); + if (datatables_i18n) datatable_options_{{source_id}}['language'] = datatables_i18n; + datatable_{{sname}}_{{source_id}} = jQuery("#grid_{{name}}_{{source_id}}").DataTable(datatable_options_{{source_id}}); {% endfor %}{% endif %} |