summaryrefslogtreecommitdiff
path: root/ishtar_common/templates/blocks
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-10-28 23:23:26 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:20:59 +0100
commitdb6f3f2152bfb480915a63ae04e88f2979d23341 (patch)
tree5632d4e651df050c97c33574327e40448cdcd721 /ishtar_common/templates/blocks
parent183c1422d978e2b1cbb1d47e0a024dcee57ae3f9 (diff)
downloadIshtar-db6f3f2152bfb480915a63ae04e88f2979d23341.tar.bz2
Ishtar-db6f3f2152bfb480915a63ae04e88f2979d23341.zip
Syndication - search interface
Diffstat (limited to 'ishtar_common/templates/blocks')
-rw-r--r--ishtar_common/templates/blocks/DataTables-content.html18
-rw-r--r--ishtar_common/templates/blocks/DataTables-external-sources.html25
-rw-r--r--ishtar_common/templates/blocks/DataTables.html51
3 files changed, 69 insertions, 25 deletions
diff --git a/ishtar_common/templates/blocks/DataTables-content.html b/ishtar_common/templates/blocks/DataTables-content.html
index 814e10c18..9de143cd4 100644
--- a/ishtar_common/templates/blocks/DataTables-content.html
+++ b/ishtar_common/templates/blocks/DataTables-content.html
@@ -1,5 +1,5 @@
{% load i18n %}
- <div id="grid_{{name}}_meta_wrapper">
+ <div id="grid_{{name}}_meta_wrapper" class="sources sources-default">
<table id='grid_{{name}}' class="display" width="100%">
<thead>
<tr>
@@ -11,7 +11,7 @@
</table>
</div>
- <div id='foot_{{name}}' class="gridfooter row toolbar">
+ <div id='foot_{{name}}' class="sources sources-default gridfooter row toolbar">
<div class='col col-sm-2'>
<div class="btn-group btn-group-sm" role="group">
<button type='button' class="btn btn-secondary" data-toggle="modal"
@@ -63,3 +63,17 @@
{% endif %}
<input type="hidden" id="hidden_{{name}}" name="{{name}}"/>
+
+ {% for source_id, source_label, source_url in external_sources %}
+ <div id="grid_{{name}}_{{source_id}}_meta_wrapper" class="sources sources-{{source_id}}">
+ <table id='grid_{{name}}_{{source_id}}' class="display" width="100%">
+ <thead>
+ <tr>
+ <th></th>
+ <th></th>{% for col in col_names %}
+ <th>{{col}}</th>
+ {% endfor %}</tr>
+ </thead>
+ </table>
+ </div>
+ {% endfor %}
diff --git a/ishtar_common/templates/blocks/DataTables-external-sources.html b/ishtar_common/templates/blocks/DataTables-external-sources.html
index ce4d67ada..00cc7cf2c 100644
--- a/ishtar_common/templates/blocks/DataTables-external-sources.html
+++ b/ishtar_common/templates/blocks/DataTables-external-sources.html
@@ -1,14 +1,19 @@
{% load i18n %}
<div class="d-flex justify-content-center">
-<div class="btn-group btn-group-toggle" data-toggle="buttons">
- <label class="btn btn-secondary active">
- <input type="radio" name="_sources" id="default" autocomplete="off" checked> {% trans "Local" %}
- </label>
- {% for source_id, source_label in external_sources %}
- <label class="btn btn-secondary">
- <input type="radio" name="_sources" id="{{source_id}}" autocomplete="off"> {{source_label}}
- </label>
- {% endfor %}
-</div>
+ <div class="btn-group btn-group-toggle" data-toggle="buttons">
+ <label id="source_button_default" class="btn btn-secondary active">
+ <input type="radio" name="_sources" autocomplete="off" checked>
+ {% trans "Local" %}&nbsp;&nbsp;<span class="badge badge-light" id="source_badge_default">-</span>
+ </label>
+ {% for source_id, source_label, source_url in external_sources %}
+ <label id="source_button_{{source_id}}" class="btn btn-secondary">
+ <input type="radio" name="_sources" autocomplete="off">
+ {{source_label}}&nbsp;&nbsp;<span class="badge badge-light" id="source_badge_{{source_id}}">-</span>
+ </label>
+ {% endfor %}
+ </div>
</div>
+
+<script>
+</script> \ No newline at end of file
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 %}