Maybe I'm wrong, but this is strange:
Why is data.hasOwnProperty("clickable") undefined, when it is not?
Also there are many other places where the same thing happens.
Edit:
My fix based on ChatGPT suggestions:
if ( ! ("clickable" in data) || (data.clickable === true)) { ...
Edit2 : (better)
This will give true, even if "clickable" key does not exist:
if ( data.clickable !== false) { ...
Test yourself:
[{"id":"95568156ea88244c","type":"function","z":"a88b58905bd7ee66","name":"function 1","func":"let k = {};\nif ((! Object.hasOwn(k, \"clickable\")) || (data.clickable === true)) node.warn(\"1 OK\");\n\nif (k.clickable !== false) node.warn(\"2 OK\");\n\nreturn null;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":100,"wires":[["e21d6c6b952e75fd"]]},{"id":"03611e0de4421d2a","type":"inject","z":"a88b58905bd7ee66","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":490,"y":100,"wires":[["95568156ea88244c"]]},{"id":"e21d6c6b952e75fd","type":"debug","z":"a88b58905bd7ee66","name":"debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":800,"y":100,"wires":[]}]
@dceejay Please remember:
to check all 18 occurrences of the word clickable, to fix similar errors everywhere in your code!
For example: (Line 1692)
opt.clickable = (data.hasOwnProperty("clickable")) ? data.clickable : false;
should be: ... ? data.clickable : true; !! (Default true.)
Even better (simpler + faster) :
opt.clickable = (data.clickable !== false);