Fix some sorting/filtering bugs with nulls.
diff --git a/render.js b/render.js
index efa8d7a..7b6a596 100644
--- a/render.js
+++ b/render.js
@@ -741,6 +741,9 @@
for (var rowi in ingrid.data) {
var row = ingrid.data[rowi];
var cell = row[keycol];
+ if (cell == undefined) {
+ cell = null;
+ }
var found = 0;
for (var valuei in wantvals) {
if (op == '=' && cell == wantvals[valuei]) {
@@ -786,7 +789,9 @@
for (var opi in ops) {
var op = ops[opi];
if ((parts = trySplitOne(argval, op))) {
- grid = filterBy(grid, parts[0], op, parts[1].split(','));
+ var matches = parts[1].split(',');
+ console.debug('filterBy parsed:', parts[0], op, matches);
+ grid = filterBy(grid, parts[0], op, matches);
console.debug('grid:', grid);
return grid;
}
@@ -852,8 +857,8 @@
var keycol = keycols[keyi][0], invert = keycols[keyi][1];
var av = a[keycol], bv = b[keycol];
if (grid.types[keycol] === T_NUM) {
- av = parseFloat(av);
- bv = parseFloat(bv);
+ av = parseFloat(av) || 0;
+ bv = parseFloat(bv) || 0;
}
if (av < bv) {
return -1 * invert;