From 62ab91db375b5a3150076b4ad4d4b09d5c432150 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Fri, 19 Feb 2010 15:16:36 -0500 Subject: [PATCH] trying a version of CRUDDynamic with more awesome-er separation of mxml and as --- 03a2b-crud-dynamic/CRUDDynamic.mxml | 53 +++++++++++++++++++++++++++ 03a2b-crud-dynamic/CustomApp.as | 55 +++++++++++++++++++++++++++++ 03a2b-crud-dynamic/dyn-employees.as | 43 ++++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 03a2b-crud-dynamic/CRUDDynamic.mxml create mode 100644 03a2b-crud-dynamic/CustomApp.as create mode 100644 03a2b-crud-dynamic/dyn-employees.as diff --git a/03a2b-crud-dynamic/CRUDDynamic.mxml b/03a2b-crud-dynamic/CRUDDynamic.mxml new file mode 100644 index 0000000..9ce99d9 --- /dev/null +++ b/03a2b-crud-dynamic/CRUDDynamic.mxml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/03a2b-crud-dynamic/CustomApp.as b/03a2b-crud-dynamic/CustomApp.as new file mode 100644 index 0000000..4c348e2 --- /dev/null +++ b/03a2b-crud-dynamic/CustomApp.as @@ -0,0 +1,55 @@ +package +{ + import mx.core.Application; + import mx.rpc.events.ResultEvent; + import mx.collections.XMLListCollection; + + + public class CustomApp extends Application + { + public var params:Object = new Object(); + [Bindable] + public var listData:XMLListCollection; + + function CustomApp() + } + { + + public function resultHandler(event:ResultEvent):void { + var result:XML = XML(event.result); + var xmlList:XMLList = result.data.children(); + listData = new XMLListCollection(xmlList); + } + + public function insertItemHandler(event:ResultEvent):void { + fill(); + } + + public function fill():void{ + employeesService.removeEventListener(ResultEvent.RESULT,insertItemHandler); + employeesService.addEventListener(ResultEvent.RESULT,resultHandler); + employeesService.method = "GET"; + params['method'] = "FindAllEmployees"; + employeesService.cancel(); + employeesService.send(params); + viewstack1.selectedIndex=1; + } + + public function insertEmployee():void{ + employeesService.removeEventListener(ResultEvent.RESULT,resultHandler); + employeesService.addEventListener(ResultEvent.RESULT,insertItemHandler); + employeesService.method = "POST"; + params = {"method": "InsertEmployee", "id": NaN, "firstName": inputFirst.text, + "lastName": inputLast.text, "officePhone": inputPhone.text}; + employeesService.cancel(); + employeesService.send(params); + clearInputFields(); + } + + public function clearInputFields():void{ + inputFirst.text = ""; + inputLast.text = ""; + inputPhone.text = ""; + } + } +} diff --git a/03a2b-crud-dynamic/dyn-employees.as b/03a2b-crud-dynamic/dyn-employees.as new file mode 100644 index 0000000..d0cc66a --- /dev/null +++ b/03a2b-crud-dynamic/dyn-employees.as @@ -0,0 +1,43 @@ +import mx.rpc.events.ResultEvent; +import mx.collections.XMLListCollection; + +private var params:Object = new Object(); +[Bindable] +private var listData:XMLListCollection; + +public function resultHandler(event:ResultEvent):void { + var result:XML = XML(event.result); + var xmlList:XMLList = result.data.children(); + listData = new XMLListCollection(xmlList); +} + +public function insertItemHandler(event:ResultEvent):void { + fill(); +} + +public function fill():void{ + employeesService.removeEventListener(ResultEvent.RESULT,insertItemHandler); + employeesService.addEventListener(ResultEvent.RESULT,resultHandler); + employeesService.method = "GET"; + params['method'] = "FindAllEmployees"; + employeesService.cancel(); + employeesService.send(params); + viewstack1.selectedIndex=1; +} + +public function insertEmployee():void{ + employeesService.removeEventListener(ResultEvent.RESULT,resultHandler); + employeesService.addEventListener(ResultEvent.RESULT,insertItemHandler); + employeesService.method = "POST"; + params = {"method": "InsertEmployee", "id": NaN, "firstName": inputFirst.text, + "lastName": inputLast.text, "officePhone": inputPhone.text}; + employeesService.cancel(); + employeesService.send(params); + clearInputFields(); +} + +private function clearInputFields():void{ + inputFirst.text = ""; + inputLast.text = ""; + inputPhone.text = ""; +}