If it doesn’t remove itself, it seems like you’d end up with two layout beads 
and it would probably keep injecting more layout beads each time the component 
is made visible.

> On Aug 8, 2017, at 9:30 AM, Alex Harui <aha...@adobe.com.INVALID> wrote:
> 
> I was thinking the wrapper was an IBeadLayout, otherwise you couldn't
> inject the wrapper via CSS without other changes.  I'm not sure it has to
> remove itself before adding the actual bead or not.  Somebody will find
> out if someone actually tries this.
> 
> Other ideas are fine as well.  I'm just pointing out options that don't
> require compiler or base class changes or just-in-case code. I'm not sure
> how you'd inject CheckForVisibleBeforeLayoutBead in every Container in
> your app without doing the simple subclassing I suggested in the beginning.
> 
> -Alex
> 
> On 8/7/17, 11:21 PM, "Yishay Weiss" <yishayj...@hotmail.com> wrote:
> 
>> But you would need to override all these calls (or remove the layout bead
>> from CSS)
>> 
>>               addBead(new (ValuesManager.valuesImpl.getValue(this,
>> "iBeadLayout")) as IBead);
>> 
>> You wouldn’t need to if the wrapper was in itself an IBeadLayout, but
>> then it would have to remove itself before adding its wrapped bead.
>> 
>> To me it seems the main mode of communication between beads should be
>> notifications. Another thing that might work here is to create a
>> CheckForVisibleBeforeLayoutBead which would be added before the layout
>> bead. It would listen on ‘layoutNeeded’  and stopImmediatePropagation()
>> unless the host is visible.
>> 
>> From: Alex Harui<mailto:aha...@adobe.com.INVALID>
>> Sent: Tuesday, August 8, 2017 8:55 AM
>> To: dev@flex.apache.org<mailto:dev@flex.apache.org>
>> Subject: Re: FlexJS Bead dilemma
>> 
>> I was thinking the wrapper would just wait for the show event then set the
>> strand on the actual layout bead.  I'm not sure how much actually would
>> need to be proxied or forwarded in that case.  Or maybe the wrapper could
>> just put the actual layout bead on the strand.
>> 
>> Just tossing ideas around...
>> -Alex
>> 
>> On 8/7/17, 10:47 PM, "Yishay Weiss" <yishayj...@hotmail.com> wrote:
>> 
>>> That would make it a pretty thick wrapper. It would have to dispatch all
>>> the events that layout beads expect ,and implement ILayoutChild and
>>> ILayoutParent. Have a look at LayoutBase to see the dependencies on the
>>> strand  assumed by most layouts (and there are probably more in the
>>> concrete classes).
>>> 
>>> 
>>> Adding a meager LayoutOnShow bead seems cleaner to me.
>>> 
>>> ________________________________
>>> From: Alex Harui <aha...@adobe.com.INVALID>
>>> Sent: Monday, August 7, 2017 6:58:29 PM
>>> To: dev@flex.apache.org
>>> Subject: Re: FlexJS Bead dilemma
>>> 
>>> <SomeComponent>
>>> <beads>
>>>   <LayoutOnlyWhenVisibleWrapperBead>
>>>      <VerticalLayout />
>>>   </LayoutOnlyWhenVisibleWrapperBead>
>>> </beads>
>>> 
>>> A bead could have a property which is another bead.
>>> 
>>> Of course, I could be wrong...
>>> -Alex
>>> 
>>> On 8/7/17, 11:13 AM, "yishayw" <yishayj...@hotmail.com> wrote:
>>> 
>>>> Alex Harui-2 wrote
>>>>> A fancier alternative would be a bead that wraps a layout bead and
>>>>> adds
>>>>> the visible check.  That might be the best way to apply PAYG.
>>>> 
>>>> Can you explain what you mean? How would you wrap a bead?
>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> View this message in context:
>>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-f
>>>> l
>>>> e
>>>> x-development.2333347.n4.nabble.com%2FFlexJS-Bead-dilemma-tp63681p63726.
>>>> h
>>>> t
>>>> ml&data=02%7C01%7C%7C4491569503864889292108d4ddc03a7b%7Cfa7b1b5a7b344387
>>>> 9
>>>> 4
>>>> aed2c178decee1%7C0%7C0%7C636377265065337580&sdata=XfcOsF4uBbpuF9DW2Mt%2F
>>>> u
>>>> 5
>>>> zxSJYQth3mYyAwjLWJ88s%3D&reserved=0
>>>> Sent from the Apache Flex Development mailing list archive at
>>>> Nabble.com.
>>> 
>> 
> 

Reply via email to