From adab7fc5a061624ad931fee4f95de09f78ace91d Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 11 Jan 2013 15:52:08 +0100 Subject: Fix unobserve bug. Change more printf's into hugin syntax. --- proto.js | 46 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) (limited to 'proto.js') diff --git a/proto.js b/proto.js index eb63afd..9be3101 100644 --- a/proto.js +++ b/proto.js @@ -162,8 +162,14 @@ try { } if(cmd == "remove") { - var task = document.getElementById(createId(observeid, id)); - task.parentNode.removeChild(task); + var task = document.getElementById(createId(observeid, id)); + var parent = task.parentNode; + parent.removeChild(task); + + var board = document.getElementById("board_" + observeid); + if(board.childNodes.length == 0) { + board.parentNode.removeChild(board); + } } else if(cmd == "move") { var parent_id = msg[3]; @@ -189,12 +195,30 @@ try { task.setAttribute("draggable", true); task.setAttribute("ondragstart", "drag(this, event)"); task.setAttribute("title", id); - + task.id = createId(observeid, id); + var observe_button = document.createElement("div"); + observe_button.name = "observe_button"; + observe_button.setAttribute("onclick", "observeMe(this, event)"); + observe_button.setAttribute("title", id); + observe_button.setAttribute("style", "float: left; display: inline-box; width:14px; height: 14px; border: solid green 2px; cursor: pointer;"); + var txt_plus = document.createTextNode("+"); + observe_button.appendChild(txt_plus); + task.appendChild(observe_button); + + var unobserve_button = document.createElement("div"); + unobserve_button.name = "unobserve_button"; + unobserve_button.setAttribute("onclick", "unobserveMe(this, event)"); + unobserve_button.setAttribute("title", id); + unobserve_button.setAttribute("style", "float: left; display: inline-box; width:14px; height: 14px; border: solid red 2px; cursor: pointer;"); + var txt_minus = document.createTextNode("-"); + unobserve_button.appendChild(txt_minus); + task.appendChild(unobserve_button); + var txtdiv = document.createElement("div"); txtdiv.id = createId(observeid, id) + "_txt"; - var txt = document.createTextNode(""); + var txt = document.createTextNode(id + ": (missing title)"); txtdiv.appendChild(txt); task.appendChild(txtdiv); @@ -214,7 +238,7 @@ try { var txtdiv = document.getElementById(createId(observeid, id) + "_txt"); txtdiv.removeChild(txtdiv.firstChild); - var txt = document.createTextNode(value); + var txt = document.createTextNode(id + ": " + value); txtdiv.appendChild(txt); } if(name == "colour") { @@ -261,6 +285,18 @@ function drop(target, e) { socket_task.send("move " + idFromStr(id) + " " + idFromStr(target.id) + ";"); } +function observeMe(target, e) +{ + e.stopPropagation(); + socket_task.send("observe "+target.title+";"); +} + +function unobserveMe(target, e) +{ + e.stopPropagation(); + socket_task.send("unobserve "+target.title+";"); +} + function showHideChildren(target, e) { e.stopPropagation(); -- cgit v1.2.3