| 2 |
lars |
1 |
/**
|
|
|
2 |
* This sorting plug-in for DataTables will correctly sort data in date time or date
|
|
|
3 |
* format typically used in Germany:
|
|
|
4 |
* date and time:`dd.mm.YYYY HH:mm`
|
|
|
5 |
* just date:`dd.mm.YYYY`.
|
|
|
6 |
*
|
|
|
7 |
* Please note that this plug-in is **deprecated*. The
|
|
|
8 |
* [datetime](//datatables.net/blog/2014-12-18) plug-in provides enhanced
|
|
|
9 |
* functionality and flexibility.
|
|
|
10 |
*
|
|
|
11 |
* @name Date (dd.mm.YYYY) or date and time (dd.mm.YYYY HH:mm)
|
|
|
12 |
* @summary Sort date / time in the format `dd.mm.YYYY HH:mm` or `dd.mm.YYYY`.
|
|
|
13 |
* @author [Ronny Vedrilla](http://www.ambient-innovation.com)
|
|
|
14 |
* @deprecated
|
|
|
15 |
*
|
|
|
16 |
* @example
|
|
|
17 |
* $('#example').dataTable( {
|
|
|
18 |
* columnDefs: [
|
|
|
19 |
* { type: 'de_datetime', targets: 0 },
|
|
|
20 |
* { type: 'de_date', targets: 1 }
|
|
|
21 |
* ]
|
|
|
22 |
* } );
|
|
|
23 |
*/
|
|
|
24 |
|
|
|
25 |
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
|
|
|
26 |
"de_datetime-asc": function ( a, b ) {
|
|
|
27 |
var x, y;
|
|
|
28 |
if (jQuery.trim(a) !== '') {
|
|
|
29 |
var deDatea = jQuery.trim(a).split(' ');
|
|
|
30 |
var deTimea = deDatea[1].split(':');
|
|
|
31 |
var deDatea2 = deDatea[0].split('.');
|
|
|
32 |
x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1;
|
|
|
33 |
} else {
|
|
|
34 |
x = Infinity; // = l'an 1000 ...
|
|
|
35 |
}
|
|
|
36 |
|
|
|
37 |
if (jQuery.trim(b) !== '') {
|
|
|
38 |
var deDateb = jQuery.trim(b).split(' ');
|
|
|
39 |
var deTimeb = deDateb[1].split(':');
|
|
|
40 |
deDateb = deDateb[0].split('.');
|
|
|
41 |
y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1;
|
|
|
42 |
} else {
|
|
|
43 |
y = Infinity;
|
|
|
44 |
}
|
|
|
45 |
var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
|
|
46 |
return z;
|
|
|
47 |
},
|
|
|
48 |
|
|
|
49 |
"de_datetime-desc": function ( a, b ) {
|
|
|
50 |
var x, y;
|
|
|
51 |
if (jQuery.trim(a) !== '') {
|
|
|
52 |
var deDatea = jQuery.trim(a).split(' ');
|
|
|
53 |
var deTimea = deDatea[1].split(':');
|
|
|
54 |
var deDatea2 = deDatea[0].split('.');
|
|
|
55 |
x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1;
|
|
|
56 |
} else {
|
|
|
57 |
x = Infinity;
|
|
|
58 |
}
|
|
|
59 |
|
|
|
60 |
if (jQuery.trim(b) !== '') {
|
|
|
61 |
var deDateb = jQuery.trim(b).split(' ');
|
|
|
62 |
var deTimeb = deDateb[1].split(':');
|
|
|
63 |
deDateb = deDateb[0].split('.');
|
|
|
64 |
y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1;
|
|
|
65 |
} else {
|
|
|
66 |
y = Infinity;
|
|
|
67 |
}
|
|
|
68 |
var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));
|
|
|
69 |
return z;
|
|
|
70 |
},
|
|
|
71 |
|
|
|
72 |
"de_date-asc": function ( a, b ) {
|
|
|
73 |
var x, y;
|
|
|
74 |
if (jQuery.trim(a) !== '') {
|
|
|
75 |
var deDatea = jQuery.trim(a).split('.');
|
|
|
76 |
x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
|
|
|
77 |
} else {
|
|
|
78 |
x = Infinity; // = l'an 1000 ...
|
|
|
79 |
}
|
|
|
80 |
|
|
|
81 |
if (jQuery.trim(b) !== '') {
|
|
|
82 |
var deDateb = jQuery.trim(b).split('.');
|
|
|
83 |
y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;
|
|
|
84 |
} else {
|
|
|
85 |
y = Infinity;
|
|
|
86 |
}
|
|
|
87 |
var z = ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
|
|
88 |
return z;
|
|
|
89 |
},
|
|
|
90 |
|
|
|
91 |
"de_date-desc": function ( a, b ) {
|
|
|
92 |
var x, y;
|
|
|
93 |
if (jQuery.trim(a) !== '') {
|
|
|
94 |
var deDatea = jQuery.trim(a).split('.');
|
|
|
95 |
x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1;
|
|
|
96 |
} else {
|
|
|
97 |
x = Infinity;
|
|
|
98 |
}
|
|
|
99 |
|
|
|
100 |
if (jQuery.trim(b) !== '') {
|
|
|
101 |
var deDateb = jQuery.trim(b).split('.');
|
|
|
102 |
y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1;
|
|
|
103 |
} else {
|
|
|
104 |
y = Infinity;
|
|
|
105 |
}
|
|
|
106 |
var z = ((x < y) ? 1 : ((x > y) ? -1 : 0));
|
|
|
107 |
return z;
|
|
|
108 |
}
|
|
|
109 |
} );
|
|
|
110 |
|