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 if(typeof deTimea[2] != 'undefined') { 33 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1] + deTimea[2]) * 1; 34 } else { 35 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1; 36 } 37 } else { 38 x = -Infinity; // = l'an 1000 ... 39 } 40 41 if (jQuery.trim(b) !== '') { 42 var deDateb = jQuery.trim(b).split(' '); 43 var deTimeb = deDateb[1].split(':'); 44 deDateb = deDateb[0].split('.'); 45 if(typeof deTimeb[2] != 'undefined') { 46 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1] + deTimeb[2]) * 1; 47 } else { 48 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1; 49 } 50 } else { 51 y = -Infinity; 52 } 53 var z = ((x < y) ? -1 : ((x > y) ? 1 : 0)); 54 return z; 55 }, 56 57 "de_datetime-desc": function ( a, b ) { 58 var x, y; 59 if (jQuery.trim(a) !== '') { 60 var deDatea = jQuery.trim(a).split(' '); 61 var deTimea = deDatea[1].split(':'); 62 var deDatea2 = deDatea[0].split('.'); 63 if(typeof deTimea[2] != 'undefined') { 64 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1] + deTimea[2]) * 1; 65 } else { 66 x = (deDatea2[2] + deDatea2[1] + deDatea2[0] + deTimea[0] + deTimea[1]) * 1; 67 } 68 } else { 69 x = Infinity; 70 } 71 72 if (jQuery.trim(b) !== '') { 73 var deDateb = jQuery.trim(b).split(' '); 74 var deTimeb = deDateb[1].split(':'); 75 deDateb = deDateb[0].split('.'); 76 if(typeof deTimeb[2] != 'undefined') { 77 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1] + deTimeb[2]) * 1; 78 } else { 79 y = (deDateb[2] + deDateb[1] + deDateb[0] + deTimeb[0] + deTimeb[1]) * 1; 80 } 81 } else { 82 y = -Infinity; 83 } 84 var z = ((x < y) ? 1 : ((x > y) ? -1 : 0)); 85 return z; 86 }, 87 88 "de_date-asc": function ( a, b ) { 89 var x, y; 90 if (jQuery.trim(a) !== '') { 91 var deDatea = jQuery.trim(a).split('.'); 92 x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1; 93 } else { 94 x = Infinity; // = l'an 1000 ... 95 } 96 97 if (jQuery.trim(b) !== '') { 98 var deDateb = jQuery.trim(b).split('.'); 99 y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1; 100 } else { 101 y = -Infinity; 102 } 103 var z = ((x < y) ? -1 : ((x > y) ? 1 : 0)); 104 return z; 105 }, 106 107 "de_date-desc": function ( a, b ) { 108 var x, y; 109 if (jQuery.trim(a) !== '') { 110 var deDatea = jQuery.trim(a).split('.'); 111 x = (deDatea[2] + deDatea[1] + deDatea[0]) * 1; 112 } else { 113 x = -Infinity; 114 } 115 116 if (jQuery.trim(b) !== '') { 117 var deDateb = jQuery.trim(b).split('.'); 118 y = (deDateb[2] + deDateb[1] + deDateb[0]) * 1; 119 } else { 120 y = Infinity; 121 } 122 var z = ((x < y) ? 1 : ((x > y) ? -1 : 0)); 123 return z; 124 } 125} );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.