flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harbs <harbs.li...@gmail.com>
Subject Re: FlexJS Bead dilemma
Date Thu, 03 Aug 2017 15:50:41 GMT
But it it doesn’t set display, we’re going to have to run layout every time the visibility

I’ve already made my changes. I’ll commit soon.

Ah. I see what you mean. By doing it your way, there’s no reason to actually run layout
until (or if) the visibility is set to true.

That probably *is* better. I’ll commit what I did for now, because it at least fixes the
bug, and when I have time, I’ll look into improving the layouts.

Another thought:

If visibility is turned on and off multiple times, this might be less efficient, but the layout
might be able to store a flag to avoid running the layout if not needed…


> On Aug 3, 2017, at 6:24 PM, Alex Harui <aharui@adobe.com.INVALID> wrote:
> Right, so layout code would have to check for display=="none" and not set
> display and listen for the show event.
> Maybe as you clean up the setting of display multiple times it will be
> come clear as to whether listening for "show" is cheaper/cleaner than
> displayStyleForLayout.
> -Alex
> On 8/3/17, 8:18 AM, "Harbs" <harbs.lists@gmail.com> wrote:
>> The problem is that visible is set before the bead exists.
>> BTW, Some of the layout seem to be reading and setting display multiple
>> times. That can cause layout thrashing. That should probably be resolved.
>>> On Aug 3, 2017, at 6:05 PM, Alex Harui <aharui@adobe.com.INVALID> wrote:
>>> FWIW, I'm not sure this is the best pattern.  It was what we did to get
>>> the examples to run.
>>> Another option is that layout beads listen for changes to visible and
>>> reset the CSS display style when visible changes.
>>> Food for thought,
>>> -Alex
>>> On 8/3/17, 8:00 AM, "Harbs" <harbs.lists@gmail.com> wrote:
>>>> I’m using a VerticalFlexLayout in a component. Under certain
>>>> circumstances, I need to set the visibility of the component to false.
>>>> These two settings are contradictory in JS.
>>>> visible=false sets display to none
>>>> VerticalFlexLayout sets the display to flex
>>>> When setting visible to false, it uses a property
>>>> “displayStyleForLayout”
>>>> to store the value set by the layout. The problem is that the layout
>>>> might be applied AFTER visible is already set to false (which is the
>>>> case
>>>> in my situation).
>>>> I’m thinking of solving this by exposing displayStyleForLayout so it
>>>> can
>>>> be set by beads if necessary.
>>>> Scratch that. I see that already exists. Problem solved… I’ll fix the
>>>> layouts.
>>>> Harbs

View raw message