Add an 'inverttree' function.
diff --git a/render.js b/render.js
index d742cc9..b90279f 100644
--- a/render.js
+++ b/render.js
@@ -532,6 +532,23 @@
}
+ function invertTree(ingrid, key) {
+ if (!key) {
+ key = '_tree';
+ }
+ var keycol = keyToColNum(ingrid, key);
+ var outgrid = {headers: ingrid.headers, data: [], types: ingrid.types};
+ for (var rowi in ingrid.data) {
+ var row = ingrid.data[rowi];
+ var cell = row[keycol];
+ var outrow = row.slice();
+ outrow[keycol] = cell.split('|').reverse().join('|');
+ outgrid.data.push(outrow);
+ }
+ return outgrid;
+ }
+
+
function crackTree(ingrid, key) {
if (!key) {
key = '_tree';
@@ -656,6 +673,16 @@
}
+ function doInvertTree(grid, argval) {
+ console.debug('invertTree:', argval);
+ var keys = splitNoEmpty(argval, ',');
+ console.debug('invertTree with key', keys[0]);
+ grid = invertTree(grid, keys[0]);
+ console.debug('grid:', grid);
+ return grid;
+ }
+
+
function doCrackTree(grid, argval) {
console.debug('crackTree:', argval);
var keys = splitNoEmpty(argval, ',');
@@ -1015,6 +1042,8 @@
transform(doTreeGroupBy, argval);
} else if (argkey == 'finishtree') {
transform(doFinishTree, argval);
+ } else if (argkey == 'inverttree') {
+ transform(doInvertTree, argval);
} else if (argkey == 'cracktree') {
transform(doCrackTree, argval);
} else if (argkey == 'pivot') {