nested divs
HTML
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div>
<button>start</button>
<input id="startCodoTextInput" type="text">
</div>
</body>
</html>
JavaScript
var codoList = {
codos:[],
displayCodo: function(codoText){
console.log("your doodweb:", this.codos)
},
startCodo: function(codoText){
this.codos.push({codoText:codoText, codoArray:[]});
this.displayCodo();
},
addCodo: function(position,codoText){
position.push({codoText:codoText, codoArray:[]});
this.displayCodo();
}
}
var handlers = {
startCodo: function(){
var startCodoTextInput = document.getElementById("startCodoTextInput");
codoList.startCodo(startCodoTextInput.value);
startCodoTextInput.value = "";
views.displayCodo()
},
}
function findPropPath(obj, name){
for (var prop in obj){
if(obj[prop]==name){
name = "codoArray"
return name;
}
else if(typeof obj[prop] == "object"){
var result = findPropPath(obj[prop], name);
if(result){
if (typeof prop === "string" && prop !== "codoArray" && prop !== "codos"){
return "[" + prop + "]." + result;
}
else{
return prop + result;}
}
}
}
}
var views = {
displayCodo: function(){
var codosUl = document.querySelector("div");
codosUl.innerHTML = "";
function iterObj(obj){
var codoDiv = document.createElement("div");
for (var key in obj){
codosUl.appendChild(codoDiv);
if(key === "codoText"){
var codoTextWithCompletion="";
codoTextWithCompletion = obj[key];
codoDiv.textContent = codoTextWithCompletion;
codoDiv.appendChild(views.createAddButton());
}
var nestedDiv = document.createElement("div");
codoDiv.append(nestedDiv)
codoDiv = nestedDiv;
if (obj[key] !== null && typeof obj[key] === "object") {
// Recurse into children
iterObj(obj[key]);
}
}
}
...