110 lines
2.9 KiB
XML
110 lines
2.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009"
|
|
xmlns:s="library://ns.adobe.com/flex/spark"
|
|
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"
|
|
label="{contact.id>0?contact.firstName+' '+contact.lastName:'New Contact'}">
|
|
|
|
<fx:Script>
|
|
<![CDATA[
|
|
|
|
import mx.rpc.events.FaultEvent;
|
|
import mx.rpc.events.ResultEvent;
|
|
import mx.controls.Alert;
|
|
|
|
[Bindable] public var contact:Contact;
|
|
|
|
private function save():void
|
|
{
|
|
contact.firstName = firstName.text;
|
|
contact.lastName = lastName.text;
|
|
contact.email = email.text;
|
|
contact.phone = phone.text;
|
|
contact.address = address.text;
|
|
contact.city = city.text;
|
|
contact.state = state.text;
|
|
contact.zip = zip.text;
|
|
if (contact.id == 0)
|
|
{
|
|
ro.create(contact);
|
|
}
|
|
else
|
|
{
|
|
ro.update(contact);
|
|
}
|
|
}
|
|
|
|
private function create_resultHandler(event:ResultEvent):void
|
|
{
|
|
contact.id = event.result.id;
|
|
}
|
|
|
|
private function update_resultHandler(event:ResultEvent):void
|
|
{
|
|
// no specific action for now
|
|
}
|
|
|
|
private function deleteItem():void
|
|
{
|
|
ro.remove(contact);
|
|
}
|
|
|
|
private function remove_resultHandler(event:ResultEvent):void
|
|
{
|
|
contact = null;
|
|
}
|
|
|
|
private function faultHandler(event:FaultEvent):void
|
|
{
|
|
Alert.show(event.fault.faultDetail);
|
|
}
|
|
|
|
|
|
]]>
|
|
</fx:Script>
|
|
|
|
<fx:Declarations>
|
|
<mx:RemoteObject id="ro" destination="contactService" fault="faultHandler(event)" endpoint="http://localhost:8400/spring-flex-testdrive/messagebroker/amf">
|
|
<mx:method name="create" result="create_resultHandler(event)"/>
|
|
<mx:method name="update" result="update_resultHandler(event)"/>
|
|
<mx:method name="remove" result="remove_resultHandler(event)"/>
|
|
</mx:RemoteObject>
|
|
</fx:Declarations>
|
|
|
|
<mx:Form>
|
|
<mx:FormItem label="Id">
|
|
<mx:TextInput text="{contact.id}" enabled="false"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="First Name">
|
|
<mx:TextInput id="firstName" text="{contact.firstName}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="Last Name">
|
|
<mx:TextInput id="lastName" text="{contact.lastName}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="Email">
|
|
<mx:TextInput id="email" text="{contact.email}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="Phone">
|
|
<mx:TextInput id="phone" text="{contact.phone}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="Address">
|
|
<mx:TextInput id="address" text="{contact.address}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="City">
|
|
<mx:TextInput id="city" text="{contact.city}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="State">
|
|
<mx:TextInput id="state" text="{contact.state}"/>
|
|
</mx:FormItem>
|
|
<mx:FormItem label="Zip">
|
|
<mx:TextInput id="zip" text="{contact.zip}"/>
|
|
</mx:FormItem>
|
|
</mx:Form>
|
|
|
|
<s:HGroup left="8" bottom="8">
|
|
<s:Button label="Close" click="parent.removeChild(this)"/>
|
|
<s:Button label="Save" click="save()"/>
|
|
<s:Button label="Delete" click="deleteItem()"/>
|
|
</s:HGroup>
|
|
|
|
</mx:Canvas>
|