You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@royale.apache.org by Serkan Taş <se...@likyateknoloji.com> on 2020/03/19 14:18:55 UTC

height is zero

What may be the reason for the to be zero ?

So the panel is not visible.






Here is the source :

<?xml version="1.0" encoding="latin5" ?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                xmlns:s="library://ns.apache.org/royale/spark"
                xmlns:mx="library://ns.apache.org/royale/mx"
                height="600" width="800"
                currentState="anaSayfaState"
                xmlns:jobdetail="main.mtest.*"
creationComplete="group1_creationCompleteHandler(event)">

     <fx:Declarations>
         <fx:XML id="jobListXml" 
source="D:\dev\royale-emulation-works\github\royale-testing\src\main\old\joblist.xml" 
/>
     </fx:Declarations>

     <fx:Metadata>
         [ResourceBundle("messages")]
     </fx:Metadata>

     <fx:Script>
         <![CDATA[

             import mx.events.FlexEvent;
             import mx.collections.XMLListCollection;
             import 
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;

             import spark.components.gridClasses.GridColumn;
             import mx.resources.ResourceManager;
             import mx.events.FlexEvent;
             import mx.collections.XMLListCollection;
             import com.likya.pinara.event.ResourceEvent;
             import mx.events.FlexEvent;
             import com.likya.pinara.event.ResourceEvent;
             import com.likya.pinara.utils.Transformer;
             import mx.collections.ArrayCollection;

             private const detailPanelDefHeight:int = 240;

             [Bindable]
             public var selectedNetTreeId:String;

             [Bindable]
             public var jobListXmlCollection:XMLListCollection = new 
XMLListCollection();

             protected function 
group1_creationCompleteHandler(event:FlexEvent):void {
                 jobListXmlCollection.source = jobListXml.children();
addEventListener(ResourceEvent.ROW_SELECTION_CHANGED, 
rowSelectionChangedHandler);
             }

             private function 
rowSelectionChangedHandler(event:ResourceEvent):void {
                 var currentDataItem:XML = XML(event.object);

                 jobBaseInfoId.refreshData(currentDataItem);

if(currentDataItem.hasOwnProperty("runtimeParams")) {
                     depListComp.waitingMeJobs.dataProvider = new 
XMLListCollection(XMLList(currentDataItem.runtimeParams.waitingMeJobs.jobId));
                 } else {
                     depListComp.waitingMeJobs.dataProvider = null;
                 }

if(currentDataItem.hasOwnProperty("DependencyList")) {
                     depListComp.meToWaitJobs.dataProvider = new 
XMLListCollection(XMLList(currentDataItem.DependencyList.Item));
                 } else {
                     depListComp.meToWaitJobs.dataProvider = null;
                 }

                 stateHistory.dataProvider = new 
XMLListCollection(XML(currentDataItem.stateInfos.LiveStateInfos).children());

                 detailPanel.visible = true;
                 detailPanel.includeInLayout = true;
             }

             protected function 
pinaraJobListGrid_creationCompleteHandler(event:FlexEvent):void
             {
                 pinaraJobListGrid.jobListXmlCollection = 
jobListXmlCollection;
                 // permitEnableAllBtn();
             }

             private function toggleTreeComp():void {
                 if(toggleTree.toolTip == 
ResourceManager.getInstance().getString('messages', 
'jobSummaryPanelColpBut')) {
                     toggleTree.toolTip = 
ResourceManager.getInstance().getString('messages', 
'jobSummaryPanelExpand');
                     toggleTree.label = 
ResourceManager.getInstance().getString('messages', 
'jobSummaryPanelExpand');
                     detailPanel.height = 25;
                     // detailPanelGroup.visible = false;
                 } else {
                     toggleTree.toolTip = 
ResourceManager.getInstance().getString('messages', 
'jobSummaryPanelColpBut');
                     toggleTree.label = 
ResourceManager.getInstance().getString('messages', 
'jobSummaryPanelColpBut');
                     detailPanel.height = detailPanelDefHeight;
                     // detailPanelGroup.visible = true;
                 }
             }

             public function getStateInfo(item:XML, 
column:GridColumn):String {
                 var stateInfo:String = "";

                 if(item.LiveStateInfo.StateName != null) {
                     stateInfo += item.StateName;
                 }
                 if(item.LiveStateInfo.SubstateName != null) {
                     stateInfo +=  ("-" + item.SubstateName);
                 }
                 if(item.LiveStateInfo.StatusName != null) {
                     stateInfo += ("-" + item.StatusName);
                 }

                 return stateInfo;
             }

         ]]>
     </fx:Script>

     <s:VGroup paddingTop="0" width="100%" height="100%">
         <!-- Create a Spark ButtonBar control to navigate
         the ViewStack container. -->
         <s:TabBar id="tabNavigator" dataProvider="{myViewStack}" 
width="100" height="21"/>

         <!-- Define the ViewStack and the three child containers. -->
         <mx:ViewStack id="myViewStack" borderStyle="none" width="100%" 
height="100%">

             <s:NavigatorContent id="jobListGridTab" 
label="{resourceManager.getString('messages', 'jobListGridTabLabel')}" 
width="100%" height="100%">
                 <s:layout>
                     <s:VerticalLayout/>
                 </s:layout>

                 <jobdetail:PinaraJobListGrid 
selectedGroupId="{selectedNetTreeId}" id="pinaraJobListGrid" 
creationComplete="pinaraJobListGrid_creationCompleteHandler(event)"/>

                 <s:Panel id="detailPanel" 
title="{resourceManager.getString('messages', 'jobSummaryDetailPanel')}" 
height="{detailPanelDefHeight}" width="100%" visible="false" 
includeInLayout="false">

                     <s:Button id="toggleTree" y="-27" right="10" 
width="80" click="toggleTreeComp()" toolTip="Collapse" 
label="{resourceManager.getString('messages', 'jobSummaryPanelColpBut')}"/>

                     <s:Scroller width="100%" height="100%">

                         <s:HGroup width="100%" paddingLeft="10">

                             <jobdetail:JobBaseInfo id="jobBaseInfoId" 
height="150" width="500"/>

                             <s:VGroup paddingLeft="0" paddingTop="10" 
clipAndEnableScrolling="true" width="500">
                                 <s:Label 
text="{resourceManager.getString('messages', 'jobHistoryLabel')}" 
width="120" />
                                 <s:DataGrid id="stateHistory" 
width="500" height="150" >
                                     <s:columns>
                                         <s:ArrayList>
                                             <!-- 
width="{this.stateHistory.width * 0.35}" birinci kolon icin verince 
kolon başlık kısmı çizilemiyor. serkan...-->

                                             <s:GridColumn 
dataField="tarih" sortCompareFunction="Transformer.compareSortForDate" 
labelFunction="Transformer.getStateChangedDate" 
headerText="{resourceManager.getString('messages', 
'jobHisColHeaderTextDate')}" />
                                             <s:GridColumn 
dataField="durum_bilgisi" 
sortCompareFunction="Transformer.compareSortString" 
labelFunction="getStateInfo" 
headerText="{resourceManager.getString('messages', 
'jobHisColHeaderTextState')}" width="{this.stateHistory.width * 0.65}" />
                                         </s:ArrayList>
                                     </s:columns>
                                 </s:DataGrid>
                             </s:VGroup>

                             <jobdetail:DepLists id="depListComp" 
width="150">
                                 <jobdetail:layout>
                                     <s:VerticalLayout gap="10" 
paddingLeft="5" paddingTop="10" />
                                 </jobdetail:layout>
                             </jobdetail:DepLists>

                             <mx:VRule height="100%"/>

                         </s:HGroup>
                     </s:Scroller>

                 </s:Panel>

             </s:NavigatorContent>

         </mx:ViewStack>

     </s:VGroup>

</s:Application>


Re: height is zero

Posted by Serkan Taş <se...@likyateknoloji.com>.
Alex, I set an id for the components and set height values for them but 
still becomes 0. I am going to try to crate a test case and open an issue.



                 <s:Panel id="detailPanel" 
title="{resourceManager.getString('messages', 'jobSummaryDetailPanel')}" 
height="{detailPanelDefHeight}" width="100%" visible="false" 
includeInLayout="false">

                     <s:Button id="toggleTree" y="-27" right="10" 
width="80" click="toggleTreeComp()" toolTip="Collapse" 
label="{resourceManager.getString('messages', 'jobSummaryPanelColpBut')}"/>

                     <s:Scroller id="scrooler_id" width="100%" 
height="100%">

                         <s:HGroup id="hgroup_id" width="100%" 
paddingLeft="10" height="100">

                             <jobdetail:JobBaseInfo id="jobBaseInfoId" 
height="150" width="500"/>

                             <s:VGroup id="vgroup_id" paddingLeft="0" 
paddingTop="10" clipAndEnableScrolling="true" width="500">



19.03.2020 18:39 tarihinde Alex Harui yazdı:
>
> Looks like a bug in Scroller.  It should stretch its children.  A 
> workaround may be to set height=”100%” or to some value on the child 
> HGroup
>
>


Re: height is zero

Posted by Alex Harui <ah...@adobe.com>.
Looks like a bug in Scroller.  It should stretch its children.  A workaround may be to set height=”100%” or to some value on the child HGroup

From: Serkan Taş <se...@likyateknoloji.com>
Reply-To: "users@royale.apache.org" <us...@royale.apache.org>
Date: Thursday, March 19, 2020 at 7:19 AM
To: "users@royale.apache.org" <us...@royale.apache.org>
Subject: height is zero

What may be the reason for the to be zero ?

So the panel is not visible.


[cid:image001.png@01D5FDC9.D96E0E60]

[cid:image002.png@01D5FDC9.D96E0E60]

Here is the source :

<?xml version="1.0" encoding="latin5" ?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fns.adobe.com%2Fmxml%2F2009&data=02%7C01%7Caharui%40adobe.com%7C17064d73dd0e4cc28e6f08d7cc108897%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637202243695478561&sdata=ACyP87Qyl3f0wAqq2NYrHW8YKtW5%2FDxIMRYTeyxBGUo%3D&reserved=0>
               xmlns:s="library://ns.apache.org/royale/spark"
               xmlns:mx="library://ns.apache.org/royale/mx"
               height="600" width="800"
               currentState="anaSayfaState"
               xmlns:jobdetail="main.mtest.*"
               creationComplete="group1_creationCompleteHandler(event)">

    <fx:Declarations>
        <fx:XML id="jobListXml" source="D:\dev\royale-emulation-works\github\royale-testing\src\main\old\joblist.xml" />
    </fx:Declarations>

    <fx:Metadata>
        [ResourceBundle("messages")]
    </fx:Metadata>

    <fx:Script>
        <![CDATA[

            import mx.events.FlexEvent;
            import mx.collections.XMLListCollection;
            import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;

            import spark.components.gridClasses.GridColumn;
            import mx.resources.ResourceManager;
            import mx.events.FlexEvent;
            import mx.collections.XMLListCollection;
            import com.likya.pinara.event.ResourceEvent;
            import mx.events.FlexEvent;
            import com.likya.pinara.event.ResourceEvent;
            import com.likya.pinara.utils.Transformer;
            import mx.collections.ArrayCollection;

            private const detailPanelDefHeight:int = 240;

            [Bindable]
            public var selectedNetTreeId:String;

            [Bindable]
            public var jobListXmlCollection:XMLListCollection = new XMLListCollection();

            protected function group1_creationCompleteHandler(event:FlexEvent):void {
                jobListXmlCollection.source = jobListXml.children();
                addEventListener(ResourceEvent.ROW_SELECTION_CHANGED, rowSelectionChangedHandler);
            }

            private function rowSelectionChangedHandler(event:ResourceEvent):void {
                var currentDataItem:XML = XML(event.object);

                jobBaseInfoId.refreshData(currentDataItem);

                if(currentDataItem.hasOwnProperty("runtimeParams")) {
                    depListComp.waitingMeJobs.dataProvider = new XMLListCollection(XMLList(currentDataItem.runtimeParams.waitingMeJobs.jobId));
                } else {
                    depListComp.waitingMeJobs.dataProvider = null;
                }

                if(currentDataItem.hasOwnProperty("DependencyList")) {
                    depListComp.meToWaitJobs.dataProvider = new XMLListCollection(XMLList(currentDataItem.DependencyList.Item));
                } else {
                    depListComp.meToWaitJobs.dataProvider = null;
                }

                stateHistory.dataProvider = new XMLListCollection(XML(currentDataItem.stateInfos.LiveStateInfos).children());

                detailPanel.visible = true;
                detailPanel.includeInLayout = true;
            }

            protected function pinaraJobListGrid_creationCompleteHandler(event:FlexEvent):void
            {
                pinaraJobListGrid.jobListXmlCollection = jobListXmlCollection;
                // permitEnableAllBtn();
            }

            private function toggleTreeComp():void {
                if(toggleTree.toolTip == ResourceManager.getInstance().getString('messages', 'jobSummaryPanelColpBut')) {
                    toggleTree.toolTip = ResourceManager.getInstance().getString('messages', 'jobSummaryPanelExpand');
                    toggleTree.label = ResourceManager.getInstance().getString('messages', 'jobSummaryPanelExpand');
                    detailPanel.height = 25;
                    // detailPanelGroup.visible = false;
                } else {
                    toggleTree.toolTip = ResourceManager.getInstance().getString('messages', 'jobSummaryPanelColpBut');
                    toggleTree.label = ResourceManager.getInstance().getString('messages', 'jobSummaryPanelColpBut');
                    detailPanel.height = detailPanelDefHeight;
                    // detailPanelGroup.visible = true;
                }
            }

            public function getStateInfo(item:XML, column:GridColumn):String {
                var stateInfo:String = "";

                if(item.LiveStateInfo.StateName != null) {
                    stateInfo += item.StateName;
                }
                if(item.LiveStateInfo.SubstateName != null) {
                    stateInfo +=  ("-" + item.SubstateName);
                }
                if(item.LiveStateInfo.StatusName != null) {
                    stateInfo += ("-" + item.StatusName);
                }

                return stateInfo;
            }

        ]]>
    </fx:Script>

    <s:VGroup paddingTop="0" width="100%" height="100%">
        <!-- Create a Spark ButtonBar control to navigate
        the ViewStack container. -->
        <s:TabBar id="tabNavigator" dataProvider="{myViewStack}" width="100" height="21"/>

        <!-- Define the ViewStack and the three child containers. -->
        <mx:ViewStack id="myViewStack" borderStyle="none" width="100%" height="100%">

            <s:NavigatorContent id="jobListGridTab" label="{resourceManager.getString('messages', 'jobListGridTabLabel')}" width="100%" height="100%">
                <s:layout>
                    <s:VerticalLayout/>
                </s:layout>

                <jobdetail:PinaraJobListGrid selectedGroupId="{selectedNetTreeId}" id="pinaraJobListGrid" creationComplete="pinaraJobListGrid_creationCompleteHandler(event)"/>

                <s:Panel id="detailPanel" title="{resourceManager.getString('messages', 'jobSummaryDetailPanel')}" height="{detailPanelDefHeight}" width="100%" visible="false" includeInLayout="false">

                    <s:Button id="toggleTree" y="-27" right="10" width="80" click="toggleTreeComp()" toolTip="Collapse" label="{resourceManager.getString('messages', 'jobSummaryPanelColpBut')}"/>

                    <s:Scroller width="100%" height="100%">

                        <s:HGroup width="100%" paddingLeft="10">

                            <jobdetail:JobBaseInfo id="jobBaseInfoId" height="150" width="500"/>

                            <s:VGroup paddingLeft="0" paddingTop="10" clipAndEnableScrolling="true" width="500">
                                <s:Label text="{resourceManager.getString('messages', 'jobHistoryLabel')}" width="120" />
                                <s:DataGrid id="stateHistory" width="500" height="150" >
                                    <s:columns>
                                        <s:ArrayList>
                                            <!-- width="{this.stateHistory.width * 0.35}" birinci kolon icin verince kolon başlık kısmı çizilemiyor. serkan...-->

                                            <s:GridColumn dataField="tarih" sortCompareFunction="Transformer.compareSortForDate" labelFunction="Transformer.getStateChangedDate" headerText="{resourceManager.getString('messages', 'jobHisColHeaderTextDate')}" />
                                            <s:GridColumn dataField="durum_bilgisi" sortCompareFunction="Transformer.compareSortString" labelFunction="getStateInfo" headerText="{resourceManager.getString('messages', 'jobHisColHeaderTextState')}" width="{this.stateHistory.width * 0.65}" />
                                        </s:ArrayList>
                                    </s:columns>
                                </s:DataGrid>
                            </s:VGroup>

                            <jobdetail:DepLists id="depListComp" width="150">
                                <jobdetail:layout>
                                    <s:VerticalLayout gap="10" paddingLeft="5" paddingTop="10" />
                                </jobdetail:layout>
                            </jobdetail:DepLists>

                            <mx:VRule height="100%"/>

                        </s:HGroup>
                    </s:Scroller>

                </s:Panel>

            </s:NavigatorContent>

        </mx:ViewStack>

    </s:VGroup>

</s:Application>