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. >>> >> >