diff --git a/index.html b/index.html
index 1ab0c40..8a08c2a 100755
--- a/index.html
+++ b/index.html
@@ -148,11 +148,20 @@ var N =
if(next.ID.Walk !== N.ID.Walk)
{
next.ID.Walk = N.ID.Walk;
+ //console.log("processing", next.Meta)
let results = inIterator(next);
if(results !== false)
{
N.Walk(inIterator, next, inKey, inForward, inTerminal);
}
+ else
+ {
+ //console.log("routine exited");
+ }
+ }
+ else
+ {
+ //console.log("id collision");
}
}
},
@@ -198,7 +207,11 @@ var Pivot =
// - optional traversal depth, defaults to 0
let depth = inDepth||0;
let uniques = {};
- let indexPivot = inPivotIndicies[depth]
+ let indexPivot = inPivotIndicies[depth];
+ if(!inParent.Meta.Leaves)
+ {
+ console.log("problem")
+ }
inParent.Meta.Leaves.forEach((inLeaf)=>
{
let row = inLeaf.Meta.Row; // shorthand for the raw "CSV" row in the leaf Node's Meta
@@ -233,8 +246,9 @@ var Pivot =
match.Leaves.push(inLeaf);
});
+ // get the leaves out of the parent, at this point they have been re-distributed to the children
delete inParent.Meta.Leaves;
- var iterator;
+ let iterator = () => {};
if(depth >= inPivotIndicies.length-1)
{
iterator = inLastBranch =>
@@ -244,11 +258,15 @@ var Pivot =
// collect modifiers effecting leaves
let modifiers = [];
let collectModifier = n => modifiers.push(n);
- let connectModifiers = n => modifiers.forEach(inModifier => N.Connect(inModifier, n, "ModifyOut", true));
-
+ let connectModifiers = n =>
+ {
+ modifiers.forEach(inModifier => N.Connect(inModifier, n, "ModifyOut", true));
+ };
+
N.Walk(collectModifier, inLeaf, "ModifyAt", false);
N.Walk(collectModifier, inLeaf, "ModifyDown", false);
+
if(modifiers.length)
{
// apply them to the branch
@@ -256,20 +274,38 @@ var Pivot =
connectModifiers(inLastBranch);
// also walk them up and connect, but with "check unique" enabled
+ console.log("walking modifiers up from", inLastBranch.Meta.Label);
+ N.ID.Walk++;
N.Walk(connectModifiers, inLastBranch, "Hierarchy", false);
+ /*
+ N.Walk((n)=>
+ {
+ console.log("going up", n);
+ }
+ , inLastBranch, "Hierarchy", false);
+ */
+
}
// lastly connect the leaf to the branch
N.Connect(inLastBranch, inLeaf, "Leaf");
+
});
delete inLastBranch.Meta.Leaves;
}
}
else
{
- iterator = child => Pivot.Pivot(inRoot, child, inPivotIndicies, inSumIndicies, depth+1);
+ iterator = child => {
+ if(child.Meta.Label == "b")
+ {
+ console.log("at b for some reason");
+ }
+ Pivot.Pivot(inRoot, child, inPivotIndicies, inSumIndicies, depth+1);
+ };
}
N.Walk(iterator, inParent, "Hierarchy");
+
return inParent;
},
Create(inPivotIndicies, inSumIndicies)
@@ -741,10 +777,19 @@ const Render = () => render(h(ElRoot), document.querySelector("#app"));
Render();
+Pivot.Create([1, 2], [3, 4]);
+let pivot = N.Path([0], Pivot.Root, "Pivot");
+let node = N.Path([0, 1], pivot, "Hierarchy");
+Pivot.Modify(node);
+Pivot.Create([2, 1], [3, 4]);
+Render();
+
\ No newline at end of file