Issues with triggering animations in SVG UI

Hi all,

I have a bit of a head-scratcher that I hope someone can help with. I have an animation in my animations tab with the ID show1AlertLevel1, which controls the opacity of an SVG object called Show1AlertIndicator. I have tested this animation previously and found it to work. Here is the function node that is defining the payload:

msg.payload =
{
"command": "trigger_animation",
"selector": "#show1AlertLevel1",
"action": "start"
}

return msg;

I don't believe I have changed anything in that part of the flow, but now for some reason I am receiving the following error:

"Invalid selector. No SVG elements found for selector #show1AlertLevel1(msg._msgid = '96133eb7c5335f62')"

It almost seems like the SVG node is ignoring the animation command and attempting to look for an SVG with that selector? I'm puzzled as to what's going on and would appreciate any help.

@zgoza,
Welcome to this forum!
Based on what you describe it should work.

  1. When you open your dashboard, the node will create all the animations in the svg drawing (so in this case an svg animation element with id show1AlertLevel1).
  2. When you inject that message, it will try to find an svg animation element with id show1AlertLevel1.
  3. When found, the animation will be triggered.

So hard to say what goes wrong. I assume something must have been changed in your flow...

Can you create a simple example flow that I can use to reproduce the issue?

Bart

Thanks for the welcome!

I was preparing a stripped down version of my SVG node for an example flow, when I inadvertently solved my own problem. I had script in the JS tab that I intended to have execute on a message, but I had it set to "click" instead. (I noticed this when I deleted my JS events to simplify the node and it worked.)

I am not certain how exactly that caused the issue to begin with, but it seems to be resolved when I change that one setting.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.