<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
    backgroundColor="white"
    creationComplete="_service.send()" 
    xmlns:controls="de.sbistram.controls.*" 
    xmlns:view="org.sbistram.view.*" 
    viewSourceURL="srcview/index.html">

    <mx:Script><![CDATA[
    
        import mx.controls.Alert;
        import mx.rpc.events.FaultEvent;
        import mx.collections.XMLListCollection;
        import mx.rpc.events.ResultEvent;
        import mx.logging.ILogger;
        
        import de.sbistram.utils.LogUtils;
        import de.sbistram.controls.MatchFilter;
        
        [Bindable] private var _data:XMLList;
        
        private var _log:ILogger = LogUtils.getLogger(this);
        
        private function matchChanged():void {
            _grid.useFilter(_useFilter.selected);
            _grid.match(_text.text, _select.selectedItem.dataField);
        }
        
        private function contentHandler(event:ResultEvent):void { 
               _data = event.result.public_health_insurance;  
        } 
        
        private function faultHandler(event:FaultEvent):void {
            Alert.show(event.toString());
        }
        
    ]]></mx:Script>
    
    <mx:TraceTarget fieldSeparator=":" includeLevel="true" includeCategory="true" />
    
    <!-- get an XML data demo file from the server -->
    <mx:HTTPService url="assets/testData.xml" id="_service" result="contentHandler(event)" fault="faultHandler(event)" resultFormat="e4x" useProxy="false"  showBusyCursor="true" />
    
    <mx:ApplicationControlBar dock="true" >
        <mx:ComboBox id="_select" dataProvider="{_grid.columnSelectProvider()}" change="matchChanged()" rowCount="6" width="100" toolTip="Select the search column"/>
        <mx:TextInput id="_text" change="matchChanged()" width="140" toolTip="Type in the search text" />
        <mx:CheckBox id="_useFilter" label="Filter" click="matchChanged()" selected="true" toolTip="Switch on/off the filter" />
        <mx:Button label="Next" click="_grid.selectNext()" enabled="{_grid.matchFilter.enableSelectNext}" visible="{!_useFilter.selected}" toolTip="Select next match" />
        <mx:Button label="Previous" click="_grid.selectPrevious()" enabled="{_grid.matchFilter.enableSelectPrev}" visible="{!_useFilter.selected}" toolTip="Select previous match" />
        <mx:Spacer width="100%"/>
        <mx:CheckBox id="_useRollOver" label="RollOver" />
        <mx:Label text="{_grid.matchFilter.matchCount} Records." fontWeight="bold" />
    </mx:ApplicationControlBar>
    
    <view:Grid id="_grid" dataProvider="{_data}" showScrollTips="true" verticalScrollPolicy="on" useRollOver="{_useRollOver.selected}"/>
    
</mx:Application>