/* -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set et sw=2 ts=2: */ /* function createTask() { var task = new Task(); task.id = 42; task.dump = function() { alert(this.id); } } */ function createId(boardid, taskid) { return "b" + boardid + "_t" + taskid; } function idFromStr(str) { return str.substring(str.search('t') + 1, str.length); } function getTask(observeid, id) { } function updateTask(observeid, id, name, value) { } function getBoard(observeid) { var board = document.getElementById("board_" + observeid); if(!board) { board = document.createElement("div"); board.name = "board"; board.setAttribute("class", "board"); board.id = "board_" + observeid; boards.appendChild(board); } return board; } ////////////////////////////////////////////////////// ////////////////////////////////////////////////////// function clear() { document.getElementById("input_data").value = ""; } function deleteTask(id) { socket_task.send("remove " + id + ";"); } function drag(target, e) { e.dataTransfer.setData('Text', target.id); e.stopPropagation(); // <--- this fixes the drag target problem } function drop(target, e) { e.preventDefault(); e.stopPropagation(); var id = e.dataTransfer.getData('Text'); var task = document.getElementById(id); 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(); updateid = idFromStr(target.id); if(target.style.backgroundColor != "red") { target.style.backgroundColor = "red"; for(var i = 1; i < target.childNodes.length; i++) { target.childNodes[i].style.display = "none"; } } else { target.style.backgroundColor = "grey"; for(var i = 1; i < target.childNodes.length; i++) { target.childNodes[i].style.display = "block"; } } } // // Butt ugly.. but hey! it works... // var updateid; var divtxt; var oldtxt; var oldtitle; function onKeyUpHandler(target, e) { if(e.which == 13) { // enter divtxt.removeChild(target); oldtxt.nodeValue = 'updating...'; socket_task.send("update " + updateid + " \""+target.value+"\";"); } if(e.which == 27) { // escape divtxt.removeChild(target); oldtxt.nodeValue = oldtitle; } } function onLostFocusHandler(target, e) { if(target.value == oldtitle) { divtxt.removeChild(target); oldtxt.nodeValue = oldtitle; } } function editTitle(target, e) { e.stopPropagation(); updateid = idFromStr(target.id); if(updateid < 10) return; var inp = document.createElement("input"); var txtdiv = document.getElementById(target.id + "_txt"); divtxt = txtdiv; oldtxt = txtdiv.firstChild; oldtitle = oldtxt.nodeValue; oldtxt.nodeValue = ""; inp.setAttribute("onkeyup", "onKeyUpHandler(this, event)"); inp.setAttribute("onblur", "onLostFocusHandler(this, event)"); inp.setAttribute("style", "border: inherit; padding: inherit; margin: inherit; background: inherit;"); inp.value = oldtitle; lineedit = inp; txtdiv.appendChild(inp); inp.focus(); }