If you have a moment, send me the code off the list ..
[EMAIL PROTECTED] and I will be glad to work with you to get this running.

--Mike

--- In [email protected], "pioplacz" <[EMAIL PROTECTED]> wrote:
>
> Still not working it says it cannot "connect" to the filterInput and
genresInput and those 
> two are located in MovieView.mxml
> 
> 
> --- In [email protected], "Michael Labriola" <labriola@> wrote:
> >
> > 
> > In your result handler, call the refresh method after you set the
> > filterFunction.
> > 
> > --Mike
> > 
> > --- In [email protected], "pioplacz" <icep87@> wrote:
> > >
> > > Yes, i want to put my filter function in the main mxml file where
> > all my HTTPServices are 
> > > locates. I have already apply my filterfunction in the result
> > handler in the HTTPService the 
> > > problem is that i cannot get it to connect with the textinput
> > located in a MXML ViewStack 
> > > component. 
> > > 
> > > I pass my code here for both Main.MXML and MovieView.MXML. 
> > > 
> > > Hopes this help you all to help me.
> > > 
> > > Main.MXML:
> > > 
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*" 
> > > layout="absolute"
> > >   horizontalAlign="center" verticalAlign="middle" 
> > > backgroundGradientColors="[#000000, #000000]" 
> > >   width="100%" height="100%"  creationComplete="initApp()" 
> > > viewSourceURL="srcview/index.html" >
> > >   
> > >   <mx:HTTPService id="movieService"
> > url="http://192.168.25.200/PHP/katalog.php"; 
> > > useProxy="false"
> > >      result="srv_results(event)" fault="msFaultHandler(event);"
> > invoke="msInvokeHandler
> > > (event);"/>
> > >     <!-- HTTPSerivce for the tv-shows starts here -->
> > >     <mx:HTTPService id="tvService"
> > url="http://192.168.25.200/PHP/tvshows.php"; 
> > > useProxy="false" result="tv_results(event)"/>
> > >     <mx:HTTPService id="epService"
> > url="http://192.168.25.200/PHP/tvepisodes.php"; 
> > > useProxy="false" result="ep_results(event)"/>
> > >     <!-- END -->
> > >     <!--<mx:Model id="ipService" source="data/ip.xml"/>-->
> > >   <mx:Style source="katalog2main.css"/>
> > >     <mx:Script>
> > >           <![CDATA[
> > >                   import mx.managers.CursorManager;
> > >                   import mx.collections.IViewCursor;
> > >                   import mx.rpc.events.ResultEvent;
> > >                   import mx.rpc.events.FaultEvent;
> > >                   import mx.rpc.events.InvokeEvent;
> > >                   import mx.collections.ArrayCollection;
> > >                   import mx.events.ItemClickEvent;
> > >                   import mx.controls.Alert; 
> > >                   import mx.events.CloseEvent;
> > >             import flash.events.Event;
> > >             
> > >             private function initApp():void
> > >           {
> > >                   movieService.send(); 
> > >                   tvService.send(); 
> > >                   epService.send();
> > >           }
> > >           
> > >           private function msFaultHandler(event:FaultEvent):void
> > >             {
> > > 
> > >                 // There was an error in loading the XML
> > >                 Alert.show (event.fault.message);    
> > >                 
> > >                 // Hide the busy cursor
> > >                 CursorManager.removeBusyCursor();
> > >             }
> > >             
> > >             // Gets called when HTTPService is invoked to
> > >             // request the XML.
> > >             private function msInvokeHandler(event:InvokeEvent):void
> > > 
> > >             {
> > >                 // Display the busy cursor
> > >                 CursorManager.setBusyCursor();
> > >             }
> > >  
> > >                   public function srv_results(event:ResultEvent):void
> > >                   {
> > >                           movieCollection = 
> > > event.result.helakatalog.katalog as
> > ArrayCollection;
> > >                           movieCollection.filterFunction=movieFilter;
> > >                           //Hide the busy cursor
> > >             CursorManager.removeBusyCursor();
> > >                   }
> > >                   
> > >                   public function tv_results(event:ResultEvent):void
> > >                   {
> > >                   tvCollection = event.result.helakatalog.katalog as
ArrayCollection;
> > >                   //tvCollection.filterFunction=tvshowsFilter;
> > >                   }
> > >                   
> > >                   public function ep_results(event:ResultEvent):void
> > >                   {
> > >                   epCollection = event.result.helakatalog.katalog as
ArrayCollection;
> > >                   //epCollection.filterFunction=episodeFilter;
> > >                   }
> > >                   
> > >                   [Bindable]
> > >                   private var movieCollection:ArrayCollection;
> > >                   
> > >                   [Bindable]
> > >                   private var tvCollection:ArrayCollection;
> > >                   
> > >                   [Bindable]
> > >                   private var epCollection:ArrayCollection;
> > >                   
> > >                   // Filter function 
> > >                           public function movieFilter(item:Object):Boolean
> > >                           {
> > >                   var result:Boolean=false;
> > >                   if (!item.title.length
> > >             ||
> > item.title.toUpperCase().indexOf(filterInput.text.toUpperCase()) >= 0)
> > >             if (!item.genres.length
> > >             ||
> >
item.genres.toUpperCase().indexOf(genresInput.selectedItem.data.toUpperCase
> > > ()) >= 0)
> > >                   result=true;
> > >             
> > >               return result;
> > >                            }
> > >           
> > >           
> > >           ]]>
> > >     </mx:Script>
> > >     <mx:VBox width="85%" height="100%" verticalCenter="20"
> > horizontalCenter="0" 
> > > top="0">
> > >     <mx:ViewStack id="mainViewStack" width="100%" height="100%"
> > creationPolicy="all">
> > >           <!--MovieView HERE -->
> > >         <MovieView id="mView" label="Filmer"
> > movieCollection="{movieCollection}" 
> > > movieFilter="movieFilter"/>
> > >           <!--HomeView HERE-->
> > >           <mx:Canvas id="home" label="Start" width="100%" height="100%">
> > >                   <mx:VBox width="100%" height="100%" id="startVbox"
> > horizontalCenter="0" 
> > > bottom="0">
> > >                   <mx:Canvas width="100%" height="400" 
> > > id="questionCanvas" 
> > > horizontalCenter="0" top="0" >
> > >                   <mx:Image source="assets/question.png" autoLoad="true" 
> > > horizontalCenter="0" top="0"/>    
> > >                   <mx:Image source="assets/movie_start.png" 
> > > autoLoad="true" 
> > > horizontalCenter="-99" bottom="134"
> > click="mainViewStack.selectedChild=mView;"/>
> > >                   <mx:Image source="assets/tv_start.png" autoLoad="true" 
> > > horizontalCenter="98" bottom="134"
> > click="mainViewStack.selectedChild=tvView;"/>
> > >                   </mx:Canvas>
> > >           <mx:ApplicationControlBar id="dockedBar" dock="true"
> > width="100%" height="40">
> > >                   <mx:HBox horizontalAlign="right" paddingBottom="5"
> > paddingTop="5">
> > >                           <mx:Spacer width="100%" id="spacer1"/>
> > >                   </mx:HBox>
> > >                   <mx:HBox horizontalAlign="left" width="100%">
> > >                           <mx:Image source="assets/star.png" 
> > > autoLoad="true"
> > height="16" 
> > > verticalAlign="middle" scaleContent="false" id="image1"/>
> > >                           <mx:Text text="SopranKatalog Ver.2.1 BETA"
color="#ffffff" 
> > > fontWeight="bold" fontSize="12" fontFamily="Arial" textAlign="right"
> > id="text1"/>
> > >                   </mx:HBox>
> > >                   </mx:ApplicationControlBar>
> > >                   <mx:HBox id="footer" width="100%">
> > >                           <mx:Spacer width="100%" />
> > >                   </mx:HBox>
> > >                   </mx:VBox>
> > >         </mx:Canvas>
> > >         <!-- TVView HERE -->
> > >           <TvView id="tvView" label="TV" epCollection="{epCollection}" 
> > > tvCollection="{tvCollection}"/>
> > >           
> > >   </mx:ViewStack>
> > > 
> > >   </mx:VBox>
> > >   
> > > </mx:Application>
> > >  
> > > MovieView.MXML:
> > > 
> > > <?xml version="1.0" encoding="utf-8"?>
> > > <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"; xmlns="*"
> > width="100%" 
> > > height="100%">
> > > <mx:Script>
> > >   <![CDATA[
> > >                   import mx.collections.ArrayCollection;
> > >                   import mx.events.ItemClickEvent;
> > >                   import mx.controls.Alert; 
> > >                   import mx.events.CloseEvent;
> > >                   
> > >                   [Bindable]
> > >                   var movieCollection:ArrayCollection;
> > >                   
> > >                   
> > >               public var u:URLRequest;
> > >             
> > >             // Event listener to open URL when in dataGrid view
> > >                   private function dgMovieListClick(eventObj:Event):void {
> > >                     u = new
> > URLRequest("http://192.168.25.200/Movies/"; + 
> > > dgMovieList.selectedItem.link);
> > >                     navigateToURL(u);
> > >                     Alert.show("Högerklicka på filnamnet och tryck
> > spara som..", "Påbörja din 
> > > nerladdning", Alert.OK);
> > >             }
> > >             // Event listener to open URL when in tileList view
> > >                   private function dgTileListClick(eventObj:Event):void {
> > >                     u = new
> > URLRequest("http://192.168.25.200/Movies/"; + 
> > > tilelist1.selectedItem.link);
> > >                     navigateToURL(u);
> > >                     Alert.show("Högerklicka på filnamnet och tryck
> > spara som..", "Påbörja din 
> > > nerladdning", Alert.OK);
> > >             }
> > >             // Event listener to open Internet URL when in
dataGrid view
> > >                   private function dgInternetClick(eventObj:Event):void {
> > >                     u = new
> > URLRequest("http://sopran.dnsalias.com/Movies/"; + 
> > > dgMovieList.selectedItem.link);
> > >                     navigateToURL(u);
> > >                     Alert.show("Högerklicka på filnamnet och tryck
> > spara som..", "Påbörja din 
> > > nerladdning", Alert.OK);
> > >             }
> > >             // Event listener to open Internet URL when in
tileList view
> > >                   private function internetClick(eventObj:Event):void {
> > >                     u = new
> > URLRequest("http://sopran.dnsalias.com/Movies/"; + 
> > > tilelist1.selectedItem.link);
> > >                     navigateToURL(u);
> > >                     Alert.show("Högerklicka på filnamnet och tryck
> > spara som..", "Påbörja din 
> > > nerladdning", Alert.OK);
> > >             }
> > >   ]]>
> > > </mx:Script>
> > >     <!-- An ArrayCollection with an array of objects. -->
> > >     <mx:ArrayCollection id="genres">
> > >           <mx:Array>
> > >           <mx:Object label="Alla" data=""/>
> > >             <mx:Object label="Action" data="Action"/>
> > >             <mx:Object label="Animerat" data="Animerat"/>
> > >             <mx:Object label="Drama" data="Drama"/>
> > >             <mx:Object label="Komedi" data="Komedi"/>
> > >             <mx:Object label="Thriller" data="Thriller"/>
> > >         </mx:Array>  
> > >     </mx:ArrayCollection>
> > >   <mx:states>
> > >           <!-- MovieList Grid Starts Here -->
> > >           <mx:State name="Grid">
> > >                   <mx:RemoveChild target="{tilelist1}"/>
> > >                   <mx:RemoveChild target="{dockedBar}"/>
> > >                   <mx:AddChild relativeTo="{mainVbox}" 
> > > position="lastChild" 
> > > target="{dockedBar}"/>
> > >                   <mx:SetEventHandler target="{stchange}" name="click" 
> > > handler="currentState=''"/>
> > >                   <mx:AddChild relativeTo="{tilecanvas}" 
> > > position="lastChild">
> > >                           <mx:DataGrid id="dgMovieList" width="100%" 
> > > height="100%" 
> > > dataProvider="{movieCollection}" doubleClickEnabled="true" 
> > > itemDoubleClick="dgMovieListClick(event);" editable="false"
> > borderStyle="none" y="0">
> > >                                   <mx:columns>
> > >                                           <mx:DataGridColumn 
> > > headerText="Titel" dataField="title"/
> > > >
> > >                                           <mx:DataGridColumn 
> > > headerText="Kategori" 
> > > dataField="genres"/>
> > >                                           <mx:DataGridColumn 
> > > headerText="År" dataField="year"/>
> > >                                           <mx:DataGridColumn 
> > > headerText="Utgivare" 
> > > dataField="publisher"/>
> > >                                   </mx:columns>
> > >                           </mx:DataGrid>
> > >                   </mx:AddChild>
> > >                   <mx:RemoveChild target="{footer}"/>
> > >                   <mx:AddChild relativeTo="{mainVbox}" 
> > > position="lastChild" 
> > > target="{footer}"/>
> > >                   <mx:SetProperty target="{counterText}" name="height" 
> > > value="20"/>
> > >                   <mx:RemoveChild target="{linkbutton1}"/>
> > >                   <mx:RemoveChild target="{image1}"/>
> > >           </mx:State>
> > >           <!-- Tv-Shows List Starts Here -->
> > >           <!-- Tv-Shows END -->
> > >           <!-- MovieList Grid END -->
> > >   </mx:states>
> > >   <!-- Define the effects for the transitions between states -->
> > >   <mx:transitions>
> > >         <!-- Define the transition from the base state to the Grid
> > state.-->
> > >         <mx:Transition id="toGrid" fromState="*" toState="Grid">  
> > >             <mx:Sequence target="{tilecanvas}" >
> > >                    <mx:Parallel target="{tilecanvas}">
> > >                           <mx:Fade alphaFrom="0" alphaTo="1" 
> > > duration="1500"/>
> > >                           <mx:Move yFrom="1500" yBy="-1500" 
> > > duration="1000"/>
> > >                    </mx:Parallel>
> > >             </mx:Sequence>
> > >         </mx:Transition>
> > >         
> > >          <!-- Define the transition from the TvShows state to the
> > TvEpisodes state.-->
> > >         <mx:Transition id="toEpisodes" fromState="TvShows"
> > toState="TvEpisodes">  
> > >             <mx:Sequence target="{tilecanvas}" >
> > >                   <mx:WipeUp duration="1000" />
> > >             </mx:Sequence>
> > >         </mx:Transition>
> > >         <!-- Define the transition from the Grid state to the base
> > state.-->
> > >         <mx:Transition id="toDefault" fromState="Grid" toState="*">
> > >           <mx:Sequence target="{tilecanvas}" >
> > >                           <mx:Parallel target="{tilecanvas}">
> > >                                   <mx:Fade alphaFrom="0" alphaTo="1" 
> > > duration="1500"/>
> > >                                   <mx:Move yFrom="1500" yBy="-1500" 
> > > duration="1000"/>
> > >                           </mx:Parallel>
> > >             </mx:Sequence>
> > >         </mx:Transition>
> > >     </mx:transitions>
> > >     <!-- Transition effects END -->
> > >     
> > >     <mx:VBox width="100%" height="100%" id="mainVbox"
> > horizontalCenter="0" top="0">
> > >     <mx:Canvas width="100%" height="80%" id="tilecanvas" >
> > >   <mx:TileList id="tilelist1" width="100%" height="100%"
> > itemRenderer="thumbnail" 
> > > dataProvider="{movieCollection}" 
> > >           horizontalScrollPolicy="off" borderStyle="none" top="19" 
> > >           doubleClickEnabled="true"
itemDoubleClick="dgTileListClick(event);" 
> > > allowMultipleSelection="false" horizontalCenter="0"/>
> > >   </mx:Canvas>
> > >   <mx:ApplicationControlBar id="dockedBar" dock="true" width="100%">
> > >         <mx:HBox horizontalAlign="right" paddingBottom="5"
> > paddingTop="5">
> > >             <mx:Image source="assets/zoom.png" autoLoad="true"
> > height="100%" 
> > > verticalAlign="middle" scaleContent="false"/>
> > >             <mx:TextInput id="filterInput" text=""
> > change="movieCollection.refresh();" 
> > > width="166" toolTip="Skriv.."/>
> > >             <mx:Spacer width="100%" id="spacer1"/>
> > >             <mx:Image source="assets/color_swatch.png"
> > autoLoad="true" height="100%" 
> > > verticalAlign="middle" scaleContent="false"/>
> > >             <mx:Text text="Kategori" color="#ffffff" fontSize="12"
> > fontFamily="Arial" 
> > > fontWeight="bold" textAlign="left" selectable="false"/>
> > >                   <mx:ComboBox id="genresInput" dataProvider="{genres}"
enabled="true" 
> > > color="#ffffff" change="movieCollection.refresh();"/>
> > >         </mx:HBox>
> > >         <mx:HBox horizontalAlign="right" width="100%"
paddingBottom="5" 
> > > paddingTop="5">
> > >             <mx:Image source="assets/application_cascade.png"
> > autoLoad="true" 
> > > height="100%" verticalAlign="middle" scaleContent="false"
id="image2"/>
> > >             <mx:LinkButton id="stchange" label="Byta läge"
> > textAlign="left" width="69" 
> > > click="currentState='Grid'"/>
> > >             <mx:Image source="assets/film.png" autoLoad="true"
> > height="100%" 
> > > verticalAlign="middle" scaleContent="false" id="image3"/>
> > >             <mx:Text id="counterText"
> > text="{movieCollection.length}" paddingTop="2" 
> > > color="#ffffff" fontWeight="bold" textAlign="left" width="30"
> > height="20" 
> > > selectable="false" toolTip="Antal filmer som visas"/>
> > >           <!--<mx:LinkButton id="intlink" label="Download" />-->
> > >         </mx:HBox>      
> > >     </mx:ApplicationControlBar>
> > >           <mx:HBox id="footer" width="100%">
> > >           <mx:LinkButton id="tvchange" label="TvShows"/>
> > >           <mx:Spacer width="100%" />
> > >           <mx:Text text="FilmKatalog Ver.2 BETA" color="#ffffff"
> > fontWeight="bold" 
> > > fontSize="12" fontFamily="Arial" textAlign="right" id="text1"/>
> > >           <mx:Image source="assets/world_link.png" autoLoad="true"
> > height="100%" 
> > > verticalAlign="middle" scaleContent="false" id="image1"/>
> > >           <mx:LinkButton label="Internet" width="63"
> > click="internetClick(event);" 
> > > textAlign="left" toolTip="Klicka här om du befinner dig utanför
hemmet" 
> > > id="linkbutton1"/>
> > >   </mx:HBox>
> > >   </mx:VBox>
> > > </mx:Canvas>
> > > 
> > > 
> > > --- In [email protected], "Michael Labriola"
<labriola@> wrote:
> > > >
> > > > 
> > > > If I understand your question correctly (and I am not sure
that I do),
> > > > I would personally put your filter function in the file that
currently
> > > > calls the HTTPService and gets the result. Unless you are
using one of
> > > > the, or your own, common frameworks, most people seem to put
this in
> > > > their main application file. 
> > > > 
> > > > Depending a lot on how your code is constructed, you can probably
> > > > apply this filter function in the result handler for your
> > HTTPService.  
> > > > 
> > > > If I am missing the point, or your setup is more complex, let
me know.
> > > > 
> > > > As an aside, please take a look at the refresh method of the
> > > > ListCollectionView. If you are not actually replacing the whole
> > > > collection, you could use this to simply apply the filter.
> > > > 
> > > > --Mike
> > > > 
> > > > --- In [email protected], "pioplacz" <icep87@> wrote:
> > > > >
> > > > > Hi! 
> > > > > 
> > > > > I was just wondering is it possible to make a filterfunction
work
> > > > between ViewStack 
> > > > > components. What i mean is i'm calling the HTTP service in my
> > > > main.mxml but showing 
> > > > > the results in MovieView.mxml passing the data works fine. But i
> > > > can't figure out where i 
> > > > > should write the filter function:
> > > > > 
> > > > >               // Filter function 
> > > > >                       public function movieFilter(item:Object):Boolean
> > > > >                       {
> > > > >                       var result:Boolean=false;
> > > > >                       if (!item.title.length
> > > > >             ||
> > > >
item.title.toUpperCase().indexOf(filterInput.text.toUpperCase()) >= 0)
> > > > >             if (!item.genres.length
> > > > >             ||
> > > >
> >
item.genres.toUpperCase().indexOf(genresInput.selectedItem.data.toUpperCase
> > > > > ()) >= 0)
> > > > >                       result=true;
> > > > >             
> > > > >           return result;
> > > > >                        }
> > > > > 
> > > > > and where i should put:
> > > > > 
> > > > > movieCollection.filterFunction=movieFilter;
> > > > > 
> > > > > From the beginning i had all that in my Main.mxml and it worked
> > > > fine. Can somebody help 
> > > > > me, if you even get what i mean ?
> > > > >
> > > >
> > >
> >
>





--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/flexcoders/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to