Interactions inheritance: parents from childs

Hi there!

I have already write this problem in Chloe’s posts, but since I got no response, i thought it will be better to post one of my own.

I have been creating an adaptive web, with Axure pro 7.0.3184 version. I have four different widths: Base, 1200, 800 and 450.
My widgets have a lot of interactions, almost every widget has one-six interactions with other widgets. The problem is, that I need these interactios to have different consequences in each view. Here’s what i mean:

-1200: Button: on-click moves Panel to y586
800: Button: on-click moves Panel to y410
450: Button: on-click moves Panel to y275

I have to do a lot of this kind of interactions. But, whenever I change the “y” value in 450 view (for example), it changes also in its parents views.
In the breakpoint chain, my main/aprent view is 1200/base. Everything “usually” acts ok, but this point is really annoying.

For some minor buttons, I have created a copy of the button, named differently (in fact it is a new button but alike) and copied the interaction with the changes I needed. I could do this again, but it would take a lot of time, since I will have to change interaction in over 40 widgets, more than 4 interaction each one.

Thank you in advance. Please forgive my poor english level.

Mai Bo

Hi Mai Bo,
Could you confirm, are you unselect the check box in Affect All Views?
Thanks,
Vikram

Hi mbuser,

It sounds like you’re running up against the fact that widget interactions don’t change based on adaptive views. That is, if you move a widget by 100 pixels in the base view, it’s going to move by 100 pixels in all the views. Or, if you’re working in your 450 view and change the move to 80 pixels, it’s going to be 80 pixels in the base view.

You can work around this by adding a condition to your cases to check for the current adaptive view:

With this condition set, you can have different actions depending on the adaptive view. That means you can move a widget by 100 pixels in the base view, 80 in the 800 view, 60 in the 450 view, etc. You can also perform entirely different actions or interact with completely different widgets in each view.

Regards,
Jonathan

Hi Jonathan and Vikram,

To Vikram, yes, “Affect all views” has been always unselected.

To Jonathan, thank you for your response, but I can’t get the attached file, it says “error 404”. Could you upload it again? I would like to see which interaction are you referring to, to copy it to my work and see how it works

Thank you

My apologies, I’m not sure what happened there. This is how you’d set up a condition to test for the current adaptive view and change your interactions accordingly:


Regards,
Jonathan

2 Likes

I am designing for Desktop first and have adaptive views on. Am trying to set a button interaction on med-sm-xs to show a panel onClick and in LG it should show onMouseEnter. I have set the conditions on the buttons. If I set the conditions for onClick and OnMouseEnter in the parent view, and then try to alter that interaction in the child view, it changes it in the parent view. Can you assist? I can load a screenshot

It sounds like it shouldn’t matter than the cases appear on all views, that’s intended.

OnMouseEnter
If adaptive view equals LG
  Show something

OnClick
If adaptive view equals med OR sm OR xs
  Show something

It doesn’t matter than the OnMouseEnter case appears when you’re in the med view, for example, because it will never actually happen in the med view.

If you need a separate click action for the smaller views, split them up:

OnClick
If adaptive view equals xs
  Do something
Else if adaptive view equals sm
  Do another thing
Else if adaptive view equals med
  Do something different'

But you’re going to see all the cases in all the views, that’s just how it works.

1 Like