How to get the type of object that has an interaction?

When I run the code,

console.log(interactions.allInteractions[0].triggerNode)

I get something like this:

Rectangle ('Rectangle 1') {
  width: 407, height: 175
  global X,Y: 99, 143
  parent: Group ('Group 1')
  stroke: ff707070
  fill: ffff9a9a

I want to be able to isolate for the first word “Rectangle”, since it indicates the type of object that has an interaction. I’ve checked the docs and am still unsure how I can get this string. Same thing goes for the “parent” property. I can get the parent’s name, “Group 1”, but I can’t get the parent type, "Group"

Any help would be much appreciated thank you! :persevere:

1 Like

console.log(interactions.allInteractions[0].triggerNode.constructor.name)

is the correct answer, figured it out!

3 Likes

Hello jz530, I am having trouble getting the whole interactions thing to work.
let interactions = require(‘interactions’);
let allInteractions = interactions.allInteractions;

trace(allInteractions.length);
trace(${allInteractions.length}); //returns 0 even though I do have interactions in my artboard.

trace(incomingInteractions ${xdNode.incomingInteractions}); //incomingInteractions is null

trace(triggeredInteractions ${JSON.stringify(xdNode.triggeredInteractions)}); // triggeredInteractions is null also.

all these return null or 0 (in case it is a list) I can’t seem to find a way to get those interactions from an SceneNode, and I am sure they do have them bc of two things:

  1. I set them up in xd, and I verified they worked on the preview.
  2. I know the scenenode is the one I am trying to get the interactions from bc it’s children change depending on the component’s actual state when I run the plugin.

Your help will be greatly appreciated.