JSFiddle - React, Tailwind, and code Playground
by David Kyle
HTML
<button id="myButton">Run Again</button>
<div id="target">
</div>
JavaScript
var Task = function () {
var self = this;
self.Name = "";
self.Tasks = [];
};
Task.prototype.AddTasks = function (tasksData) {
var localTasks = [];
if (tasksData != null && tasksData != undefined && tasksData.length > 0) {
for (var i = 0; i < tasksData.length; i++) {
var aNewTask = new Task();
aNewTask.Name = tasksData[i].Name;
aNewTask.Id = tasksData[i].Id;
if (tasksData[i].ChildTasks != undefined) {
aNewTask.AddTasks(tasksData[i].ChildTasks);
} // end if
localTasks.push(aNewTask);
} // end for loop
} else {
console.log("No child task data.");
} // end if/else
this.Tasks = localTasks;
};
var Tasks = [{
Id: 1,
Name: "Task Container 1",
ChildTasks: [{
Id: 4,
Name: "Maintenance",
ChildTasks: [{
Id: 8,
Name: "Re-Index"
}, {
Id: 9,
Name: "Compress"
}]
}, {
Id: 5,
Name: "Send Notification"
}]
}, {
Id: 2,
Name: "Task Container 2",
ChildTasks: [{
Id: 6,
Name: "Ping Server"
}, {
Id: 7,
Name: "Upload Files"
}, {
Id: 5,
Name: "Send Notification"
}]
}, {
Id: 3,
Name: "Perform Cleanup"
}];
function getTaskList(data) {
var localTasks = [];
if (data != null && data != undefined && data.length > 0) {
for (var i = 0; i < data.length; i++) {
console.log("Current i value: " + i);
var newTask = new Task();
newTask.Name = data[i].Name;
newTask.Id = data[i].Id;
if (data[i].ChildTasks != undefined) {
newTask.AddTasks(data[i].ChildTasks);
} // end if
localTasks.push(newTask);
} // end for loop
} else {
console.log("No data");
} // end...