--- a/src/pyams_skin/resources/js/myams-dataTables.js Wed Mar 04 14:09:12 2015 +0100
+++ b/src/pyams_skin/resources/js/myams-dataTables.js Wed Mar 11 12:16:52 2015 +0100
@@ -218,6 +218,83 @@
} );
+ /**
+ * Bootstrap style pagination control with only previous/next buttons
+ */
+ $.extend($.fn.dataTableExt.oPagination, {
+ "bootstrap_prevnext": {
+ "fnInit": function(oSettings, nPaging, fnDraw) {
+ var oLang = oSettings.oLanguage.oPaginate;
+ var fnClickHandler = function (e) {
+ e.preventDefault();
+ if (oSettings.oApi._fnPageChange(oSettings, e.data.action))
+ fnDraw(oSettings);
+ };
+
+ $(nPaging).append(
+ '<ul class="pagination">' +
+ '<li class="first disabled"><a href="#"><i class="fa fa-fw fa-fast-backward"></i></a></li>' +
+ '<li class="prev disabled"><a href="#"><i class="fa fa-fw fa-step-backward"></i></a></li>' +
+ '<li class="next disabled"><a href="#"><i class="fa fa-fw fa-step-forward"></i></a></li>' +
+ '<li class="last disabled"><a href="#"><i class="fa fa-fw fa-fast-forward"></i></a></li>' +
+ '</ul>'
+ );
+ var els = $('a', nPaging);
+ $(els[0]).on('click.DT', { action: "first" }, fnClickHandler);
+ $(els[1]).on('click.DT', { action: "previous" }, fnClickHandler);
+ $(els[2]).on('click.DT', { action: "next" }, fnClickHandler);
+ $(els[3]).on('click.DT', { action: "last" }, fnClickHandler);
+ },
+
+ "fnUpdate": function (oSettings, fnDraw) {
+ var iListLength = 5;
+ var oPaging = oSettings.oInstance.fnPagingInfo();
+ var an = oSettings.aanFeatures.p;
+ var i,
+ j,
+ sClass,
+ iStart,
+ iEnd,
+ iLen,
+ iHalf=Math.floor(iListLength/2);
+
+ if (oPaging.iTotalPages < iListLength) {
+ iStart = 1;
+ iEnd = oPaging.iTotalPages;
+ } else if (oPaging.iPage <= iHalf) {
+ iStart = 1;
+ iEnd = iListLength;
+ } else if (oPaging.iPage >= (oPaging.iTotalPages-iHalf)) {
+ iStart = oPaging.iTotalPages - iListLength + 1;
+ iEnd = oPaging.iTotalPages;
+ } else {
+ iStart = oPaging.iPage - iHalf + 1;
+ iEnd = iStart + iListLength - 1;
+ }
+
+ for (i=0, iLen=an.length ; i<iLen ; i++) {
+ // Add / remove disabled classes from the static elements
+ if (oPaging.iPage === 0) {
+ $('li.first', an[i]).addClass('disabled');
+ $('li.prev', an[i]).addClass('disabled');
+ } else {
+ $('li.prev', an[i]).removeClass('disabled');
+ $('li.first', an[i]).removeClass('disabled');
+ }
+
+ if (oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0) {
+ $('li.last', an[i]).addClass('disabled');
+ $('li.next', an[i]).addClass('disabled');
+ } else {
+ $('li.next', an[i]).removeClass('disabled');
+ $('li.last', an[i]).removeClass('disabled');
+ }
+ }
+ }
+ }
+ });
+
+
/*
* TableTools Bootstrap compatibility
* Required TableTools 2.1+