diff --git a/ckanext/datatablesview/public/datatablesview.js b/ckanext/datatablesview/public/datatablesview.js index a273bf32f15..51a72f3575e 100644 --- a/ckanext/datatablesview/public/datatablesview.js +++ b/ckanext/datatablesview/public/datatablesview.js @@ -1,7 +1,43 @@ +const run_query = function(params, format) { + console.log(format, params); +} + + this.ckan.module('datatables_view', function (jQuery) { return { initialize: function() { - jQuery('#dtprv').DataTable({}); + const datatable = jQuery('#dtprv').DataTable({}); + + // Adds download dropdown to buttons menu + datatable.button().add(2, { + text: 'Download', + extend: 'collection', + buttons: [{ + text: 'CSV', + action: function (e, dt, button, config) { + const params = datatable.ajax.params(); + run_query(params, 'csv'); + } + }, { + text: 'TSV', + action: function (e, dt, button, config) { + const params = datatable.ajax.params(); + run_query(params, 'tsv'); + } + }, { + text: 'JSON', + action: function (e, dt, button, config) { + const params = datatable.ajax.params(); + run_query(params, 'json'); + } + }, { + text: 'XML', + action: function (e, dt, button, config) { + const params = datatable.ajax.params(); + run_query(params, 'xml'); + } + }] + }); } } }); diff --git a/ckanext/datatablesview/public/datatablesview.min.js b/ckanext/datatablesview/public/datatablesview.min.js new file mode 100644 index 00000000000..05251b720fb --- /dev/null +++ b/ckanext/datatablesview/public/datatablesview.min.js @@ -0,0 +1,2 @@ +const run_query=function(params,format){console.log(format,params)} +this.ckan.module('datatables_view',function(jQuery){return{initialize:function(){const datatable=jQuery('#dtprv').DataTable({});datatable.button().add(2,{text:'Download',extend:'collection',buttons:[{text:'CSV',action:function(e,dt,button,config){const params=datatable.ajax.params();run_query(params,'csv')}},{text:'TSV',action:function(e,dt,button,config){const params=datatable.ajax.params();run_query(params,'tsv')}},{text:'JSON',action:function(e,dt,button,config){const params=datatable.ajax.params();run_query(params,'json')}},{text:'XML',action:function(e,dt,button,config){const params=datatable.ajax.params();run_query(params,'xml')}}]})}}}) diff --git a/ckanext/datatablesview/templates/datatables/datatables_view.html b/ckanext/datatablesview/templates/datatables/datatables_view.html index 0d20f3f316f..7beac171448 100644 --- a/ckanext/datatablesview/templates/datatables/datatables_view.html +++ b/ckanext/datatablesview/templates/datatables/datatables_view.html @@ -26,7 +26,7 @@ { "extend": "colvis", "text": "{{ _('Hide/Unhide Columns') }}" - }{{ ', "copy", "excel", "print"' | safe + }{{ ', "copy", "print"' | safe if resource_view.get('export_buttons') else ''}} ]' data-keys='true'>