PageSourceSearch

https://www.devisprox.com/assets/js/jquery.tableSortable.min.js

js devisprox.com collected 2026-09-25 23:55:22 UTC 11,889 bytes, 12 lines download raw bytes

1// ---------------------------------------------------------------------------------------------------------------------
2// Prototype version, Copyright (c) 2006 Andrew Tetlaw
3// http://tetlaw.id.au/view/blog/table-sorting-with-prototype/
4//
5// This is a jQuery version - Nadim (Jan 2013)
6//
7// May 2013.	Added options: zebraStripe, tableHover, row_check_class, sorting
8// Jul 2013.	- Modified initTable() by adding _ts_tbl_id and _ts_tbl_class data-items in each cell
9// 				- Modified _sort() function to use _ts_tbl_id and _ts_tbl_class data-items
10//				- Bug removed in sort() : table = $(cell).parents('table'); -> table = $(cell).closest('table');
11// ---------------------------------------------------------------------------------------------------------------------
12var lastclickednode,SortableTable={_count:0,options:{autoLoad:!1,tableSelector:["table.sortable"],columnClass:"sortcol",descendingClass:"sortdesc",ascendingClass:"sortasc",nosortClass:"nosort",sortFirstAscendingClass:"sortfirstasc",sortFirstDecendingClass:"sortfirstdesc",rowEvenClass:"roweven",rowOddClass:"rowodd",tableScroll:"class",tableScrollClass:"scroll",zebraStripe:!1,tableHover:!1,row_check_class:"row_chk",sorting:!0},detectors:[{re:/^\d{2}\/\d{2}\/\d{2,4}\s?(?:\d{1,2}\:\d{2}(?:\:\d{2})?\s?[a|p]?m?)?/i,type:"date-au"},{re:/^\d{2}\/\d{2}\/\d{2,4}/i,type:"date-eu"},{re:/[\d]{4}-[\d]{2}-[\d]{2}(?:T[\d]{2}\:[\d]{2}(?:\:[\d]{2}(?:\.[\d]+)?)?(Z|([-+][\d]{2}:[\d]{2})?)?)?/,type:"date-iso"},{re:/^(?:(Sun|Mon|Tue|Wed|Thu|Fri|Sat),\s+)?(0[1-9]|[1-2]?[0-9]|3[01])\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+(19[0-9]{2}|[2-9][0-9]{3})\s+(2[0-3]|[0-1][0-9]):([0-5][0-9])(?::(60|[0-5][0-9]))?\s+([-\
12+][0-9]{2}[0-5][0-9]|(?:UT|GMT|(?:E|C|M|P)(?:ST|DT)|[A-IK-Z]))(\s+|\(([^\(\)]+|\\\(|\\\))*\))*$/i,type:"date"},{re:/^\d{1,2}\:\d{2}(?:\:\d{2})?(?:\s[a|p]m)?$/i,type:"time"},{re:/^[$£¥€¢¤]/,type:"currency"},{re:/^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?\s?[k|m|g|t]b$/i,type:"datasize"},{re:/^[-+]?[\d]*\.?[\d]+(?:[eE][-+]?[\d]+)?/,type:"number"},{re:/^[A-Z]+$/,type:"casesensitivetext"},{re:/.*/,type:"text"}],types:{number:function(e,t){var n=function(e){return e=parseFloat(e.replace(/[ |,]/g,"")),isNaN(e)?0:e};return SortableTable.compare(n(e),n(t))},text:function(e,t){return SortableTable.compare(e?e.toLowerCase():"",t?t.toLowerCase():"")},casesensitivetext:function(e,t){return SortableTable.compare(e,t)},datasize:function(e,t){var n=function(e){var t=e.match(/^([-+]?[\d]*\.?[\d]+([eE][-+]?[\d]+)?)\s?([k|m|g|t]?b)?/i),n=t[1]?Number(t[1]).valueOf():0,r=t[3]?t[3].substr(0,1).toLowerCase():"";switch(r){case"k":return n*1024;case"m":return n*1024*1024;case"g":return n*1024*1024*1024;case"t":return n*1024*1024*1024*1024}return n};return SortableTable.compare(n(e),n(t))},"date-au":function(e,t){var n=function(e){var t=e.match(/^(\d{2})\/(\d{2})\/(\d{2,4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i),n=t[3],r=parseInt(t[2])-1,i=t[1],s=t[4]?t[4]:0;t[7]&&t[7].toLowerCase().indexOf("p")!=-1&&(s=parseInt(t[4])+12);var o=t[5]?t[5]:0,u=t[6]?t[6]:0;return(new Date(n,r,i,s,o,u,0)).valueOf()};return SortableTable.compare(e?n(e):0,t?n(t):0)},"date-us":function(e,t){var n=function(e){var t=e.match(/^(\d{2})\/(\d{2})\/(\d{4})\s?(?:(\d{1,2})\:(\d{2})(?:\:(\d{2}))?\s?([a|p]?m?))?/i),n=t[3],r=parseInt(t[1])-1,i=t[2],s=t[4]?t[4]:0;t[7]&&t[7].toLowerCase().indexOf("p")!=-1&&(s=parseInt(t[4])+12);var o=t[5]?t[5]:0,u=t[6]?t[6]:0;return(new Date(n,r,i,s,o,u,0)).valueOf()};return SortableTable.compare(e?n(e):0,t?n(t):0)},"date-eu":function(e,t){var n=function(e){var t=e.match(/^(\d{2})\/(\d{2})\/(\d{2,4})/),n;t[3]<100?n=parseInt(t[3])+2e3:i=t[3];var r=parseInt(t[2])-1,i=t[1];return(new Date(n,r,i)).valueOf()};return SortableTable.compare(e?n(e):0,t?n(t):0)},"date-iso":function(e,t){var n=function(e){var t=e.match(/([\d]{4})(-([\d]{2})(-([\d]{2})(T([\d]{2}):([\d]{2})(:([\d]{2})(\.([\d]+))?)?(Z|(([-+])([\d]{2}):([\d]{2})))?)?)?)?/),n=0,r=new Date(t[1],0,1);t[3]&&r.setMonth(t[3]-1),t[5]&&r.setDate(t[5]),t[7]&&r.setHours(t[7]),t[8]&&r.setMinutes(t[8]),t[10]&&r.setSeconds(t[10]),t[12]&&r.setMilliseconds(Number("0."+t[12])*1e3),t[14]&&(n=Number(t[16])*60+Number(t[17]),n*=t[15]=="-"?1:-1),n-=r.getTimezoneOffset();if(n!=0){var i=Number(r)+n*60*1e3;r.setTime(Number(i))}return r.valueOf()};return SortableTable.compare(e?n(e):0,t?n(t):0)},date:function(e,t){return e&&t?SortableTable.compare(new Date(e),new Date(t)):SortableTable.compare(e?1:0,t?1:0)},time:function(e,t){var n=new Date,r=n.getMonth()+"/"+n.getDate()+"/"+n.getFullYear()+" ";return SortableTable.compare(new Date(r+e),new Date(r+t))},currency:function(e,t){return e=parseFloat(e.replace(/[^-\d\.]/g,"")),t=parseFloat(t.replace(/[^-\d\.]/g,"")),SortableTable.compare(e,t)}},_scroll:function(){var e=jQuery;e(this.id+"-head").scrollLeft=e(this.id+"-body").scrollLeft},_sort:function(e){if($(e.target).is("td, th")){var t;typeof $(e.target).data("_ts_tbl_id")!="undefined"?t=$("#"+$(e.target).data("_ts_tbl_id")):typeof $(e.target).data("_ts_tbl_class")!="undefined"&&(t=$("."+$(e.target).data("_ts_tbl_class"))),t.is("table")&&SortableTable.sort(t,this)}},_sortScroll:function(e){var t=jQuery,n=t(this).parents("div.scroll-table-head").attr("id");SortableTable.sort(n,this)},sort:function(e,t,n){var r=jQuery,i;if(typeof t=="number"){if(!e||!r(e).is("table"))return;t=Math.min(r(e).find("tbody tr:eq(0)").children("td").length,t),t=Math.max(1,t)-1,r(e).has("thead")?i=r(e).find("thead tr td, thead tr th")[t]:i=r(e).find("tr:eq(0) td")[t]}else{i=t,t=SortableTable.getCellIndex(t);if(!e||!r(e).is("table"))e=r(i).closest("table")}var s=SortableTable.options;if(r(i).hasClass(s.nosortClass))return;n=n?n:r(i).hasClass(s.descendingClass)?1:-1;var o=SortableTable.getHeaderCells(null,i);r.each(o,function(e,i){e==t?n==1?(r(i).removeClass(s.descendingClass),r(i).addClass(s.ascendingClass)):(r(i).removeClass(s.ascendingClass),r(i).addClass(s.descendingClass)):r(i).removeClass(s.ascendingClass).removeClass(s.descendingClass)});var u=SortableTable.getBodyRows(e),a=SortableTable.getDataType(i,t,e);u.sort(function(e,r){return n*SortableTable.types[a](SortableTable.getCellText(e.cells[t]),SortableTable.getCellText(r.cells[t]))}),r.each(u,function(t,n){r(e).children("tbody").append(n),SortableTable.addRowClass(n,t)})},compare:function(e,t){return e<t?-1:e==t?0:1},addSortType:function(e,t){SortableTable.types[e]=t},addDetector:function(e,t){SortableTable.detectors.unshift({re:e,type:t})},getBodyRows:function(e){var t=jQuery,n=t(e).children("tbody").children("tr");return t(e).hasClass(SortableTable.options.tableScrollClass)||t(e).find("thead").length?n:(delete n[0],n)},addRowClass:function(e,t){var n=jQuery;SortableTable.options.zebraStripe&&typeof e!="undefined"&&typeof t!="undefined"&&(n(e).removeClass("alt"),t%2==0&&n(e).addClass("alt")),SortableTable.options.tableHover&&(n(e).bind("mouseover",function(){n(this).addClass("over")}),n(e).bind("mouseout",function(){n(this).removeClass("over")})),n(e).bind("click",function(e){n(e.target).is("td")&&!n(e.target).hasClass(SortableTable.options.row_check_class)&&(typeof lastclickednode!="undefined"&&n(lastclickednode).removeClass("selected"),n(this).addClass("selected"),lastclickednode=this)})},highlightRow_ifChecked:function(e){$(e+' input[type="checkbox"].'+SortableTable.options.row_check_class).bind("click",function(e){var t=e.target,n=$(t).parent("td").parent("tr");$(t).is(":checked")?$(n).addClass("checked"):$(n).removeClass("checked")})},getHeaderCells:function(e,t){var n=jQuery;return e||(e=n(t).closest("table")),n(e).has("thead")?n(e).find("thead tr:last-child td, thead tr:last-child th"):n(e).find("tr:eq(0) td")},getCellIndex:function(e){var t=jQuery;return t(e).index()},getCellText:function(e){if(!e)return"";var t=jQuery,n=t.trim(t(e).text());return n?n:e.innerText},getDataType:function(e,t,n){var r=jQuery,i,s=r(e).attr("class").split(/\s+/);r(s).each(function(e){typeof SortableTable.types[this]=="function"&&(i=this.toString())});if(typeof i=="undefined"){var o=t?t:SortableTable.getCellIndex(e),u;if(n)u=n;else{var a=r(e).parents("table");a.length>1&&(u=a[0])}var f=r(u).find("tbody tr")[0],l=r(f).children("td");e=l[o];var c=SortableTable.getCellText(e),h="",p="";r.each(SortableTable.detectors,function(e){h=this.re,p=this.type;if(h.test(c))return i=p,!1})}return typeof i=="undefined"?"text":i},init:function(e,t){var n=jQuery;n.extend(SortableTable.options,t);if(n("#"+e).length){if(SortableTable.options.sorting)SortableTable.initTable(e,t,"id");else{var r=SortableTable.getBodyRows(n("#"+e));
12n.each(r,function(e){SortableTable.addRowClass(this)})}SortableTable.highlightRow_ifChecked("#"+e)}else if(n("."+e).length){var i=n("."+e);if(SortableTable.options.sorting)n.each(i,function(n,r){SortableTable.initTable(e,t,"class")});else{var r=SortableTable.getBodyRows(n("."+e));n.each(r,function(e){SortableTable.addRowClass(this)})}SortableTable.highlightRow_ifChecked("."+e)}},initTable:function(e,t,n){var r=jQuery;if(n=="id")var i=e,s=r("#"+e);else var o=e,s=r("."+e);if(!s.is("table"))return;typeof s.attr("id")=="undefined"&&s.attr("id","sortable-table-"+SortableTable._count++),SortableTable.options=r.extend(SortableTable.options,t||{});var u=SortableTable.options.tableScroll=="on"||SortableTable.options.tableScroll=="class"&&s.hasClass(SortableTable.options.tableScrollClass),a,f=SortableTable.getHeaderCells(s);r.each(f,function(e,t){typeof i!="undefined"&&r(this).data("_ts_tbl_id",i),typeof o!="undefined"&&r(this).data("_ts_tbl_class",o),u||(r(this).bind("click",SortableTable._sort),r(this).addClass(SortableTable.options.columnClass));if(r(this).hasClass(SortableTable.options.sortFirstAscendingClass)||r(this).hasClass(SortableTable.options.sortFirstDecendingClass))a=this});if(typeof a!="undefined")r(a).hasClass(SortableTable.options.sortFirstAscendingClass)?SortableTable.sort(s,a,1):SortableTable.sort(s,a,-1);else{var l=SortableTable.getBodyRows(s);r.each(l,function(e){SortableTable.addRowClass(this,e)})}u&&SortableTable.initScroll(s)},initScroll:function(e){if(!n(e).is("table"))return;var t=e,n=jQuery;n(t).addClass(SortableTable.options.tableScrollClass);var r=n(t).width();n(t).css({"border-spacing":"0","table-layout":"fixed",width:r+"px"});var i=n(t).children("tbody").children("tr"),s=SortableTable.getHeaderCells(t),o;n.each(s,function(e,t){var r=n(t).width();n(t).css("width",r+"px"),n.each(i,function(){o=n(this).children("td"),n(o[e]).css("width",r+"px")})});var u=n(t).children("thead");n(u).length||(u=n(t).children("tr")[0]);var a=n(u).clone(),f=document.createElement("div");n(f).addClass("scroll-table-head").css("overflow","hidden").attr("id",n(t).attr("id")+"-head"),n(t).before(f);var l=document.createElement("table");n(l).css({"border-spacing":"0","table-layout":"fixed",width:r+"px"}).append(a),n(f).append(l),n(t).remove(u);var c=SortableTable.getHeaderCells(l);n.each(c,function(e,t){n(t).assClass(SortableTable.options.columnClass),n(t).click(function(){SortableTable._sortScroll(this)})});var h=document.createElement("div");n(h).addClass("scroll-table-body").css("overflow","auto").attr("id",n(t).attr("id")+"-body"),n(t).before(h),n(h).append(t),n(f).scrollLeft=0,n(h).scrollLeft=0,n(h).scroll(function(){SortableTable._scroll(t)}),t.offsetHeight-h.offsetHeight>0&&n(h).css({width:h.getDimensions().width+16+"px"})},setup:function(e){var t=jQuery;SortableTable.options=t.merge(SortableTable.options,e||{}),SortableTable.types=t.merge(SortableTable.types,SortableTable.options.types||{}),SortableTable.options.types={},SortableTable.options.detectors&&(SortableTable.detectors=t.merge(SortableTable.options.detectors,SortableTable.detectors),SortableTable.options.detectors=[])},load:function(){if(SortableTable.options.autoLoad){var e=jQuery;e(SortableTable.options.tableSelector).each(function(){SortableTable.init(this,{tableScroll:SortableTable.options.tableScroll})})}}};

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.