[flexcoders] Re: help with a repeater

2011-10-10 Thread valdhor
As I said, it is easier to package up the items into a component and
repeat that. To that end, here is an example (Unfortunately, it appears
that vimeo is set up not to allow embedding. It does work with other web
sites however):

Application:
?xml version=1.0 encoding=utf-8?
mx:Application xmlns:mx=http://www.adobe.com/2006/mxml;
layout=vertical xmlns:Vimeo=Vimeo.*
creationComplete=onCreationComplete()
 mx:Script
 ![CDATA[
 import mx.collections.ArrayCollection;
 import mx.collections.XMLListCollection;
 import mx.rpc.events.FaultEvent;
 import mx.rpc.events.ResultEvent;

 private var vimeoListArrayColl:ArrayCollection;

 private function onCreationComplete():void
 {
 vimeoService.send();
 }

 private function onResult(event:ResultEvent):void
 {
 vimeoListArrayColl = event.result.videos.video as
ArrayCollection;
 vimeoRepeater.dataProvider = vimeoListArrayColl;
 }

 private function onFault(event:FaultEvent):void
 {

 }
 ]]
 /mx:Script
 mx:Repeater id=vimeoRepeater
 Vimeo:VimeoList vimeoItem={vimeoRepeater.currentItem}/
 /mx:Repeater
 mx:HTTPService id=vimeoService
url=http://vimeo.com/api/v2/iglesiafls/videos.xml;
resultFormat=object result=onResult(event) fault=onFault(event)/
/mx:Application

VimeoList.mxml:
?xml version=1.0 encoding=utf-8?
mx:VBox xmlns:mx=http://www.adobe.com/2006/mxml;
 mx:Script
 ![CDATA[
 import mx.managers.PopUpManager;

 [Bindable] public var vimeoItem:Object;

 private function openWindowVimeo(event:MouseEvent):void
 {
 var myVimeoWindow:VimeoWindow =
PopUpManager.createPopUp(this, VimeoWindow, true) as VimeoWindow;
 myVimeoWindow.windowTitle = vimeoItem.title;
 myVimeoWindow.iFrameSource = vimeoItem.url;
 PopUpManager.centerPopUp(myVimeoWindow);
 }
 ]]
 /mx:Script
 mx:Image source={vimeoItem.thumbnail_medium} width=200
height=150/
 mx:Text id=titleText text={vimeoItem.title} color=#F5FBFC
fontSize=14 width=300/
 mx:Text text={vimeoItem.description} color=#F5FAFB
width=300/
 mx:Text text={vimeoItem.url}/
 mx:Button name={vimeoItem.title} label=ver video
click=openWindowVimeo(event) enabled=true/
/mx:VBox

VimeoWindow.mxml:
?xml version=1.0 encoding=utf-8?
mx:TitleWindow xmlns:mx=http://www.adobe.com/2006/mxml;
layout=vertical width=800 height=600
 xmlns:flexiframe=http://code.google.com/p/flex-iframe/;
 title={windowTitle}
 showCloseButton=true
 close=titleWindow_close(event);
 mx:Script
 ![CDATA[
 import mx.events.CloseEvent;
 import mx.managers.PopUpManager;

 [Bindable] public var windowTitle:String;
 [Bindable] public var iFrameSource:String;

 private function titleWindow_close(evt:CloseEvent):void
 {
 PopUpManager.removePopUp(this);
 }
 ]]
 /mx:Script
 flexiframe:IFrame id=iFrameBySource width=100% height=100%
source={iFrameSource}/
/mx:TitleWindow

You will need flex-iframe from
https://github.com/flex-users/flex-iframe/ to embed the HTML.

Note that this is a quick and dirty example with no error checking etc.
You should use this to further your understanding rather than as a basis
for production code.

--- In flexcoders@yahoogroups.com, Gustavo Duenas gduenas@... wrote:

 This repeater is making me crazy, someone can help me out.

 Hi I have a repeater that has a button and the button open a title
 window component from flex
 So far I use the name property of the button to pass the title from
 the repeater to the title of the titlewindow

 here it is:
 Vimeo is the name of the repeater
 mx:button name={vimeo.currentItem.title}

 on the as3:
 myWindow.title=event.currentTarget.name;

 so far I can open it with the names from the list.

 Also I have an html inside of the title window and I want to set its
 location from the parameters of the repeater
 so here is when it start to be hard to imagine a way to retrieve that
 information from the repeater and pass it to
 the location.

 here is my code.
 import mx.managers.PopUpManager;
  import mx.containers.*;
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import flsWindow;

private function
 openWindowVimeo(event:MouseEvent):void{
  var
 myVimeoWindow:TitleWindow= TitleWindow(PopUpManager.createPopUp(this,
 flsWindow, true));
  myVimeoWindow.width=800;
 

[flexcoders] Re: help with a repeater

2011-10-07 Thread valdhor
I have had better results with a repeater if I bundle all the components in the 
repeater into a single component and then repeat that. You can create public 
variables in this custom component to hold values you need to pass in.

--- In flexcoders@yahoogroups.com, Gustavo Duenas gduenas@... wrote:

 I have a repeater which reads a xmllist from vimeo, it works and do  
 the repeat but when I tried to pass info from the repeater to the  
 title window, something happens and I have an as3
 errror. this is  my code.
 
 mx:Script
   ![CDATA[
   import mx.managers.PopUpManager;
   import mx.containers.*;
   import mx.controls.Alert;
   import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
   import flsWindow;
   
   private function openWindowVimeo(event:MouseEvent):void{
   var myVimeoWindow:TitleWindow=  
 TitleWindow(PopUpManager.createPopUp(this, flsWindow, true));
   
 myVimeoWindow.title=vimeoService.lastResult.video.title;///this is  
 the one using the xmlList,
 it works but only the last title and with tags there is a way that my  
 different video titles will be in the opened windows?
 also when I try using the repeater like:
 myVimeoWindow.title=vimeo.currentItem.title
 is always giving me and error.
   
   }
   
 ///here is my repeater, it works, but I cannot open the window as I  
 want.
 mx:HTTPService id=vimeoService 
 url=http://vimeo.com/api/v2/iglesiafls/videos.xml 
  resultFormat=e4x fault=onFault(event)/
 mx:XMLListCollection id=myVimeoList  
 source={vimeoService.lastResult.video}/
   mx:VBox width=340 height=334 x=699 y=422
   mx:Repeater id=vimeo dataProvider={myVimeoList}
   mx:Image source={vimeo.currentItem.thumbnail_medium} 
 width=200  
 height=150/
   mx:Text text={vimeo.currentItem.title} color=#F5FBFC  
 fontSize=14 width=300/
   mx:Text text={vimeo.currentItem.description} color=#F5FAFB 
  
 width=300/
   mx:LinkButton label=ver video click=openWindowVimeo(event) 
  
 id=vimeoButton enabled=true/
   
   /mx:Repeater
   /mx:VBox
 
 Could someone help me out
 
 gus





Re: [flexcoders] Re: help with a repeater

2011-10-07 Thread Gustavo Duenas

can you point me how?

thanks

gus


On Oct 7, 2011, at 12:04 PM, valdhor wrote:

I have had better results with a repeater if I bundle all the  
components in the repeater into a single component and then repeat  
that. You can create public variables in this custom component to  
hold values you need to pass in.


--- In flexcoders@yahoogroups.com, Gustavo Duenas gduenas@... wrote:

 I have a repeater which reads a xmllist from vimeo, it works and do
 the repeat but when I tried to pass info from the repeater to the
 title window, something happens and I have an as3
 errror. this is my code.

 mx:Script
 ![CDATA[
 import mx.managers.PopUpManager;
 import mx.containers.*;
 import mx.controls.Alert;
 import mx.rpc.events.FaultEvent;
 import mx.rpc.events.ResultEvent;
 import flsWindow;

 private function openWindowVimeo(event:MouseEvent):void{
 var myVimeoWindow:TitleWindow=
 TitleWindow(PopUpManager.createPopUp(this, flsWindow, true));
 myVimeoWindow.title=vimeoService.lastResult.video.title;///this is
 the one using the xmlList,
 it works but only the last title and with tags there is a way that  
my

 different video titles will be in the opened windows?
 also when I try using the repeater like:
 myVimeoWindow.title=vimeo.currentItem.title
 is always giving me and error.

 }

 ///here is my repeater, it works, but I cannot open the window as I
 want.
 mx:HTTPService id=vimeoService 
url=http://vimeo.com/api/v2/iglesiafls/videos.xml
  resultFormat=e4x fault=onFault(event)/
 mx:XMLListCollection id=myVimeoList
 source={vimeoService.lastResult.video}/
 mx:VBox width=340 height=334 x=699 y=422
 mx:Repeater id=vimeo dataProvider={myVimeoList}
 mx:Image source={vimeo.currentItem.thumbnail_medium} width=200
 height=150/
 mx:Text text={vimeo.currentItem.title} color=#F5FBFC
 fontSize=14 width=300/
 mx:Text text={vimeo.currentItem.description} color=#F5FAFB
 width=300/
 mx:LinkButton label=ver video click=openWindowVimeo(event)
 id=vimeoButton enabled=true/

 /mx:Repeater
 /mx:VBox

 Could someone help me out

 gus