diff --git a/index.html b/index.html index 16b3fd6..d273b74 100644 --- a/index.html +++ b/index.html @@ -166,7 +166,6 @@ console.log(d.Link); var Pivot = { Leaves:{}, - Root:{}, Init(inRows) { @@ -245,7 +244,7 @@ var Pivot = let gatherOut = n => N.Connect(modifier, n, "ModifyOut"); N.Walk(gatherUp, inNode, "Hierarchy", false); - N.Connect(modifier, inNode, "ModifyDown"); + N.Connect(modifier, inNode, "ModifyAt"); N.Walk(gatherDown, inNode, "Hierarchy"); leaves.forEach(leaf=>N.Walk(gatherOut, leaf, "Hierarchy", false)); @@ -294,53 +293,70 @@ let StoreReducer = (inState, inAction) => }; -let ElNode = ({node}) => +let ElNode = ({node, depth}) => { - var nodeChildren = N.Step(node, "Hierarchy"); - var children = []; - var table = []; + var color; - let styles = { - }; - if(node.Link["ModifyOut"]) + if(N.Step(node, "ModifyDown")) { - styles.backgroundColor = "lightgrey"; + color = `yellow`; } - if(node.Link["ModifyDown"]) + if(N.Step(node, "ModifyUp")) { - styles.backgroundColor = "yellow"; + color = `skyblue`; } - if(node.Link["ModifyUp"]) + if(N.Step(node, "ModifyOut")) { - styles.backgroundColor = "lavender"; + color = `lightgrey`; + } + if(N.Step(node, "ModifyAt")) + { + color = `red`; } - if(node.Meta.Row) - { - table = node.Meta.Row.map( cell => h("span", {style:{padding:"10px"}}, cell)); - } - children = [ - h("strong", {style:styles}, node.Meta.Label||"a node"), - ...table, - h(Store.Consumer, null, value=> + let nodeBase = css` + position:relative; + padding:0; + margin:0; + border-top:1px solid lightgrey; + + .Label { - return value.get.count; - }) - ]; + display:inline-block; + width:200px; + background:${color}; + } + .Label::before + { + content:" "; + display:inline-block; + width:${depth*15}px; + } + .Table + { + display:inline-block; + text-align:right; + } + .Cell + { + width:50px; + display:inline-block; + padding:10px; + } + `; - if(nodeChildren.length) - { - children = [ - ...children, - ...nodeChildren.map( inChild => h(ElNode, {node:inChild})) - ]; - } - return h("div", {style:{padding:"10px"}}, children); + return h("div", {className:css(nodeBase)}, [ + h("div", {className:"Upper"}, [ + h("div", {className:"Label"}, (node.Meta.Label || "a node") ), + h("div", {className:"Table"}, (node.Meta.Row || []).map( cell => h("div", {className:"Cell"}, cell)) ) + ]), + h("div", {className:"Nodes"}, N.Step(node, "Hierarchy").map(child=>h(ElNode, {node:child, depth:depth+1})) ) + ]); } let ElPivot = ({pivot}) => { - return h("div", {style:{display:"inline-block"}}, [ - h(ElNode, {node:pivot}) + return h("div", {style:{display:"inline-block", width:"500px"}}, [ + h(ElNode, {node:pivot, depth:0}) ]); } let ElRoot = ({pivots}) =>