diff --git a/nodes/widgets/locales/de/ui_number_input.json b/nodes/widgets/locales/de/ui_number_input.json
index 8f166c212..1634521eb 100644
--- a/nodes/widgets/locales/de/ui_number_input.json
+++ b/nodes/widgets/locales/de/ui_number_input.json
@@ -15,8 +15,10 @@
"passThrough": "Wenn msg am Eingang ankommt, an den Ausgang weiterleiten:",
"clearable": "Zahleneingabe mit Schaltfläche löschen",
"sendMessageOn": "Nachricht senden bei:",
+ "delay": "Verzögerung",
"focusLeave": "Fokus verlassen",
"pressEnter": "Enter drücken",
+ "delayUnit": "(ms)",
"whenChanged": "Bei Änderung senden:",
"payload": "Nutzlast",
"currentValue": "Aktueller Wert",
diff --git a/nodes/widgets/locales/en-US/ui_number_input.json b/nodes/widgets/locales/en-US/ui_number_input.json
index 6d325f5a3..da70cc2d7 100644
--- a/nodes/widgets/locales/en-US/ui_number_input.json
+++ b/nodes/widgets/locales/en-US/ui_number_input.json
@@ -15,8 +15,10 @@
"passThrough": "If msg arrives on input, pass through to output:",
"clearable": "Clear number input with button",
"sendMessageOn": "Send message on:",
+ "delay": "Delay",
"focusLeave": "Focus Leave",
"pressEnter": "Press Enter",
+ "delayUnit": "(ms)",
"whenChanged": "When changed, send:",
"payload": "Payload",
"currentValue": "Current value",
diff --git a/nodes/widgets/ui_number_input.html b/nodes/widgets/ui_number_input.html
index 9523b347b..eb925e941 100644
--- a/nodes/widgets/ui_number_input.html
+++ b/nodes/widgets/ui_number_input.html
@@ -36,7 +36,14 @@
}
},
tooltip: { value: '' },
+ delay: {
+ value: 300,
+ validate: function (v) {
+ return $('#node-input-sendOnDelay').is(':checked') ? (RED.validators.number()(v) && v >= 0) : true
+ }
+ },
passthru: { value: true },
+ sendOnDelay: { value: false },
sendOnBlur: { value: true },
sendOnEnter: { value: true },
className: { value: '' },
@@ -102,6 +109,13 @@
$('#node-input-sendOnClear').prop('checked', false)
}
+ // Handle in-place upgrade: existing nodes should maintain current behavior
+ if (this.delay === undefined) {
+ // Set delay to 0 and enable sendOnDelay for upgraded nodes
+ $('#node-input-delay').val('0')
+ $('#node-input-sendOnDelay').prop('checked', true)
+ }
+
if (!this.iconPosition) {
$('#node-input-iconPosition').val('left')
}
@@ -217,9 +231,17 @@