With some guidance from Alex, I have the Accordion "working". The problem
now is that it appears as a Panel-in-Panel for each item. For example,
with two Panels in the dataProvider, there are two bars and whichever is
"open" or "selected" shows the Panel from the dataProvider along with its
title bar. I understand using a Panel as the itemRenderer, but I don't see
how there cannot be two title bars. I will continue to sort this out.

—peter

On 5/31/17, 2:47 PM, "Harbs" <harbs.li...@gmail.com> wrote:

>Yishay had some code to handle the cases where it’s not set via MXML
>which you removed.
>
>I changed his code to simply intialize the document if it was not set by
>MXML like this:
>
>               //Needed if the layout is not declared using MXML
>               private function 
> initializeDocument(contentView:ILayoutView):void
>               {
>                       document = {};
>                       for (var i:int = 0; i < contentView.numElements; i++)
>                       {
>                               var child:IStyleableObject = 
> contentView.getElementAt(i) as
>IStyleableObject;
>                               document[child.id] = child;
>                       }
>               }
>
>and in layout():
>                       if(document == null)
>                               initializeDocument(contentView);
>
>An AccordionLayout might make sense though. And switching to selection
>rather than checking collapsed might make sense as well.
>
>Thanks for working on this.
>
>> On May 31, 2017, at 7:47 PM, Peter Ent <p...@adobe.com.INVALID> wrote:
>> 
>> I'm still working on this and ran into a couple of issues.
>> 
>> The flexible child layouts no longer provide a way to explicitly set a
>> child; instead they rely in the child's id being used to retrieve the
>> child from the document. Unfortunately, a layout that is not referenced
>>in
>> MXML will not get its document set.
>> 
>> Perhaps a better solution is to write "AccordionLayout" that will expand
>> the child selected by the model, but I'm still looking at making use of
>> what is already there.
>> 
>> —peter
>> 
>> 
>> 
>> On 5/30/17, 11:35 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>> The reasons it’s broken is (at least) thee-fold:
>>> 
>>> 1. Panels contain content and need to be collapsed despite the fact
>>>that
>>> content exists.
>>> 2. The Collapse bead can only infer that it’s collapsed by the fact
>>>that
>>> the size is the collapsed size — which only makes sense if the size is
>>> set.
>>> 3. The title must be measured to set the collapsed height correctly.
>>> 
>>>> On May 30, 2017, at 6:21 PM, Harbs <harbs.li...@gmail.com> wrote:
>>>> 
>>>> Something like this:
>>>> 
>>>>           <js:Accordion selectedIndex="0">
>>>>               <js:dataProvider>
>>>>                   <fx:Array>
>>>>                       <js:Panel id="panel1" title="Panel 1"/>
>>>>                       <js:Panel id="panl2" title="Panel 2"/>
>>>>                   </fx:Array>
>>>>               </js:dataProvider>
>>>>           </js:Accordion>
>>>> 
>>>> This is the markup of an Accordion which used to work, which doesn’t
>>>> anymore.
>>>> 
>>>>            <js:Accordion id="accordion" width="100%" height="100%">
>>>>               <js:dataProvider>
>>>>                   <fx:Array>
>>>>                                            <view:SetupPanel/>
>>>>                                            <view:PackagePanel/>
>>>>                                            <view:TemplatePanel/>
>>>>                                            <view:FontPanel/>
>>>>                   </fx:Array>
>>>>               </js:dataProvider>
>>>>           </js:Accordion>
>>>> 
>>>> 
>>>>> On May 30, 2017, at 4:54 PM, Peter Ent <p...@adobe.com.INVALID>
>>>>>wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> Do you have a quick example of how to use the FlexJS Accordion? The
>>>>> ASDoc
>>>>> on it is thin. The children of the Flex SDK Accordion were navigation
>>>>> components that supported things like title so each section could be
>>>>> labeled. I don't see an AccordionChild or something similar that can
>>>>>be
>>>>> used with Accordion. I took a guess and made Container a child of it,
>>>>> but
>>>>> it just blew up.
>>>>> 
>>>>> Thanks,
>>>>> ‹peter
>>>>> 
>>>>> On 5/30/17, 6:39 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>>>> 
>>>>>> It seems like the new layouts totally broke Accordion.
>>>>>> 
>>>>>> Accordion relied on absolute sizing to handle expanding and
>>>>>> collapsing of
>>>>>> content. I tried to add a new layout which is basically a copy of
>>>>>>the
>>>>>> old
>>>>>> OneFlexibleVerticalLayout and use that for accordion, but that does
>>>>>> not
>>>>>> seem to work either due to changes in containers (I think).
>>>>>> 
>>>>>> Peter, do you thin you could look into this?
>>>>>> 
>>>>>> Thanks,
>>>>>> Harbs
>>>>> 
>>>> 
>>> 
>> 
>

Reply via email to