Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function sortTable( n ) {
- var table, rows, i, x, y, a, b, dir, switching, shouldSwitch, switchcount = 0;
- table = document.getElementById( 'table-container' );
- switching = true;
- //if ( document.getElementsByClassName( 'fa-sort-up' ) ) {
- // dir = "asc";
- //}
- //else if ( document.getElementsByClassName( 'fa-sort-down' ) ) {
- // dir = "desc";
- //}
- if ( document.getElementsByClassName( 'fa-sort' ) ) {
- dir = "asc";
- }
- while ( switching ) {
- switching = false;
- rows = table.getElementsByTagName( "tr" );
- for ( i = 1; i < ( rows.length - 1 ); i++ ) {
- shouldSwitch = false;
- x = rows[i].getElementsByTagName( "td" )[n];
- y = rows[i + 1].getElementsByTagName( "td" )[n];
- if ( n == 5 ) {
- a = rows[i].getElementsByTagName( "th" )[0];
- b = rows[i + 1].getElementsByTagName( "th" )[0];
- }
- if ( n == 2 ) {
- var number1 = x.innerHTML;
- var dateAndTime1 = number1.split( " " );
- var DMY1 = dateAndTime1[0].split( "." );
- var HM1 = dateAndTime1[1].split( ":" );
- var number2 = y.innerHTML;
- var dateAndTime2 = number2.split( " " );
- var DMY2 = dateAndTime2[0].split( "." );
- var HM2 = dateAndTime2[1].split( ":" );
- var date1 = new Date( DMY1[2], DMY1[1] - 1, DMY1[0], HM1[0], HM1[1], 0, 0 ).toISOString();
- var date2 = new Date( DMY2[2], DMY2[1] - 1, DMY2[0], HM2[0], HM2[1], 0, 0 ).toISOString();
- }
- if ( dir == "asc" ) {
- if ( n == 5 ) {
- if ( a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ) {
- shouldSwitch = true;
- break;
- }
- } else if ( n == 2 ) {
- if ( date1 > date2 ) {
- shouldSwitch = true;
- break;
- }
- } else {
- if ( x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase() ) {
- shouldSwitch = true;
- break;
- }
- }
- } else if ( dir == "desc" ) {
- if ( n == 5 ) {
- if ( a.innerHTML.toLowerCase() < b.innerHTML.toLowerCase() ) {
- shouldSwitch = true;
- break;
- }
- } else if ( n == 2 ) {
- if ( date1 < date2 ) {
- shouldSwitch = true;
- break;
- }
- } else {
- if ( x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase() ) {
- shouldSwitch = true;
- break;
- }
- }
- }
- }
- if ( shouldSwitch ) {
- rows[i].parentNode.insertBefore( rows[i + 1], rows[i] );
- switching = true;
- switchcount++;
- }
- else {
- if ( switchcount == 0 && dir == "asc" ) {
- dir = "desc";
- switching = true;
- } else if ( switchcount == 0 && dir == "desc" ) {
- dir = "asc";
- switching = true;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement