forked from cds-snc/track-web
/
dataTables.downloads.js
57 lines (43 loc) · 1.25 KB
/
dataTables.downloads.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
* Downloadable CSV links.
*
* @example
* $('#myTable').DataTable( {
* dom: 'Cfrtip',
* csv: '/path/to/data.csv'
* } );
*/
(function(window, document, $, undefined) {
$.fn.dataTable.Download = function ( inst ) {
var api = new $.fn.dataTable.Api( inst );
var settings = api.settings()[0];
var csv = settings.oInit.csv;
var container = $('<div></div>').addClass( 'dataTables_csv' );
var drawnOnce = false;
var language = $( "table" ).attr("language");
if(language == 'en')
var text = "Download as CSV"
else
var text = "Télécharger en tant que fichier CSV"
// API so the feature wrapper can return the node to insert
this.container = function () {
return container[0];
};
api.on('draw', function () {
if (drawnOnce) return;
var elem = "" +
"<a class=\"text-https-blue hover:text-black font-bold\" href=\"" + csv + "\" download>" + text +"</a>";
container.html(elem);
drawnOnce = true;
});
};
// Subscribe the feature plug-in to DataTables, ready for use
$.fn.dataTable.ext.feature.push( {
"fnInit": function( settings ) {
var l = new $.fn.dataTable.Download(settings);
return l.container();
},
"cFeature": "C",
"sFeature": "Downloads"
} );
})(window, document, jQuery);