From 7a8d0abd5900379192a554af9641f5b95c1765f6 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Wed, 4 Jun 2025 18:38:36 +0200 Subject: [PATCH 1/2] Node filter support for typedInput's builtin node --- .../src/js/ui/common/typedInput.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js index 525cc3d1c..1032ab55f 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js @@ -519,10 +519,25 @@ } }, expand: function () { - var that = this; + const that = this; + let filter; + if (that.options.node) { + let nodeFilter = that.options.node.filter; + if (typeof nodeFilter === "string" || typeof nodeFilter === "object") { + if (!Array.isArray(nodeFilter)) { + nodeFilter = [nodeFilter]; + } + filter = function (node) { + return nodeFilter.includes(node.type); + }; + } else if (typeof nodeFilter === "function") { + filter = nodeFilter; + } + } RED.tray.hide(); RED.view.selectNodes({ single: true, + filter: filter, selected: [that.value()], onselect: function (selection) { that.value(selection.id); From a224b692f753a84e58c90a1ce744d35e7f7b4800 Mon Sep 17 00:00:00 2001 From: GogoVega <92022724+GogoVega@users.noreply.github.com> Date: Wed, 4 Jun 2025 19:47:47 +0200 Subject: [PATCH 2/2] Type guard for null, undefined and empty value --- .../@node-red/editor-client/src/js/ui/common/typedInput.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js index 1032ab55f..9a1bc030c 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/typedInput.js @@ -523,7 +523,7 @@ let filter; if (that.options.node) { let nodeFilter = that.options.node.filter; - if (typeof nodeFilter === "string" || typeof nodeFilter === "object") { + if ((typeof nodeFilter === "string" || typeof nodeFilter === "object") && nodeFilter) { if (!Array.isArray(nodeFilter)) { nodeFilter = [nodeFilter]; }