$(function(){ $('thead tr td').each(function (col) { $(this).hover( function () { $(this).addClass('focus'); }, function () { $(this).removeClass('focus'); } ); $(this).click(function () { if ($(this).is('.asc')) { $(this).removeClass('asc'); $(this).addClass('desc selected'); sortOrder = -1; } else { $(this).addClass('asc selected'); $(this).removeClass('desc'); sortOrder = 1; } $(this).siblings().removeClass('asc selected'); $(this).siblings().removeClass('desc selected'); var arrData = $('table').find('tbody >tr:has(td)').get(); var sortData = $(this).data('sort'); var sorter = sortData === undefined ? 'none' : sortData; console.log('sorter',sorter); switch(sorter) { case 'text': arrData.sort(function (a, b) { var val1 = $(a).children('td').eq(col).text().toUpperCase(); var val2 = $(b).children('td').eq(col).text().toUpperCase(); return (val1 < val2) ? -sortOrder : (val1 > val2) ? sortOrder : 0; }); break; case 'number' : arrData.sort(function (a, b) { var val1 = $(a).children('td').eq(col).text().toUpperCase(); var val2 = $(b).children('td').eq(col).text().toUpperCase(); return sortOrder == 1 ? val1 - val2 : val2 - val1; }); break; case 'date' : arrData.sort(function (a, b) { var val1 = $(a).children('td').eq(col).data('date'); var val2 = $(b).children('td').eq(col).data('date'); var parts =val1.split('/'); val1 = Number(parts[2] + parts[1] + parts[0]); parts = val2.split('/'); val2 = Number(parts[2] + parts[1] + parts[0]); console.log('data --- val1',val1,'val2',val2); return sortOrder == 1 ? val1 - val2 : val2 - val1; }); break; case 'none': break; default: arrData.sort(function (a, b) { var val1 = $(a).children('td').eq(col).text().toUpperCase(); var val2 = $(b).children('td').eq(col).text().toUpperCase(); if ($.isNumeric(val1) && $.isNumeric(val2)) return sortOrder == 1 ? val1 - val2 : val2 - val1; else return (val1 < val2) ? -sortOrder : (val1 > val2) ? sortOrder : 0; }); }; $.each(arrData, function (index, row) { $('tbody').append(row); }); $('#databank').trigger('repaginate'); }); }); function updatePages($table, numPerPage, activePage) { console.log('activepage='+activePage); var numRows = $table.find('tbody tr:not(.hide-filtered, .hide-searched)').length; console.log('numRows '+numRows, ); var numPages = Math.ceil(numRows / numPerPage); var $pager = $('.pager'); if (!$pager.length) $pager=$('
');else $pager.empty(); for (var page = 0; page < numPages; page++) { $('').text(page + 1).bind('click', { newPage: page }, function (event) { currentPage = event.data['newPage']; $table.trigger('repaginate', {activePage: currentPage+1}); $(this).addClass('active').siblings().removeClass('active'); }).appendTo($pager).addClass('clickable'); } if (numRows > numPerPage) { $pager.insertAfter($table).find('span.page-number[data-number="'+activePage+'"]').addClass('active'); $pager.show(); } else $pager.hide(); } $('table.paginated').each(function () { var $table = $(this); var numPerPage = $table.attr('data-pagelength')||10; // number of items $table.bind('repaginate', function (event, data) { var currentPage=data?data['activePage']:1; $table.find('tbody tr').removeClass('on-visible-page'); $table.find('tbody tr:not(.hide-filtered, .hide-searched)').hide().slice((currentPage-1) * numPerPage, (currentPage) * numPerPage).addClass('on-visible-page').show(); console.log('repaginating', data); updatePages($table, numPerPage, currentPage); }); $table.trigger('repaginate'); }); $("#myInput").on("keyup", function() { var value = $(this).val().toLowerCase(); $("#databank tbody tr").filter(function() { if($(this).text().toLowerCase().indexOf(value) > -1) { $(this).addClass('show-searched').removeClass('hide-searched'); } else { $(this).addClass('hide-searched').removeClass('show-searched'); } }); $('#databank').trigger('repaginate'); }); $('.overlay-blur').click(function(){ closePopups(); }); $('.close-button').click(function(){ closePopups(); }); $('.cm-link').click(function(){ closePopups(); }); //POPUP $('.source-item').on('click', function() { $('html').addClass('no-scroll'); $('.overlay-blur').show(); $('.overlay-blur').addClass('active'); var $item = $(this); var id = $item.attr('id'); var $popup = $('#popup-'+id); $popup.addClass('active'); $popup.animate({ top:'0'},500,function(){ //whendone }); }); function closePopups () { $activepopup = $('.popup.active'); $html = $('html'); $overlay = $('#popup-overlay'); $activepopup.animate({ top:'200%'},500,function(){ console.log('done'); $(this).removeClass('active'); }); $html.removeClass('no-scroll'); $overlay.removeClass('active'); $overlay.hide(); } /*******************************************************************/ /* ftrtch dino */ /* [type: JS] [file:project-ftrlbs-table] [124.1910] DESIGN*/ /*******************************************************************/ /* 0.2 D>D */ /* db 147 */ });