height is zero

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

height is zero

Serkan Taş
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>


Reply | Threaded
Open this post in threaded view
|

Re: height is zero

Alex Harui-2

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ş <[hidden email]>
Reply-To: "[hidden email]" <[hidden email]>
Date: Thursday, March 19, 2020 at 7:19 AM
To: "[hidden email]" <[hidden email]>
Subject: 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>



Reply | Threaded
Open this post in threaded view
|

Re: height is zero

Serkan Taş
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