diff --git a/index.html b/index.html
index 014b3c1..89e029f 100644
--- a/index.html
+++ b/index.html
@@ -1,7 +1,7 @@
-
+
diff --git a/index.js b/index.js
deleted file mode 100644
index 910ba38..0000000
--- a/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import {Table} from './table.ts';
-var table;
-var leaves;
-var rows;
-
-rows = [
- ["a","1"],
- ["b","2"],
- ["a","3"],
- ["b","1"],
- ["a","2"],
- ["b","3"],
-];
-
-table = new Table("Root", rows, [1]);
-table.PivotTree([0, 1]);
-table.ItrLeaves( inLeaf => console.log(inLeaf) );
\ No newline at end of file
diff --git a/index.ts b/index.ts
new file mode 100644
index 0000000..63c105d
--- /dev/null
+++ b/index.ts
@@ -0,0 +1,31 @@
+import {Table, Sum} from './table';
+
+var table: Table;
+var rows: Array>;
+
+rows = [
+ ["a","1"],
+ ["b","2"],
+ ["a","3"],
+ ["b","1"],
+ ["a","2"],
+ ["b","3"],
+];
+
+table = new Table("Root", rows, [1]);
+table.PivotTree([0, 1]);
+table.ItrLeaves( (inTable: Table) =>
+{
+ inTable.Columns.forEach( (inColumn: Sum, inIndex: number) =>
+ {
+ inTable.Rows.forEach( (inRow: Array) =>
+ {
+ inColumn.Original += parseFloat(inRow[inColumn.ColumnIndex]);
+ });
+ inTable.ItrParents( (inParent: Table)=>
+ {
+ inParent.Columns[inIndex].Original += inColumn.Original;
+ });
+ });
+} );
+table.ItrChildren( inTable => console.log(inTable) );
\ No newline at end of file
diff --git a/table.ts b/table.ts
index 674af9f..6a27d89 100644
--- a/table.ts
+++ b/table.ts
@@ -11,6 +11,7 @@ export class Sum
constructor(inIndex: number)
{
this.ColumnIndex = inIndex;
+ this.Original = 0;
}
}
@@ -67,7 +68,7 @@ export class Table
{
if(this.Parent)
{
- inFunction(this.Parent);
+ inFunction(this.Parent, this);
this.Parent.ItrParents(inFunction);
}
}
@@ -75,7 +76,7 @@ export class Table
{
this.Children.forEach( (inChild: Table) =>
{
- inFunction(inChild);
+ inFunction(inChild, this);
inChild.ItrChildren(inFunction);
});
}
@@ -91,10 +92,3 @@ export class Table
}
}
}
-
-export const Iterators = {
- SumRows: (inTable: Table) =>
- {
-
- }
-};
\ No newline at end of file