mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Merge pull request #3551 from node-red/pr_3544
Add message count option to Debug status
This commit is contained in:
commit
e8f20285af
@ -453,9 +453,16 @@
|
|||||||
label: RED._("node-red:debug.autostatus"),
|
label: RED._("node-red:debug.autostatus"),
|
||||||
hasValue: false
|
hasValue: false
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var counter = {
|
||||||
|
value: "counter",
|
||||||
|
label: RED._("node-red:debug.messageCount"),
|
||||||
|
hasValue: false
|
||||||
|
};
|
||||||
|
|
||||||
$("#node-input-typed-status").typedInput({
|
$("#node-input-typed-status").typedInput({
|
||||||
default: "auto",
|
default: "auto",
|
||||||
types:[autoType, "msg", "jsonata"],
|
types:[autoType, "msg", "jsonata", counter],
|
||||||
typeField: $("#node-input-statusType")
|
typeField: $("#node-input-statusType")
|
||||||
});
|
});
|
||||||
var that = this;
|
var that = this;
|
||||||
@ -514,12 +521,16 @@
|
|||||||
|
|
||||||
$("#node-input-tostatus").on('change',function() {
|
$("#node-input-tostatus").on('change',function() {
|
||||||
if ($(this).is(":checked")) {
|
if ($(this).is(":checked")) {
|
||||||
if (!that.hasOwnProperty("statusVal") || that.statusVal === "") {
|
if (that.statusType === "counter") {
|
||||||
|
that.statusVal = "";
|
||||||
|
}
|
||||||
|
else if (!that.hasOwnProperty("statusVal") || that.statusVal === "") {
|
||||||
var type = $("#node-input-typed-complete").typedInput('type');
|
var type = $("#node-input-typed-complete").typedInput('type');
|
||||||
var comp = "payload";
|
var comp = "payload";
|
||||||
if (type !== 'full') {
|
if (type !== 'full') {
|
||||||
comp = $("#node-input-typed-complete").typedInput('value');
|
comp = $("#node-input-typed-complete").typedInput('value');
|
||||||
}
|
}
|
||||||
|
console.log('hihi')
|
||||||
that.statusType = "auto";
|
that.statusType = "auto";
|
||||||
that.statusVal = comp;
|
that.statusVal = comp;
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,9 @@ module.exports = function(RED) {
|
|||||||
this.statusType = n.statusType || "auto";
|
this.statusType = n.statusType || "auto";
|
||||||
this.statusVal = n.statusVal || this.complete;
|
this.statusVal = n.statusVal || this.complete;
|
||||||
this.tosidebar = n.tosidebar;
|
this.tosidebar = n.tosidebar;
|
||||||
|
this.counter = 0;
|
||||||
|
this.lastTime = new Date().getTime();
|
||||||
|
this.timeout = null;
|
||||||
if (this.tosidebar === undefined) { this.tosidebar = true; }
|
if (this.tosidebar === undefined) { this.tosidebar = true; }
|
||||||
this.active = (n.active === null || typeof n.active === "undefined") || n.active;
|
this.active = (n.active === null || typeof n.active === "undefined") || n.active;
|
||||||
if (this.tostatus) {
|
if (this.tostatus) {
|
||||||
@ -32,6 +35,12 @@ module.exports = function(RED) {
|
|||||||
var statExpression = hasStatExpression ? n.statusVal : null;
|
var statExpression = hasStatExpression ? n.statusVal : null;
|
||||||
|
|
||||||
var node = this;
|
var node = this;
|
||||||
|
if ( node.statusType === "counter" ){
|
||||||
|
node.status({fill:"blue", shape:"ring", text: node.counter});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
node.status({fill:"", shape:"", text: ""});
|
||||||
|
}
|
||||||
var preparedEditExpression = null;
|
var preparedEditExpression = null;
|
||||||
var preparedStatExpression = null;
|
var preparedStatExpression = null;
|
||||||
if (editExpression) {
|
if (editExpression) {
|
||||||
@ -106,15 +115,32 @@ module.exports = function(RED) {
|
|||||||
if (this.oldState) {
|
if (this.oldState) {
|
||||||
this.status({});
|
this.status({});
|
||||||
}
|
}
|
||||||
|
if (this.timeout) {
|
||||||
|
clearTimeout(this.timeout)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
this.on("input", function(msg, send, done) {
|
this.on("input", function(msg, send, done) {
|
||||||
if (hasOwnProperty.call(msg, "status") && msg.status &&
|
if (hasOwnProperty.call(msg, "status") && hasOwnProperty.call(msg.status, "source") && hasOwnProperty.call(msg.status.source, "id") && (msg.status.source.id === node.id)) {
|
||||||
hasOwnProperty.call(msg.status, "source") && msg.status.source &&
|
|
||||||
hasOwnProperty.call(msg.status.source, "id") && (msg.status.source.id === node.id)) {
|
|
||||||
done();
|
done();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (node.tostatus === true) {
|
if (node.tostatus === true) {
|
||||||
|
if ( node.statusType === "counter" ){
|
||||||
|
const differenceOfTime = (new Date().getTime() - node.lastTime);
|
||||||
|
node.lastTime = new Date().getTime();
|
||||||
|
node.counter++;
|
||||||
|
if ( differenceOfTime > 100 ){
|
||||||
|
node.status({fill:"blue", shape:"ring", text: node.counter});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (node.timeout) {
|
||||||
|
clearTimeout(node.timeout)
|
||||||
|
}
|
||||||
|
node.timeout = setTimeout(() => {
|
||||||
|
node.status({fill:"blue", shape:"ring", text: node.counter})
|
||||||
|
}, 200)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
prepareStatus(msg, function(err,debugMsg) {
|
prepareStatus(msg, function(err,debugMsg) {
|
||||||
if (err) { node.error(err); return; }
|
if (err) { node.error(err); return; }
|
||||||
var output = debugMsg.msg;
|
var output = debugMsg.msg;
|
||||||
@ -131,8 +157,7 @@ module.exports = function(RED) {
|
|||||||
fill = "red";
|
fill = "red";
|
||||||
st = msg.error.message;
|
st = msg.error.message;
|
||||||
}
|
}
|
||||||
if (hasOwnProperty.call(msg, "status") &&
|
if (hasOwnProperty.call(msg, "status")) {
|
||||||
msg.status) {
|
|
||||||
fill = msg.status.fill || "grey";
|
fill = msg.status.fill || "grey";
|
||||||
shape = msg.status.shape || "ring";
|
shape = msg.status.shape || "ring";
|
||||||
st = msg.status.text || "";
|
st = msg.status.text || "";
|
||||||
@ -140,6 +165,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (st.length > 32) { st = st.substr(0,32) + "..."; }
|
if (st.length > 32) { st = st.substr(0,32) + "..."; }
|
||||||
|
|
||||||
var newStatus = {fill:fill, shape:shape, text:st};
|
var newStatus = {fill:fill, shape:shape, text:st};
|
||||||
if (JSON.stringify(newStatus) !== node.oldState) { // only send if we have to
|
if (JSON.stringify(newStatus) !== node.oldState) { // only send if we have to
|
||||||
node.status(newStatus);
|
node.status(newStatus);
|
||||||
@ -147,6 +173,7 @@ module.exports = function(RED) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.complete === "true") {
|
if (this.complete === "true") {
|
||||||
// debug complete msg object
|
// debug complete msg object
|
||||||
|
@ -129,6 +129,7 @@
|
|||||||
"msgprop": "message property",
|
"msgprop": "message property",
|
||||||
"msgobj": "complete msg object",
|
"msgobj": "complete msg object",
|
||||||
"autostatus": "same as debug output",
|
"autostatus": "same as debug output",
|
||||||
|
"messageCount": "message count",
|
||||||
"to": "To",
|
"to": "To",
|
||||||
"debtab": "debug tab",
|
"debtab": "debug tab",
|
||||||
"tabcon": "debug tab and console",
|
"tabcon": "debug tab and console",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user