<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009"  creationComplete="hbox1_creationCompleteHandler(event)"
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%" xmlns:nestedtreedatagrid="com.flexicious.nestedtreedatagrid.*" xmlns:grids="com.flexicious.grids.*" xmlns:columns="com.flexicious.grids.columns.*">
    <fx:Script>
        <![CDATA[
            import com.flexicious.example.model.billing.LineItem;
            import com.flexicious.example.utils.ExampleUtils;
            import com.flexicious.nestedtreedatagrid.valueobjects.RowPositionInfo;
            import com.flexicious.utils.UIUtils;
            
            import mock.FlexiciousMockGenerator;
            
            import mx.collections.ArrayCollection;
            import mx.events.FlexEvent;
            
            import pdf.AlivePdfGenerator;

            protected function hbox1_creationCompleteHandler(event:FlexEvent):void
            {
                
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    
    <grids:ExtendedDataGrid id="grid" width="100%" height="100%" enablePrint="true" enablePreferencePersistence="true"
                                     enableExport="true" enableCopy="true" preferencePersistenceKey="simpleGrid"
                                     dataProvider="{FlexiciousMockGenerator.instance().getFlatOrgList()}"
                                     selectedKeyField="id" enablePaging="true" pageSize="50" enableFilters="true"
                                                        enableFooters="true"  initialSortField="legalName" initialSortAscending="true"
                                                        >
            <grids:columns>
                <columns:ExtendedDataGridColumn dataField="id" headerText="ID" filterControl="TextInput"/>
                <columns:ExtendedDataGridColumn dataField="legalName" headerText="Legal Name"/>
                <columns:ExtendedDataGridColumn dataField="headquarterAddress.line1" headerText="Address Line 1" footerLabel="Count:" footerOperation="count"/>
                <columns:ExtendedDataGridColumn dataField="headquarterAddress.line2" headerText="Address Line 2"/>
                <columns:ExtendedDataGridColumn dataField="headquarterAddress.city.name" headerText="City" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
                <columns:ExtendedDataGridColumn dataField="headquarterAddress.state.name" headerText="State" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
                <columns:ExtendedDataGridColumn dataField="headquarterAddress.country.name" headerText="Country" filterControl="MultiSelectComboBox" filterComboBoxBuildFromGrid="true" filterComboBoxWidth="150"/>
                <columns:ExtendedDataGridColumn dataField="annualRevenue" headerText="Annual Revenue" textAlign="right" footerLabel="Avg:" footerOperation="average" footerAlign="center" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
                <columns:ExtendedDataGridColumn dataField="numEmployees" headerText="Num Employees" textAlign="right" footerLabel="Avg:" footerOperation="average" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
                <columns:ExtendedDataGridColumn dataField="earningsPerShare" headerText="EPS" textAlign="right" footerLabel="Avg:" footerOperation="average" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
                <columns:ExtendedDataGridColumn dataField="lastStockPrice" headerText="Stock Price" textAlign="right" footerLabel="Avg:" footerOperation="average" footerOperationPrecision="2" footerFormatter="{ExampleUtils.globalCurrencyFormatter}" labelFunction="UIUtils.dataGridFormatCurrencyLabelFunction"/>
            </grids:columns>
    </grids:ExtendedDataGrid>
    
</mx:HBox>