diff --git a/index.html b/index.html
index 6ebb739..541ba45 100755
--- a/index.html
+++ b/index.html
@@ -172,14 +172,14 @@ var N =
var Pivot =
{
Leaves:{},
- Root:N.Create({}),
+ Root:N.Create({Label:"All Pivots"}),
Init(inRows)
{
Pivot.Leaves = inRows.map(r => N.Create({Row:r}));
Pivot.Init = ()=>{};
},
- Pivot(inParent, inPivotIndicies, inSumIndicies, inDepth)
+ Pivot(inRoot, inParent, inPivotIndicies, inSumIndicies, inDepth)
{
//arguments:
// - a Node with leaf Nodes temporarily stored in its Meta.Leaves
@@ -226,6 +226,7 @@ var Pivot =
{
iterator = inLastBranch =>
{
+ N.Connect(inRoot, inLastBranch, "Terminal");
inLastBranch.Meta.Leaves.forEach( inLeaf =>
{
// collect modifiers effecting leaves
@@ -247,7 +248,7 @@ var Pivot =
inLastBranch.ID.Walk = N.ID.Walk;
modifiers.forEach( inModifier => N.Connect(inModifier, inLastBranch, "ModifyUp") )
- // also walk them up, but with a unique check connection
+ // also walk them up and connect, but with "check unique" enabled
N.Walk( inNode=>
{
modifiers.forEach( inModifier => N.Connect(inModifier, inNode, "ModifyUp", true) )
@@ -263,7 +264,7 @@ var Pivot =
}
else
{
- iterator = child => Pivot.Pivot(child, inPivotIndicies, inSumIndicies, depth+1);
+ iterator = child => Pivot.Pivot(inRoot, child, inPivotIndicies, inSumIndicies, depth+1);
}
N.Step(inParent, "Hierarchy").forEach(iterator);
return inParent;
@@ -274,10 +275,11 @@ var Pivot =
let pivotRoot = N.Create({Label:"Pivot Root", Leaves:Pivot.Leaves});
N.Connect(Pivot.Root, pivotRoot, "Pivot");
- return Pivot.Pivot(pivotRoot, inPivotIndicies, inSumIndicies);
+ return Pivot.Pivot(pivotRoot, pivotRoot, inPivotIndicies, inSumIndicies);
},
Delete(inRoot)
{
+ // disconnect modifiers
let check = N.Step(inRoot, "Modifier");
if(check)
{
@@ -286,6 +288,14 @@ var Pivot =
Pivot.Unmodify(check[0]);
}
}
+
+ // disconnect terminal branches
+ N.Walk(()=>{}, inRoot, "Terminal", inNode=>{
+ N.Disconnect(inNode, null, "Hierarchy");
+ });
+
+ // disconnect from app
+ N.Disconnect(null, inRoot, "Pivot")
},
Modify(inNode)
{
@@ -461,6 +471,7 @@ let ElModifiers = ({node}) =>
};
let ElRoot = props =>
{
+ let pivots = N.Step(Pivot.Root, "Pivot")||[];
return h("div", null, [
h("h3", null, "tree view"),
h(ElModifiers, {node:Pivot.Root}),
@@ -469,7 +480,7 @@ let ElRoot = props =>
AddNewPivot();
}
}, "add new pivot"),
- ...N.Step(Pivot.Root, "Pivot").map(pivot=>h(ElPivot, {pivot}))
+ pivots.map(pivot=>h(ElPivot, {pivot}))
])
};
let Render = () => render(h(ElRoot), document.querySelector("#app"));