<?xml version="1.0" encoding="utf-8"?>
<tvWindow xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute" cornerRadius="7" title="Video 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>