Move Action Issue

nwilliams3743
nwilliams3743 Community Member Posts: 74
Hi all,

I am creating a basic move action where the user will select a button in a vertical stack, and small rectangle will move up/down to sit alongside whichever button in the list has been selected, basically just to show what button is active.

The action is set on each each button, On click move rectangle to x,y.

This works perfectly fine when the button is clicked once and then another. The issue is when a button is clicked, the rectangle moves alongside that button, but if you click the same button again (this could just be an accident of the user), and then attempt a different button, the move action no longer works.

i.e. in the image attached.. the orange rectangle is next to One. If i click any other box, it will move. I click the One box first, the orange rectangle will not move if i click any other box. If i click Two or Three first, the rectangle will move, but if i click that same box again, the action for the other boxes will no longer work?

Have I missed something blatantly obvious...?

Version Lectora 18.0

Comments

  • klaatu
    klaatu Community Member Posts: 988
    Nick, I still need to look at the exported code (seems like an event propagation issue/bug) however it is easily rectified. Track the Y position of MOVER and only call the move action if the Y position is changing. See attached.

     
  • klaatu
    klaatu Community Member Posts: 988
    Here's what I found.

    In the function ObjLayerDoTrans located in trivantis-trans.js there is a check that looks to see if the tTrans == tOut and if it does then it fires off eval(fn) and returns.

    If you remove the return or reverse tOut to !tOut it will function as you would expect.

    I am not suggesting anyone do this, I am only including it in case it's a bug and will help support.

     
  • nwilliams3743
    nwilliams3743 Community Member Posts: 74
    Hi Darrel,

    Thanks for looking into this and the provided solution. This will work for my case.

    Cheers