112 lines
2.9 KiB
JavaScript
112 lines
2.9 KiB
JavaScript
(function ($, DataTable) {
|
|
"use strict";
|
|
|
|
var _buildUrl = function(dt, action) {
|
|
var url = dt.ajax.url() || '';
|
|
var params = dt.ajax.params();
|
|
params.action = action;
|
|
|
|
return url + '?' + $.param(params);
|
|
};
|
|
|
|
DataTable.ext.buttons.excel = {
|
|
className: 'buttons-excel',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-file-excel-o"></i> ' + dt.i18n('buttons.excel', 'Excel');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
var url = _buildUrl(dt, 'excel');
|
|
window.location = url;
|
|
}
|
|
};
|
|
|
|
DataTable.ext.buttons.export = {
|
|
extend: 'collection',
|
|
|
|
className: 'buttons-export',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-download"></i> ' + dt.i18n('buttons.export', 'Export') + ' <span class="caret"/>';
|
|
},
|
|
|
|
buttons: ['csv', 'excel', 'pdf']
|
|
};
|
|
|
|
DataTable.ext.buttons.csv = {
|
|
className: 'buttons-csv',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-file-excel-o"></i> ' + dt.i18n('buttons.csv', 'CSV');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
var url = _buildUrl(dt, 'csv');
|
|
window.location = url;
|
|
}
|
|
};
|
|
|
|
DataTable.ext.buttons.pdf = {
|
|
className: 'buttons-pdf',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-file-pdf-o"></i> ' + dt.i18n('buttons.pdf', 'PDF');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
var url = _buildUrl(dt, 'pdf');
|
|
window.location = url;
|
|
}
|
|
};
|
|
|
|
DataTable.ext.buttons.print = {
|
|
className: 'buttons-print',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-print"></i> ' + dt.i18n('buttons.print', 'Print');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
var url = _buildUrl(dt, 'print');
|
|
window.location = url;
|
|
}
|
|
};
|
|
|
|
DataTable.ext.buttons.reset = {
|
|
className: 'buttons-reset',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-undo"></i> ' + dt.i18n('buttons.reset', 'Reset');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
dt.search('').draw();
|
|
}
|
|
};
|
|
|
|
DataTable.ext.buttons.reload = {
|
|
className: 'buttons-reload',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-refresh"></i> ' + dt.i18n('buttons.reload', 'Reload');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
dt.draw(false);
|
|
}
|
|
};
|
|
|
|
DataTable.ext.buttons.create = {
|
|
className: 'buttons-create',
|
|
|
|
text: function (dt) {
|
|
return '<i class="fa fa-plus"></i> ' + dt.i18n('buttons.create', 'Create');
|
|
},
|
|
|
|
action: function (e, dt, button, config) {
|
|
window.location = window.location.href.replace(/\/+$/, "") + '/create';
|
|
}
|
|
};
|
|
})(jQuery, jQuery.fn.dataTable);
|