/* -*- Mode: js2; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set et sw=2 ts=2: */ document.addEventListener("connectEvent", connectEventHandler, false); function connectEventHandler(e) { document.getElementById("wsnode_status").style.backgroundColor = "#40ff40"; document.getElementById("wsnode_status").textContent = "NodeProto websocket connection opened "; //login("foobar", "hundemad"); //subscribe(0); } document.addEventListener("disconnectEvent", disconnectEventHandler, false); function disconnectEventHandler(e) { document.getElementById("wsnode_status").style.backgroundColor = "#ff4040"; document.getElementById("wsnode_status").textContent = "NodeProto websocket connection CLOSED "; } document.addEventListener("removeEvent", removeEventHandler, false); function removeEventHandler(e) { var subscribeid = e.detail.subscribeid; var id = e.detail.id; var node = findNode(id, subscribeid); if(node.parent) { node.parent.removeChild(node); } } document.addEventListener("moveEvent", moveEventHandler, false); function moveEventHandler(e) { var subscribeid = e.detail.subscribeid; var id = e.detail.id; var parentid = e.detail.parentid; var node = findNode(id, subscribeid); var new_parent = findNode(parentid, subscribeid); if(node != null && new_parent != null) { new_parent.addChild(node); } } document.addEventListener("createEvent", createEventHandler, false); function createEventHandler(e) { var subscribeid = e.detail.subscribeid; var id = e.detail.id; var parentid = e.detail.parentid; var node = new Node(id, subscribeid); node.create(); if(parentid == -1) { nodes.push(node); var board = getBoard(subscribeid); board.appendChild(node.element); return; } var parent = findNode(parentid, subscribeid); if(parent != null) { parent.addChild(node); } } document.addEventListener("updateEvent", updateEventHandler, false); function updateEventHandler(e) { var subscribeid = e.detail.subscribeid; var id = e.detail.id; var name = e.detail.name; var value = e.detail.value; var node = findNode(id, subscribeid); if(node == null) { return; } node.setAttribute(name, value); } /////// ////// ///// //// /// // document.addEventListener("messageEvent", messageEventHandler, false); function messageEventHandler(e) { LogEvent(e.detail.time.toString()+": "+e.detail.message); } // log event in console function LogEvent(msg) { var log = document.getElementById("log"); log.textContent += msg + "\n"; var ot = log.scrollHeight - log.clientHeight; if(ot > 0) { log.scrollTop = ot; } }