diff --git a/nodes/core/core/58-debug.html b/nodes/core/core/58-debug.html
index 05d6c25d2..69c59f52c 100644
--- a/nodes/core/core/58-debug.html
+++ b/nodes/core/core/58-debug.html
@@ -148,7 +148,7 @@
if (subWindow) {
try {
- subWindow.postMessage(JSON.stringify(o),"*")
+ subWindow.postMessage(o,"*")
} catch(err) {
console.log(err);
}
diff --git a/nodes/core/core/58-debug.js b/nodes/core/core/58-debug.js
index d080c38ee..be780c7ba 100644
--- a/nodes/core/core/58-debug.js
+++ b/nodes/core/core/58-debug.js
@@ -160,7 +160,6 @@ module.exports = function(RED) {
root: __dirname + '/lib/debug/',
dotfiles: 'deny'
};
- console.log("SERVING UP",req.params[0]);
res.sendFile(req.params[0], options);
});
};
diff --git a/nodes/core/core/lib/debug/debug.js b/nodes/core/core/lib/debug/debug.js
index 3b8f419f5..4529ada7f 100644
--- a/nodes/core/core/lib/debug/debug.js
+++ b/nodes/core/core/lib/debug/debug.js
@@ -1,6 +1,77 @@
$(function() {
+ function getTimestamp() {
+ var d = new Date();
+ return d.toLocaleString();
+ }
+ function sanitize(m) {
+ return m.replace(/&/g,"&").replace(//g,">");
+ }
window.addEventListener('message',function(evt) {
console.log(evt.data);
- $('
').text(evt.data).appendTo(document.body);
+ var o = evt.data;
+
+ var msg = document.createElement("div");
+
+ //var sourceNode = RED.nodes.node(o.id) || RED.nodes.node(o.z);
+
+ // msg.onmouseover = function() {
+ // msg.style.borderRightColor = "#999";
+ // var n = RED.nodes.node(o.id) || RED.nodes.node(o.z);
+ // if (n) {
+ // n.highlighted = true;
+ // n.dirty = true;
+ // }
+ // RED.view.redraw();
+ // };
+ // msg.onmouseout = function() {
+ // msg.style.borderRightColor = "";
+ // var n = RED.nodes.node(o.id) || RED.nodes.node(o.z);
+ // if (n) {
+ // n.highlighted = false;
+ // n.dirty = true;
+ // }
+ // RED.view.redraw();
+ // };
+ // msg.onclick = function() {
+ // var node = RED.nodes.node(o.id) || RED.nodes.node(o.z);
+ // if (node) {
+ // RED.workspaces.show(node.z);
+ // }
+ //
+ // };
+ //console.log(o);
+ var name = sanitize(((o.name?o.name:o.id)||"").toString());
+ var topic = sanitize((o.topic||"").toString());
+ var property = sanitize(o.property?o.property:'');
+ var payload = sanitize((o.msg||"").toString());
+ var format = sanitize((o.format||"").toString());
+
+ msg.className = 'debug-message'+(o.level?(' debug-message-level-'+o.level):'');
+ msg.innerHTML = '
'+
+ getTimestamp()+''+
+ (name?'
'+name:'')+
+ '';
+ // NOTE: relying on function error to have a "type" that all other msgs don't
+ if (o.hasOwnProperty("type") && (o.type === "function")) {
+ var errorLvlType = 'error';
+ var errorLvl = 20;
+ if (o.hasOwnProperty("level") && o.level === 30) {
+ errorLvl = 30;
+ errorLvlType = 'warn';
+ }
+ msg.className = 'debug-message debug-message-level-' + errorLvl;
+ msg.innerHTML += '
function : (' + errorLvlType + ')';
+ } else {
+ msg.innerHTML += '
'+
+ (o.topic?topic+' : ':'')+
+ (o.property?'msg.'+property:'msg')+" : "+format+
+
+ '';
+ }
+ msg.innerHTML += '
'+ payload+ '';
+ $("#debug-content").append(msg);
+
+
+
},false)
});
diff --git a/nodes/core/core/lib/debug/style.css b/nodes/core/core/lib/debug/style.css
index acd8bac0f..47d62efad 100644
--- a/nodes/core/core/lib/debug/style.css
+++ b/nodes/core/core/lib/debug/style.css
@@ -1,3 +1,8 @@
+.debug-window {
+ padding:0;
+ margin:0;
+ background: #fff;
+}
#debug-content {
position: absolute;
top: 43px;
diff --git a/nodes/core/core/lib/debug/view.html b/nodes/core/core/lib/debug/view.html
index a18c7d584..e89ea96dc 100644
--- a/nodes/core/core/lib/debug/view.html
+++ b/nodes/core/core/lib/debug/view.html
@@ -1,8 +1,18 @@
+
+
-
+
+
+
+