Skip to content

Commit 8ceb11e

Browse files
authored
Merge pull request algorithm-visualizer#204 from nadr0/auto-generate-tracers
Auto generate tracers - fixing bugs
2 parents 972f4c3 + 63f02ed commit 8ceb11e

File tree

3 files changed

+35
-8
lines changed

3 files changed

+35
-8
lines changed

js/create/array2d.js

+25-7
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const tableToInputFields = (numRows, numColumns) => {
3535
for(var i = 0; i < numRows; i++){
3636
for(var j = 0; j < numColumns; j++){
3737
var elem = document.createElement('input');
38-
elem.type = 'Number';
38+
elem.type = 'Text';
3939
elem.value = Math.floor(Math.random() * 10 + 1);
4040
elem.classList.add('mtbl-col','inputField');
4141
table.childNodes[i].childNodes[j].innerHTML = '';
@@ -56,22 +56,40 @@ const generateJS = (logger, tracer, tracerName) => {
5656
logger.print('Copy and paste this code in your data.js file!');
5757
logger.print('');
5858

59-
logger.print('let myTable = [');
59+
if(numRows > 1) {
60+
logger.print('let myTable = [');
61+
}
6062

61-
var line = '';
63+
var line = 'let myTable = [';
6264
var i;
6365
var j;
6466
var comma = ',';
67+
var currVal;
68+
var nors;
6569
for(i = 0; i < numRows; i++){
66-
line = '[';
70+
if(numRows > 1){
71+
line = '[';
72+
}
6773
for(j = 0; j < numColumns-1; j++){
68-
line += table.childNodes[i].childNodes[j].childNodes[0].value + ',';
74+
currVal = table.childNodes[i].childNodes[j].childNodes[0].value;
75+
nors = Number(currVal);
76+
if(isNaN(nors)){
77+
currVal = "'" + currVal + "'";
78+
}
79+
line += currVal + ',';
6980
}
7081
if(i === numRows - 1){comma = '';}
71-
line += table.childNodes[i].childNodes[j++].childNodes[0].value + ']' + comma;
82+
currVal = table.childNodes[i].childNodes[j++].childNodes[0].value;
83+
nors = Number(currVal);
84+
if(isNaN(nors)){
85+
currVal = "'" + currVal + "'";
86+
}
87+
line += currVal + ']' + comma;
7288
logger.print(line);
7389
}
74-
logger.print(']');
90+
if(numRows > 1){
91+
logger.print(']');
92+
}
7593

7694

7795
logger.print("let myTableTracer = new "+ tracer +" ('"+tracerName+"')");

js/create/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ const init = () => {
8585
array2d.setup();
8686
array1d.setup();
8787
closeCreate();
88+
util.clickTraceTab();
8889
}
8990
};
9091

js/create/util.js

+9-1
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,16 @@ const enabledHightlighting = () =>{
3939
}
4040
}
4141

42+
const clickTraceTab = () => {
43+
var btn = document.getElementById('btn_trace');
44+
if(btn){
45+
btn.click();
46+
}
47+
}
48+
4249
module.exports = {
4350
enabledHightlighting,
4451
positionModules,
45-
clearModules
52+
clearModules,
53+
clickTraceTab
4654
};

0 commit comments

Comments
 (0)