New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

tablesort

Package Overview
Dependencies
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tablesort - npm Package Compare versions

Comparing version 1.6.0 to 1.6.1

tablesort.uncompressed.js

2

grunt.js

@@ -25,3 +25,3 @@ /*global module:false*/

src: ['<banner:meta.banner>', '<file_strip_banner:src/<%= pkg.name %>.js>'],
dest: '<%= pkg.name %>.js'
dest: '<%= pkg.name %>.uncompressed.js'
}

@@ -28,0 +28,0 @@ },

{
"name": "tablesort",
"description": "A sorting component for HTML tables",
"version": "1.6.0",
"version": "1.6.1",
"author": "tristen <@fallsemo>",

@@ -12,3 +12,4 @@ "ender": "./ender.js",

"Dong Liu <@dongliu>",
"Andrew Cobby <andrew.cobby@gmail.com>"
"Andrew Cobby <andrew.cobby@gmail.com>",
"Pavel D. <@thexpaw>"
],

@@ -15,0 +16,0 @@ "licenses": [{

@@ -22,3 +22,3 @@ # tablesort.js

__Ascending/Descending__
__Ascending/Descending__
You can pass in options as a second parameter. Currently one option is supported: `descending: true`. By default, sort is set to ascending.

@@ -32,3 +32,3 @@

__Exclude columns or rows__
__Exclude columns or rows__
For columns or rows that do not require sorting, you can add a class of `no-sort` to a columns `th` or a `tr` element.

@@ -47,3 +47,17 @@ ``` html

__Refresh sort on appended data__
__Override data that is sorted on__
Sometimes text inside cells is not normalized. Using a `data-sort` attribute you can use optional data to sort on.
``` html
<tr>
<td>1</td>
<td data-sort='1357656438'>01/08/13 @ 8:47:18am EST</td>
</tr>
<tr>
<td>2</td>
<td data-sort='1078673085'>3/7/2004 @ 9:24:45 EST</td>
</tr>
```
__Refresh sort on appended data__
Tablesort supports sorting when new data has been added. Simply call the refresh method.

@@ -50,0 +64,0 @@

@@ -13,4 +13,4 @@ ;(function () {

init: function(el, options) {
var that = this;
var firstRow;
var that = this,
firstRow;
this.thead = false;

@@ -59,7 +59,8 @@ this.options = options;

sortTable: function(header, update) {
var that = this;
var column = header.cellIndex;
var sortFunction;
var t = getParent(header, 'table');
var item = '', i = 0;
var that = this,
column = header.cellIndex,
sortFunction,
t = getParent(header, 'table'),
item = '',
i = 0;

@@ -70,3 +71,2 @@ if (t.rows.length <= 1) {

while (item === '' && i < t.tBodies[0].rows.length) {

@@ -88,4 +88,4 @@ item = getInnerText(t.tBodies[0].rows[i].cells[column]);

var sortCaseInsensitive = function (a, b) {
var aa = getInnerText(a.cells[that.col]).toLowerCase();
var bb = getInnerText(b.cells[that.col]).toLowerCase();
var aa = getInnerText(a.cells[that.col]).toLowerCase(),
bb = getInnerText(b.cells[that.col]).toLowerCase();

@@ -102,9 +102,12 @@ if(aa === bb) {

};
var sortNumber = function (a, b) {
var aa = getInnerText(a.cells[that.col]);
var aa = getInnerText(a.cells[that.col]),
bb = getInnerText(b.cells[that.col]);
aa = cleanNumber(aa);
var bb = getInnerText(b.cells[that.col]);
bb = cleanNumber(bb);
return compareNumber(bb, aa);
};
var sortDate = function(a, b) {

@@ -126,24 +129,19 @@ var aa = getInnerText(a.cells[that.col]).toLowerCase(),

this.col = column;
var firstRow = [],
newRows = [],
k, j;
var newRows = [],
j = 0;
for (k = 0; k < t.tBodies.length; k++) {
for(i = 0; i < t.tBodies[k].rows[0].length; i++) {
firstRow[i] = t.tBodies[k].rows[0][i];
}
}
for (k = 0; k < t.tBodies.length; k++) {
for (i = 0; i < t.tBodies.length; i++) {
if (!that.thead) {
// skip the first row
for(j = 1; j < t.tBodies[k].rows.length; j++) {
newRows[j - 1] = t.tBodies[k].rows[j];
for(j = 1; j < t.tBodies[i].rows.length; j++) {
newRows[j - 1] = t.tBodies[i].rows[j];
}
} else {
// don't skip the first row
for(j = 0; j < t.tBodies[k].rows.length; j++) {
newRows[j] = t.tBodies[k].rows[j];
for(j = 0; j < t.tBodies[i].rows.length; j++) {
newRows[j] = t.tBodies[i].rows[j];
}
}
}
newRows.sort(sortFunction);

@@ -204,2 +202,3 @@

},
parseDate = function (date) {

@@ -210,2 +209,3 @@ date = date.replace(/\-/g, '/');

},
getParent = function (el, pTagName) {

@@ -220,2 +220,3 @@ if (el === null) {

},
getInnerText = function (el) {

@@ -227,11 +228,16 @@ var that = this;

}
if (el.textContent) {
var str = el.getAttribute('data-sort') || '';
if (str) {
return str;
}
else if (el.textContent) {
return el.textContent;
}
if (el.innerText) {
else if (el.innerText) {
return el.innerText;
}
var str = '',
cs = el.childNodes,
var cs = el.childNodes,
l = cs.length;

@@ -254,18 +260,24 @@

},
compareNumber = function (a, b) {
var aa = parseFloat(a);
var aa = parseFloat(a),
bb = parseFloat(b);
a = isNaN(aa) ? 0 : aa;
var bb = parseFloat(b);
b = isNaN(bb) ? 0 : bb;
return a - b;
},
trim = function (s) {
return s.replace(/^\s+|\s+$/g, '');
},
cleanNumber = function (i) {
return i.replace(/[^\-?0-9.]/g, '');
},
hasClass = function (el, c) {
return(' ' + el.className + ' ').indexOf(' ' + c + ' ') > -1;
},
// http://ejohn.org/apps/jselect/event.html

@@ -285,2 +297,2 @@ addEvent = function (object, event, method) {

window.Tablesort = Tablesort;
})();
})();
/*!
* tablesort v1.6.0 (2012-11-10)
* tablesort v1.6.1 (2013-02-14)
* http://tristen.ca/tablesort/demo
* Copyright (c) 2012 ; Licensed MIT
* Copyright (c) 2013 ; Licensed MIT
*/
(function(){function e(e,t){if(e.tagName!=="TABLE")throw new Error("Element must be a table");this.init(e,t||{})}e.prototype={init:function(e,t){var n=this,r;this.thead=!1,this.options=t,this.options.d=t.descending||!1,e.rows&&e.rows.length>0&&(e.tHead&&e.tHead.rows.length>0?(r=e.tHead.rows[e.tHead.rows.length-1],n.thead=!0):r=e.rows[0]);if(!r)return;var i=function(e){var t=o(u,"tr").getElementsByTagName("th");for(var r=0;r<t.length;r++)(c(t[r],"sort-up")||c(t[r],"sort-down"))&&t[r]!==this&&(t[r].className=t[r].className.replace(" sort-down","").replace(" sort-up",""));n.current=this,n.sortTable(this)};for(var s=0;s<r.cells.length;s++){var u=r.cells[s];c(u,"no-sort")||(u.className+=" sort-header",h(u,"click",i))}},sortTable:function(e,t){var n=this,r=e.cellIndex,h,p=o(e,"table"),d="",v=0;if(p.rows.length<=1)return;while(d===""&&v<p.tBodies[0].rows.length){d=u(p.tBodies[0].rows[v].cells[r]),d=f(d);if(d.substr(0,4)==="<!--"||d.length===0)d="";v++}if(d==="")return;var m=function(e,t){var r=u(e.cells[n.col]).toLowerCase(),i=u(t.cells[n.col]).toLowerCase();return r===i?0:r<i?1:-1},g=function(e,t){var r=u(e.cells[n.col]);r=l(r);var i=u(t.cells[n.col]);return i=l(i),a(i,r)},y=function(e,t){var r=u(e.cells[n.col]).toLowerCase(),i=u(t.cells[n.col]).toLowerCase();return s(i)-s(r)};d.match(/^-?[£\x24Û¢´]\d/)||d.match(/^-?(\d+[,\.]?)+(E[\-+][\d]+)?%?$/)?h=g:i(d)?h=y:h=m,this.col=r;var b=[],w=[],E,S;for(E=0;E<p.tBodies.length;E++)for(v=0;v<p.tBodies[E].rows[0].length;v++)b[v]=p.tBodies[E].rows[0][v];for(E=0;E<p.tBodies.length;E++)if(!n.thead)for(S=1;S<p.tBodies[E].rows.length;S++)w[S-1]=p.tBodies[E].rows[S];else for(S=0;S<p.tBodies[E].rows.length;S++)w[S]=p.tBodies[E].rows[S];w.sort(h),t||(n.options.d?c(e,"sort-up")?(e.className=e.className.replace(/ sort-up/,""),e.className+=" sort-down"):(e.className=e.className.replace(/ sort-down/,""),e.className+=" sort-up"):c(e,"sort-down")?(e.className=e.className.replace(/ sort-down/,""),e.className+=" sort-up"):(e.className=e.className.replace(/ sort-up/,""),e.className+=" sort-down")),c(e,"sort-down")&&w.reverse();for(v=0;v<w.length;v++)c(w[v],"no-sort")||p.tBodies[0].appendChild(w[v])},refresh:function(){this.current!==undefined&&this.sortTable(this.current,!0)}};var t=/(Mon|Tue|Wed|Thu|Fri|Sat|Sun)\.?\,?\s*/i,n=/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/,r=/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/i,i=function(e){return(e.search(t)!==-1||e.search(n)!==-1||e.search(r!==-1))!==-1},s=function(e){return e=e.replace(/\-/g,"/"),e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3"),(new Date(e)).getTime()},o=function(e,t){return e===null?null:e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?e:o(e.parentNode,t)},u=function(e){var t=this;if(typeof e=="string"||typeof e=="undefined")return e;if(e.textContent)return e.textContent;if(e.innerText)return e.innerText;var n="",r=e.childNodes,i=r.length;for(var s=0;s<i;s++)switch(r[s].nodeType){case 1:n+=t.getInnerText(r[s]);break;case 3:n+=r[s].nodeValue}return n},a=function(e,t){var n=parseFloat(e);e=isNaN(n)?0:n;var r=parseFloat(t);return t=isNaN(r)?0:r,e-t},f=function(e){return e.replace(/^\s+|\s+$/g,"")},l=function(e){return e.replace(/[^\-?0-9.]/g,"")},c=function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},h=function(e,t,n){e.attachEvent?(e["e"+t+n]=n,e[t+n]=function(){e["e"+t+n](window.event)},e.attachEvent("on"+t,e[t+n])):e.addEventListener(t,n,!1)};window.Tablesort=e})();
(function(){function e(e,t){if(e.tagName!=="TABLE")throw new Error("Element must be a table");this.init(e,t||{})}e.prototype={init:function(e,t){var n=this,r;this.thead=!1,this.options=t,this.options.d=t.descending||!1,e.rows&&e.rows.length>0&&(e.tHead&&e.tHead.rows.length>0?(r=e.tHead.rows[e.tHead.rows.length-1],n.thead=!0):r=e.rows[0]);if(!r)return;var i=function(e){var t=o(u,"tr").getElementsByTagName("th");for(var r=0;r<t.length;r++)(c(t[r],"sort-up")||c(t[r],"sort-down"))&&t[r]!==this&&(t[r].className=t[r].className.replace(" sort-down","").replace(" sort-up",""));n.current=this,n.sortTable(this)};for(var s=0;s<r.cells.length;s++){var u=r.cells[s];c(u,"no-sort")||(u.className+=" sort-header",h(u,"click",i))}},sortTable:function(e,t){var n=this,r=e.cellIndex,h,p=o(e,"table"),d="",v=0;if(p.rows.length<=1)return;while(d===""&&v<p.tBodies[0].rows.length){d=u(p.tBodies[0].rows[v].cells[r]),d=f(d);if(d.substr(0,4)==="<!--"||d.length===0)d="";v++}if(d==="")return;var m=function(e,t){var r=u(e.cells[n.col]).toLowerCase(),i=u(t.cells[n.col]).toLowerCase();return r===i?0:r<i?1:-1},g=function(e,t){var r=u(e.cells[n.col]),i=u(t.cells[n.col]);return r=l(r),i=l(i),a(i,r)},y=function(e,t){var r=u(e.cells[n.col]).toLowerCase(),i=u(t.cells[n.col]).toLowerCase();return s(i)-s(r)};d.match(/^-?[£\x24Û¢´]\d/)||d.match(/^-?(\d+[,\.]?)+(E[\-+][\d]+)?%?$/)?h=g:i(d)?h=y:h=m,this.col=r;var b=[],w=0;for(v=0;v<p.tBodies.length;v++)if(!n.thead)for(w=1;w<p.tBodies[v].rows.length;w++)b[w-1]=p.tBodies[v].rows[w];else for(w=0;w<p.tBodies[v].rows.length;w++)b[w]=p.tBodies[v].rows[w];b.sort(h),t||(n.options.d?c(e,"sort-up")?(e.className=e.className.replace(/ sort-up/,""),e.className+=" sort-down"):(e.className=e.className.replace(/ sort-down/,""),e.className+=" sort-up"):c(e,"sort-down")?(e.className=e.className.replace(/ sort-down/,""),e.className+=" sort-up"):(e.className=e.className.replace(/ sort-up/,""),e.className+=" sort-down")),c(e,"sort-down")&&b.reverse();for(v=0;v<b.length;v++)c(b[v],"no-sort")||p.tBodies[0].appendChild(b[v])},refresh:function(){this.current!==undefined&&this.sortTable(this.current,!0)}};var t=/(Mon|Tue|Wed|Thu|Fri|Sat|Sun)\.?\,?\s*/i,n=/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/,r=/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)/i,i=function(e){return(e.search(t)!==-1||e.search(n)!==-1||e.search(r!==-1))!==-1},s=function(e){return e=e.replace(/\-/g,"/"),e=e.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3"),(new Date(e)).getTime()},o=function(e,t){return e===null?null:e.nodeType===1&&e.tagName.toLowerCase()===t.toLowerCase()?e:o(e.parentNode,t)},u=function(e){var t=this;if(typeof e=="string"||typeof e=="undefined")return e;var n=e.getAttribute("data-sort")||"";if(n)return n;if(e.textContent)return e.textContent;if(e.innerText)return e.innerText;var r=e.childNodes,i=r.length;for(var s=0;s<i;s++)switch(r[s].nodeType){case 1:n+=t.getInnerText(r[s]);break;case 3:n+=r[s].nodeValue}return n},a=function(e,t){var n=parseFloat(e),r=parseFloat(t);return e=isNaN(n)?0:n,t=isNaN(r)?0:r,e-t},f=function(e){return e.replace(/^\s+|\s+$/g,"")},l=function(e){return e.replace(/[^\-?0-9.]/g,"")},c=function(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>-1},h=function(e,t,n){e.attachEvent?(e["e"+t+n]=n,e[t+n]=function(){e["e"+t+n](window.event)},e.attachEvent("on"+t,e[t+n])):e.addEventListener(t,n,!1)};window.Tablesort=e})();

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc