I saw that Container worked, but how do you get labels on them?
—peter

On 11/9/17, 9:54 AM, "Harbs" <[email protected]> wrote:

>Inside the js:Array should be Container elements.
>
>I’m using it in production.
>
>> On Nov 9, 2017, at 4:28 PM, Peter Ent <[email protected]> wrote:
>> 
>> I tested my change. I don't think it adversely affects Accordion at all,
>> but Accordion doesn't seem to be working correctly anyway.
>> 
>> I'm getting Panels inside of Panels. So if in the <fx:Array> supplied to
>> Accordion, I have a <js:Panel>, that Panel gives title to the Accordion
>> header, but then a panel becomes a child of that container. I think
>> Accordion needs a re-do.
>> 
>> The change I made to PanelView is very simple and I cannot see it having
>> any adverse affects. I also found an old email where I said I would make
>> an official AccordionExample as part of the examples/ directory. I'm
>>going
>> to take what I just put together and do that so we'll have something to
>> work with.
>> 
>> ‹peter
>> 
>> On 11/8/17, 5:23 PM, "Harbs" <[email protected]> wrote:
>> 
>>> Did you test if this effects Accordion?
>>> 
>>>> On Nov 8, 2017, at 8:00 PM, [email protected] wrote:
>>>> 
>>>> This is an automated email from the ASF dual-hosted git repository.
>>>> 
>>>> pent pushed a commit to branch develop
>>>> in repository 
>>>> 
>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox
>>>>.a
>>>> 
>>>>pache.org%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7C%7C562974befcb
>>>>e4
>>>> 
>>>>86610ce08d526f758a5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636457
>>>>76
>>>> 
>>>>6135386019&sdata=5cJenPvUsEXBM5%2FqvCbC557p5fkLxsCZCP%2By0LIitH8%3D&res
>>>>er
>>>> ved=0
>>>> 
>>>> 
>>>> The following commit(s) were added to refs/heads/develop by this push:
>>>>    new 3e77b0c  PanelView no longer removes beads. Instead, it
>>>> transfers beads from the Panel to its Container content area.
>>>> 3e77b0c is described below
>>>> 
>>>> commit 3e77b0ce0a9e967fd229a2218cd277d593b58e69
>>>> Author: Peter Ent <[email protected]>
>>>> AuthorDate: Wed Nov 8 13:00:20 2017 -0500
>>>> 
>>>>   PanelView no longer removes beads. Instead, it transfers beads from
>>>> the Panel to its Container content area.
>>>> ---
>>>> .../org/apache/royale/html/beads/PanelView.as      | 58
>>>> ++++++++++++----------
>>>> 1 file changed, 32 insertions(+), 26 deletions(-)
>>>> 
>>>> diff --git 
>>>> 
>>>>a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/bead
>>>>s/
>>>> PanelView.as 
>>>> 
>>>>b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/bead
>>>>s/
>>>> PanelView.as
>>>> index 67b0552..e1343ff 100644
>>>> --- 
>>>> 
>>>>a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/bead
>>>>s/
>>>> PanelView.as
>>>> +++ 
>>>> 
>>>>b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/bead
>>>>s/
>>>> PanelView.as
>>>> @@ -133,10 +133,29 @@ package org.apache.royale.html.beads
>>>> 
>>>>            var host:UIBase = UIBase(value);
>>>> 
>>>> +                  // Look for a layout and/or viewport bead on the host's 
>>>> beads
>>>>list.
>>>> If one
>>>> +                  // is found, pull it off so it will not be added 
>>>> permanently
>>>> +                  // to the strand.
>>>> +            var beads: Array = host.beads;
>>>> +            var transferLayoutBead: IBeadLayout;
>>>> +            var transferViewportBead: IViewport;
>>>> +                  if (host.beads != null) {
>>>> +                          for(var i:int=host.beads.length-1; i >= 0; i--) 
>>>> {
>>>> +                                  if (host.beads[i] is IBeadLayout) {
>>>> +                                          transferLayoutBead = 
>>>> host.beads[i] as IBeadLayout;
>>>> +                                          host.beads.splice(i, 1);
>>>> +                                  }
>>>> +                                  else if (host.beads[i] is IViewport) {
>>>> +                                          transferViewportBead = 
>>>> host.beads[i] as IViewport
>>>> +                                          host.beads.splice(i, 1);
>>>> +                                  }
>>>> +                          }
>>>> +                  }
>>>> +
>>>>            if (!_titleBar) {
>>>>                _titleBar = new TitleBar();
>>>>                    }
>>>> -                  
>>>> +
>>>>                    _titleBar.id = "panelTitleBar";
>>>> 
>>>>                    COMPILE::SWF {
>>>> @@ -153,7 +172,7 @@ package org.apache.royale.html.beads
>>>>                            _titleBar.element.style["flex-grow"] = "0";
>>>>                            _titleBar.element.style["order"] = "1";
>>>>                    }
>>>> -                  
>>>> +
>>>>                    _titleBar.addEventListener("close", handleClose);
>>>> 
>>>>                    // replace the TitleBar's model with the Panel's model 
>>>> (it
>>>> implements ITitleBarModel) so that
>>>> @@ -167,7 +186,13 @@ package org.apache.royale.html.beads
>>>>                    if (!_contentArea) {
>>>>                            _contentArea = new Container();
>>>>                            _contentArea.id = "panelContent";
>>>> -                          _contentArea.className = "PanelContent";
>>>> +                          _contentArea.typeNames = "PanelContent";
>>>> +
>>>> +                          // add the layout bead to the content area.
>>>> +                          if (transferLayoutBead) 
>>>> _contentArea.addBead(transferLayoutBead);
>>>> +
>>>> +                          // add the viewport bead to the content area.
>>>> +                          if (transferViewportBead)
>>>> _contentArea.addBead(transferViewportBead);
>>>> 
>>>>                            COMPILE::SWF {
>>>>                                    _contentArea.percentWidth = 100;
>>>> @@ -195,31 +220,12 @@ package org.apache.royale.html.beads
>>>> 
>>>>            super.strand = value;
>>>> 
>>>> -                  // If the Panel was given a layout, transfer it to the 
>>>> content
>>>>area.
>>>> -                  var layoutBead:IBeadLayout = 
>>>> value.getBeadByType(IBeadLayout) as
>>>> IBeadLayout;
>>>> -                  if (layoutBead) {
>>>> -                          value.removeBead(layoutBead);
>>>> -
>>>> -                          var contentLayout:IBeadLayout =
>>>> _contentArea.getBeadByType(IBeadLayout) as IBeadLayout;
>>>> -                          if (contentLayout) {
>>>> -                                  _contentArea.removeBead(contentLayout);
>>>> -                          }
>>>> -                          _contentArea.addBead(layoutBead);
>>>> -                  }
>>>> -
>>>> -                  // If the Panel was given a viewport, transfer it to 
>>>> the content
>>>> area.
>>>> -                  var viewportBead:IViewport = 
>>>> value.getBeadByType(IViewport) as
>>>> IViewport;
>>>> -                  if (viewportBead) {
>>>> -                          value.removeBead(viewportBead);
>>>> -                          _contentArea.addBead(viewportBead);
>>>> -                  }
>>>> -
>>>>                    if (contentArea.parent == null) {
>>>>                            (_strand as Panel).$addElement(contentArea as 
>>>> IChild);
>>>>                    }
>>>> 
>>>>                    // Now give the Panel its own layout
>>>> -                  layoutBead = new VerticalFlexLayout();
>>>> +                  var layoutBead:IBeadLayout = new VerticalFlexLayout();
>>>>                    value.addBead(layoutBead);
>>>>            }
>>>> 
>>>> @@ -247,7 +253,7 @@ package org.apache.royale.html.beads
>>>>            override protected function completeSetup():void
>>>>            {
>>>>                    super.completeSetup();
>>>> -                  
>>>> +
>>>>                    performLayout(null);
>>>>            }
>>>> 
>>>> @@ -266,11 +272,11 @@ package org.apache.royale.html.beads
>>>>                    _contentArea.dispatchEvent(new Event("layoutNeeded"));
>>>>                    performLayout(event);
>>>>            }
>>>> -          
>>>> +
>>>>            private function handleClose(event:Event):void
>>>>            {
>>>>                    IEventDispatcher(_strand).dispatchEvent(new 
>>>> Event("close"));
>>>>            }
>>>> -          
>>>> +
>>>>    }
>>>> }
>>>> 
>>>> -- 
>>>> To stop receiving notification emails like this one, please contact
>>>> ['"[email protected]" <[email protected]>'].
>>> 
>> 
>

Reply via email to