src/main/webapp/jquery/js/dataTables.dateFormat.js
changeset 77 8f0eddd7aa85
child 105 66aeb6b3a3a7
equal deleted inserted replaced
76:2ba4569f2bd6 77:8f0eddd7aa85
       
     1 /**
       
     2  * https://github.com/sedovsek/DataTables-EU-date-Plug-In
       
     3  * commit 4069413
       
     4  *
       
     5  * Copyright 2011 https://github.com/sedovsek
       
     6  *
       
     7  * DataTables-EU-date-Plug-In is a plug-in for sorting EU Date (european date
       
     8  * format), (d)d.mm(.yyyy) or (d)d/mm(/yyyy)
       
     9  * 
       
    10  * Example:
       
    11  * <script type="text/javascript" src="jquery.dataTables.js"></script>
       
    12  * <script type="text/javascript" src="dataTables.dateFormat.js"></script>
       
    13  * <script type="text/javascript">
       
    14  * 	$(document).ready(function() {
       
    15  * 		$('#example').dataTable( {
       
    16  * 			"aoColumns": [
       
    17  * 				null,
       
    18  * 				null,
       
    19  * 				null,
       
    20  * 				{ "sType": "eu_date" },
       
    21  * 				null
       
    22  * 			]
       
    23  * 		} );
       
    24  * 	} );
       
    25  * </script>
       
    26  * 
       
    27  */
       
    28 
       
    29 function calculate_date(date) {
       
    30 	var date = date.replace(" ", "");
       
    31 	
       
    32 	if (date.indexOf('.') > 0) {
       
    33 		/*date a, format dd.mn.(yyyy) ; (year is optional)*/
       
    34 		var eu_date = date.split('.');
       
    35 	} else {
       
    36 		/*date a, format dd/mn/(yyyy) ; (year is optional)*/
       
    37 		var eu_date = date.split('/');
       
    38 	}
       
    39 	
       
    40 	/*year (optional)*/
       
    41 	if (eu_date[2]) {
       
    42 		var year = eu_date[2];
       
    43 	} else {
       
    44 		var year = 0;
       
    45 	}
       
    46 	
       
    47 	/*month*/
       
    48 	var month = eu_date[1];
       
    49 	if (month.length == 1) {
       
    50 		month = 0+month;
       
    51 	}
       
    52 	
       
    53 	/*day*/
       
    54 	var day = eu_date[0];
       
    55 	if (day.length == 1) {
       
    56 		day = 0+day;
       
    57 	}
       
    58 	
       
    59 	return (year + month + day) * 1;
       
    60 }
       
    61 
       
    62 jQuery.fn.dataTableExt.oSort['eu_date-asc'] = function(a, b) {
       
    63 	x = calculate_date(a);
       
    64 	y = calculate_date(b);
       
    65 	
       
    66 	return ((x < y) ? -1 : ((x > y) ?  1 : 0));
       
    67 };
       
    68 
       
    69 jQuery.fn.dataTableExt.oSort['eu_date-desc'] = function(a, b) {
       
    70 	x = calculate_date(a);
       
    71 	y = calculate_date(b);
       
    72 	
       
    73 	return ((x < y) ? 1 : ((x > y) ?  -1 : 0));
       
    74 };