Newer
Older
SuperTUve / bioWindow.mxml
@reddawg reddawg on 13 Dec 2007 5 KB Sync
<?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>