Blame | Letzte Änderung | Log anzeigen | RSS feed
<?xml version="1.0" encoding="utf-8"?><!--* @author Wei Zhuo <weizho[at]gmail[dot]com>* @version $Id$* @since 3.1--><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"backgroundColor="white"backgroundGradientAlphas="0"backgroundGradientColors="0"layout="vertical" creationComplete="initApp()"><mx:states><mx:State name="details"><mx:AddChild relativeTo="{hbox1}" position="lastChild"><mx:Form><mx:FormItem label="Name:"><mx:TextInput id="_username" text="{list1.selectedItem.username}"/></mx:FormItem><mx:FormItem label="Phone:"><mx:TextInput id="_phone" text="{list1.selectedItem.phone}" /><mx:Button id="saveButton" label="Save" click="doSave()" /></mx:FormItem></mx:Form></mx:AddChild></mx:State></mx:states><mx:PhoneNumberValidator id="val1" source="{_phone}" property="text" /><mx:StringValidator id="val2" source="{_username}" property="text"minLength="3" maxLength="20" /><mx:WebService id="addrSrv" fault="dataError(event)"><mx:operation name="saveAddress" result="addrSrv.getAllAddress()" /><mx:operation name="deleteAddress" result="addrSrv.getAllAddress()" /></mx:WebService><mx:Script><![CDATA[import mx.validators.Validator;import mx.utils.ArrayUtil;import mx.collections.ArrayCollection;import mx.controls.Alert;import mx.rpc.events.ResultEvent;import mx.rpc.events.FaultEvent;[Bindable]private var addressList:ArrayCollection;private function initApp():void{addrSrv.loadWSDL(getAddressBookWsdl());addrSrv.getAllAddress();}private function getAddressBookWsdl():String{var appUrl:Object=application.parameters.wsdl;if(appUrl!=null) // running in PRADO pagereturn appUrl.toString();else // running in static html for debugging.return "http://127.0.0.1/prado-trunk/demos/address-book/index.php?soap=address-book.wsdl";}private function dataError(event:FaultEvent):void{Alert.show(event.fault.faultString,"Data Communication Error");}private function doSave():void{if(Validator.validateAll([val1, val2]).length == 0){var data:Object = new Object;data.id = list1.selectedItem != null ? list1.selectedItem.id : -1;data.username = _username.text;data.phone = _phone.text;addrSrv.saveAddress(data);currentState='';}}private function doDelete():void{addrSrv.deleteAddress(list1.selectedItem.id);currentState='';}]]></mx:Script><mx:Panel layout="vertical" title="Prado Address Book" id="panel1" resizeEffect="Resize"><mx:HBox id="hbox1"><mx:DataGrid id="list1" dataProvider="{addrSrv.getAllAddress.lastResult}"width="350" click="if(list1.selectedIndex >= 0) currentState='details'"><mx:columns><mx:DataGridColumn headerText="Name" width="175" dataField="username"/><mx:DataGridColumn headerText="Phone" dataField="phone"/></mx:columns></mx:DataGrid></mx:HBox><mx:ControlBar id="controlbar1"><mx:Button label="New" click="list1.selectedIndex=-1; currentState='details'" id="button2"/><mx:Button label="Delete" enabled="{list1.selectedIndex >= 0}" click="doDelete()" id="button3"/></mx:ControlBar></mx:Panel></mx:Application>