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

Lines changed: 25 additions & 7 deletions
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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 9 additions & 1 deletion
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy