--- a/src/pyams_skin/resources/js/myams-dataTables.js Wed Oct 07 18:03:25 2015 +0200
+++ b/src/pyams_skin/resources/js/myams-dataTables.js Wed Oct 07 18:04:03 2015 +0200
@@ -45,6 +45,89 @@
/**
+ * Custom sorting plug-in
+ */
+ $.fn.dataTableExt.aTypes.unshift(
+ function(sData) {
+ if (sData !== null && sData.match(/^(0[1-9]|[1-2][0-9]|3[0-1])\/(0[1-9]|1[0-2])\/[0-3][0-9]{3}$/)) {
+ return 'date-euro';
+ }
+ return null;
+ }
+ );
+
+ $.fn.dataTableExt.aTypes.unshift(
+ function(sData) {
+ if (sData !== null && sData.match(/^(0[1-9]|[1-2][0-9]|3[0-1])\/(0[1-9]|1[0-2])\/[0-3][0-9]{3} - ([0-1][0-9]|2[0-3]):[0-5][0-9]$/)) {
+ return 'datetime-euro';
+ }
+ return null;
+ }
+ );
+
+ $.extend($.fn.dataTableExt.oSort, {
+
+ // numeric-comma column sorter
+ "numeric-comma-asc": function(a, b) {
+ var x = a.replace(/,/, ".").replace(/ /g, '');
+ var y = b.replace(/,/, ".").replace(/ /g, '');
+ x = parseFloat(x);
+ y = parseFloat(y);
+ return ((x < y) ? -1 : ((x > y) ? 1 : 0));
+ },
+ "numeric-comma-desc": function(a, b) {
+ var x = a.replace(/,/, ".").replace(/ /g, '');
+ var y = b.replace(/,/, ".").replace(/ /g, '');
+ x = parseFloat(x);
+ y = parseFloat(y);
+ return ((x < y) ? 1 : ((x > y) ? -1 : 0));
+ },
+
+ // date-euro column sorter
+ "date-euro-pre": function(a) {
+ var trimmed = $.trim(a);
+ if (trimmed != '') {
+ var frDate= trimmed.split('/');
+ var x = (frDate[2] + frDate[1] + frDate[0]) * 1;
+ } else {
+ x = 10000000; // = l'an 1000 ...
+ }
+ return x;
+ },
+
+ "date-euro-asc": function(a, b) {
+ return a - b;
+ },
+
+ "date-euro-desc": function(a, b) {
+ return b - a;
+ },
+
+ // datetime-euro column sorter
+ "datetime-euro-pre": function(a) {
+ var trimmed = $.trim(a);
+ if (trimmed != '') {
+ var frDateTime = trimmed.split(' - ');
+ var frDate= frDateTime[0].split('/');
+ var frTime = frDateTime[1].split(':');
+ var x = (frDate[2] + frDate[1] + frDate[0] + frTime[0] + frTime[1]) * 1;
+ } else {
+ x = 100000000000; // = l'an 1000 ...
+ }
+ return x;
+ },
+
+ "datetime-euro-asc": function(a, b) {
+ return a - b;
+ },
+
+ "datetime-euro-desc": function(a, b) {
+ return b - a;
+ }
+ });
+
+
+ /**
* Bootstrap style pagination control
*/
$.extend($.fn.dataTableExt.oPagination, {