You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Plugins/sorting/date-eu.js

61 lines
1.3 KiB
JavaScript

/**
* Similar to the Date (dd/mm/YY) data sorting plug-in, this plug-in offers
* additional flexibility with support for spaces between the values and
* either . or / notation for the separators.
*
* @name Date (dd . mm[ . YYYY])
* @summary Sort dates in the format `dd/mm/YY[YY]` (with optional spaces)
* @author [Robert Sedovšek](http://galjot.si/)
*
* @example
* $('#example').dataTable( {
* columnDefs: [
* { type: 'date-eu', targets: 0 }
* ]
* } );
*/
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-eu-pre": function ( date ) {
date = date.replace(" ", "");
var eu_date, year;
if (date.indexOf('.') > 0) {
/*date a, format dd.mn.(yyyy) ; (year is optional)*/
eu_date = date.split('.');
} else {
/*date a, format dd/mn/(yyyy) ; (year is optional)*/
eu_date = date.split('/');
}
/*year (optional)*/
if (eu_date[2]) {
year = eu_date[2];
} else {
year = 0;
}
/*month*/
var month = eu_date[1];
if (month.length == 1) {
month = 0+month;
}
/*day*/
var day = eu_date[0];
if (day.length == 1) {
day = 0+day;
}
return (year + month + day) * 1;
},
"date-eu-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-eu-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );