Hidden Widget Possible Bug or Feature?


#1

I’m not sure if this is a bug or feature, but it took me a whole morning just to figure out what was going on. I have a condition where I hide a group of widgets (and I hide each individual widget for good measure/project requirements). However, I also need to move this group of widgets. Both of these are in the same condition branch. Originally, I put the movement after the hiding in the condition, and after some testing, it did not end up moving (after I showed the group again). Then, after a LOT of testing, I moved the movement to before the hiding in the condition, and it worked exactly as expected.

Given this, it appeared that any actions performed on a hidden object don’t actually take place. However, I do have some “permanently” hidden (hidden from the page load and never shown at all) widgets that I modify by changing the text within (and works fine). Therefore, it seems like only movement is unavailable for hidden widgets.

tl;dr - The notion of being able to modify a hidden widget’s contents but not its location seems like a bug.


#2

@rzhang,

There must be something else going on in your prototype. It is definitely possible to move hidden widgets and groups of widgets, and I do it all the time. Could it be that you are “double hiding” your widgets and they are actually getting moved, just not showing up? If you hide a widget in the group, then hide the group, then show the group, that individual widget would still be hidden. So, try hiding only the group or only the widgets, but not both.

If that’s not the issue, could you post your .rp file? …or contact support@axure.com and send them your file if you can’t post it here.


#3

@mbc66

I’m not sure about the “double hiding” part, but I’m sure that they should be moved while hidden, but they’re not. You can play around with this model I made that was similar to what I had in my main project.

TabTester.rp (251.5 KB)

Notice in the “Close[Object]” widgets (the x’s to close), there is a case called “Close[Object]Tab” that has my problem. If you play around with this broken version by clicking certain tabs to open and certain tabs to close, you’ll see that either they don’t show up where they should or they appear at a very weird spot. The “hide” calls are before the “move” calls. If you move the “hide” section to the end of that case, everything works as planned.

Here is a case to play with:

Click the side bars: Information, Contact, About in that order, then close them in the order: About, Contact, Information. Now open them again in the order: Information, Contact, About. You should see space between the Info and Contact tabs and the Contact and About tabs. The only explanation for this is that the movement of both Contact and About tabs don’t go back to (400, 100) as they should (because the move is called after the hide) and just stays at where it was.

If you move the hide call to after everything else in that case, it works as it should.


#4

OK, very interesting…

I made a copy of your widgets on Page 1 of this .rp file and did some tests of moving hidden groups.

TabTester.rp (570.0 KB)

So, if you have a group of widgets and hide the group, it will move. If every widget in that group is individually hidden, the group will not get moved, regardless of group visibility. If any one widget in a group is visible, the group will move, regardless of visibility. I’m not sure why… @Jane_Axure or anyone in Axure Support–could you lend an explanation?

@rzhang, it turns out I was right about the “double hiding” but not for the reason I thought! You can solve your issue here by only hiding the group, or at least keeping one widget visible (like the tab) when you hide the group. Or, you could ungroup your tabs and convert to dynamic panels. The dynamic panel will move regardless of visibility of any of its elements.


#5

Hi guys!

It looks like if you hide individual widgets, move the group, then show the individual widgets, the widgets in the group do not move. However, it you hide the individual widgets, move the individual widgets, then show the individual widgets, then this works. And last, if you hide one of the individual widgets, move the group, then show the individual widgets, this also works to move both widgets in the group. I can see how this behavior may be unexpected, and I’ll go ahead and file this with our respective teams for review. For the meantime, it’ll help to use the solutions provided by mbc66 to get the intended behavior. Ty!


unlisted #6