<?xml version="1.0" encoding="utf-8"?> <tvWindow xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute" cornerRadius="7" title="Bio Manager" width="975" height="620" creationComplete="doInit()" horizontalScrollPolicy="off" verticalScrollPolicy="off" borderThicknessLeft="0" borderThicknessBottom="0" borderThicknessRight="0"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.Alert; [Bindable] public var tvMaster:Master; public var bioData:String; [Bindable] private var bioList:ArrayCollection; [Bindable] private var artistsCol:ArrayCollection; [Bindable] private var bioInfo:ArrayCollection; [Bindable] private var tvUsers:ArrayCollection; private function doInit():void { var uArgs:Object = new Object; uArgs.gid = tvMaster.userInfo[0].gid; uArgs.uid = tvMaster.userInfo[0].uid; tvMaster.gateway.call("tuve.getUsers",new Responder(gotUsers,tvMaster.onFault),uArgs); uArgs = null; //bioGrid.selectedIndex = 0; bioSearch.text = bioData; findBio(); } private function gotUsers(result:Array):void { if (result != null) tvUsers = new ArrayCollection(result); } public function findBio():void { var uArgs:Object = new Object; uArgs.gid = tvMaster.userInfo[0].gid; uArgs.uid = tvMaster.userInfo[0].uid; uArgs.skey = bioSearch.text; tvMaster.gateway.call("tuve.getArtists",new Responder(gotArtists,tvMaster.onFault),uArgs); uArgs = null; } private function gotArtists(result:Array):void { if (result != null) { bioList = new ArrayCollection(result); bioGrid.selectedIndex = 0; getBioData(); } } private function getBioData():void { tvMaster.gateway.call("tuve.getArtist",new Responder(gotArtist,tvMaster.onFault),bioGrid.selectedItem.aid); } private function gotArtist(result:Array):void { var i:Number; if (result != null) { vidStatus.text = "Data Retrieved"; bioInfo = new ArrayCollection(result); bioDesc.htmlText = bioInfo[0].bio; bioArtist.text = bioInfo[0].artist; bioThumb.source = bioInfo[0].photo; bioFile.text = bioInfo[0].photo; for (i = 0;i < tvUsers.length;i++) { if (bioInfo[0].oid == tvUsers[i].uid) { bioOwner.selectedIndex = i; break; } } } } private function doUpdate():void { var newInfo:Object = new Object(); newInfo.artist = bioArtist.text; newInfo.aid = bioInfo[0].aid; newInfo.photo = bioFile.text; newInfo.oid = bioOwner.selectedItem.uid; newInfo.description = bioDesc.htmlText; tvMaster.gateway.call("tuve.updateArtist",new Responder(updateRes,tvMaster.onFault),newInfo); newInfo = null; } private function updateRes(result:String):void { if (result == "0") vidStatus.text = "Updated"; else vidStatus.text = "Error Updating"; } private function doPrev():void { if (upOnChange.selected == true) doUpdate(); bioGrid.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN,true,false,0.0,38)); } private function doNext():void { if (upOnChange.selected == true) doUpdate(); bioGrid.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN,true,false,0.0,40)) } ]]> </mx:Script> <mx:HBox width="100%" horizontalGap="0" height="100%"> <mx:Canvas width="100%" height="100%"> <mx:Label text="Status:" /> <mx:Label id="vidStatus" x="44" width="400"/> <mx:Form width="100%" height="550"> <mx:FormItem label="Artist:"> <mx:TextInput width="600" id="bioArtist" /> </mx:FormItem> <mx:FormItem label="Photo:"> <mx:Image width="200" height="150" id="bioThumb" scaleContent="true" maintainAspectRatio="true"/> </mx:FormItem> <mx:FormItem label="Photo File:"> <mx:TextInput width="600" id="bioFile"/> </mx:FormItem> <mx:FormItem label="Bio:"> <mx:RichTextEditor width="640" height="250" id="bioDesc" > </mx:RichTextEditor> </mx:FormItem> <mx:FormItem label="Owner:"> <mx:ComboBox dataProvider="{tvUsers}" labelField="username" width="200" id="bioOwner" /> </mx:FormItem> </mx:Form> <mx:Button label="Update" click="doUpdate()" y="508" x="10"/> <mx:Button label="Prev" click="doPrev()" x="10" y="533"/> <mx:Button label="Next" click="doNext()" x="71" y="533"/> <mx:CheckBox label="Update On Record Change" x="10" y="558" selected="true" id="upOnChange"/> </mx:Canvas> <mx:Canvas width="200" height="100%"> <mx:TextInput id="bioSearch" width="200" enter="findBio()" y="5"/> <mx:Button label="Search" x="0" click="findBio()" y="35"/> <mx:DataGrid y="67" id="bioGrid" dataProvider="{bioList}" width="200" height="513" change="getBioData()" verticalScrollPolicy="on"> <mx:columns> <mx:DataGridColumn headerText="Artist" dataField="artist" width="150" /> </mx:columns> </mx:DataGrid> </mx:Canvas> </mx:HBox> </tvWindow>