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