@@ -12,6 +12,10 @@ const getNumColumns = () => {
1212 return column_field . value ;
1313} ;
1414
15+ const getTracerName = ( ) => {
16+ return document . getElementById ( "tracerName" ) . value ;
17+ }
18+
1519const fauxData = ( r , c ) => {
1620 var arr = new Array ( r ) ;
1721 for ( var i = 0 ; i < c ; i ++ ) {
@@ -46,21 +50,36 @@ const makeInputFields = () =>{
4650
4751} ;
4852
49- const generateJS = ( ) => {
50- var logger = new modules . LogTracer ( 'Generated Javascript' ) ;
53+ const generateJS = ( logger ) => {
54+ logger . clear ( ) ;
5155 var table = document . querySelector ( '.mtbl-table' ) ;
5256
5357 var numRows = table . childNodes . length ;
5458 var numColumns = table . childNodes [ 0 ] . childNodes . length ;
5559
60+ logger . print ( 'Copy and paste this code in your data.js file!' ) ;
61+ logger . print ( '' ) ;
62+
63+ logger . print ( 'let myTable = [' ) ;
64+
5665 var line = '' ;
57- for ( var i = 0 ; i < numRows ; i ++ ) {
58- line = '' ;
59- for ( var j = 0 ; j < numColumns ; j ++ ) {
66+ var i ;
67+ var j ;
68+ var comma = ',' ;
69+ for ( i = 0 ; i < numRows ; i ++ ) {
70+ line = '[' ;
71+ for ( j = 0 ; j < numColumns - 1 ; j ++ ) {
6072 line += table . childNodes [ i ] . childNodes [ j ] . childNodes [ 0 ] . value + ',' ;
6173 }
74+ if ( i === numRows - 1 ) { comma = '' ; }
75+ line += table . childNodes [ i ] . childNodes [ j ++ ] . childNodes [ 0 ] . value + ']' + comma ;
6276 logger . print ( line ) ;
6377 }
78+ logger . print ( ']' ) ;
79+
80+
81+ logger . print ( "let myTableTracer = new Array2DTracer ('" + getTracerName ( ) + "')" ) ;
82+ logger . print ( 'myTableTracer._setData (myTable)' ) ;
6483
6584} ;
6685
@@ -86,16 +105,24 @@ const positionModules = () =>{
86105const setupButtons = ( ) => {
87106
88107 var button_2DMatrix = document . getElementById ( "button-2DMatrix" ) ;
108+ var logger ;
109+ var arr2DTracer ;
89110 button_2DMatrix . addEventListener ( 'click' , function ( ) {
90- var arr2DTracer = new modules . Array2DTracer ( ) ;
111+ arr2DTracer = new modules . Array2DTracer ( ) ;
112+ logger = new modules . LogTracer ( 'Generated Javascript' ) ;
113+
91114 var numRows = getNumRows ( ) ;
92115 var numColumns = getNumColumns ( ) ;
93116 var data = fauxData ( numRows , numColumns ) ;
94117
95118 arr2DTracer . setData ( data ) ;
96119 makeInputFields ( ) ;
97- generateJS ( ) ;
98120 positionModules ( ) ;
121+ arr2DTracer . refresh ( ) ;
122+ } , false ) ;
123+ var button_JS = document . getElementById ( 'button-generateJS' ) ;
124+ button_JS . addEventListener ( 'click' , function ( ) {
125+ generateJS ( logger ) ;
99126 } , false ) ;
100127
101128} ;
0 commit comments