Flex :: Mvc - Sharing Data Between Different Components
May 13, 2010
i have in my flex application various mxml components that all need to show stats based on the same data. how can i go about doing that? do i need some mvc framework like cairngrom or puremvc for that or can i do it without them?
I have several mxml components in an app, all of which need the same variable called genericX. I've included that variable in the main mxml and made it public [Bindable] public var genericX:Number = 102; But I still can't access it from other mxml components. If I try to do this for example, it doesn't recognize the variable. <s:Button x="{genericX}" label="Click" />
I've been searching for the last couple days but can't seem to find a basic example of what I'm looking for. I'm developing a Flex 4.5 app and in it I have a viewstack of 2 components that use some of the same services. Currently the only way I can get the app to correctly use the web services is by defining 2 different web services that use the same PHP web service file. For example: I have an app, and within it I have a viewstack with tab navigation of 2 components: #1) retrieve a list of all Salary Employees, and #2) retrieve a list of all Contractors. Currently to get it working I am defining a UsersTableEmployees webservice within component #1 and a UsersTableContractors webservice within component #2, but they both point to the same PHP class, and only differ in the arugment value I pass to them. Ie, getUsers("employee") and getUsers ("contractors"). Of course this is not best practice.
Searching StackOverflow and Google gives me many results about ColdFusion and MVC (example What's the best way to share data between components in Flex?), but I'm still confused. Can anyone here point me to a basic example (even sample MVC) and source code of an app that uses Zend AMF and allows different components to call common web services?
I have a Flex application that I'm working on for a new job. It's sort of a training wheels application -- I'm learning the language, and this isn't an app that needs to talk to a service in order to do its job. There are a few instances of combo boxes throughout the application that share the same set of possible values (say, a selection of states: "In Progress", "Rejected", "Complete") that I want to have use the same data source.
In my flex application, my custom class AudLogDataGrid has a renderer function that takes a list of data and filters it, before passing it to the renderer:
private function rendererFunction(item:Object, grid:Object):ClassFactory { var itemRenderer:ClassFactory = new ClassFactory(AudActionDropDownIR); var FilteredAudActionData:ArrayCollection = new ArrayCollection(AudActionData.toArray());
[Code].....
However, rendererFunction runs before the data is fully retrieve from the server! Is there any way to get around this without declaring the AudLogDataGrid in AS?
I have an sqlite db in an application and am stuck on how to pass the data that is retrieved from the db into multiple textboxes. I can get the first selection passed into the components just fine, but my problem comes in when I try to pass a second data selection into a different textbox while keeping the data from the previous selection the same in the first textbox.Basically, the user selects a recipe and that recipe is passed into textbox 1 Then another recipe is selected and that recipe is passed into textbox 2. *The recipes are selected from a different view, if that adds anything to the problem. After being selected, the view is returned to where the textboxes are.I'm not looking for someone to code this for me, but rather on how I would do it. I should be able to do that. =)My Text Components
I have a vertical tab-bar with 4 items with different sub tabs. All the four items use data from a single xml file, which is a big file. When the user clicks on a tab, while the data is being loaded this error is shown. TypeError: Error #1009: Cannot access a property or method of a null object reference. I want to disable all the tabs while the xml file is being loaded.
Say I create a swf and in it, I have two dynamic text fields. I do all the usual stuff like give these text fields instance names. I call this swf1.Now say I load swf1 into another swf, say swf2. Can I set the values to be placed into the text fields in swf1 from within swf2?
I have a professional license of Flex 3.3. This allows me to create applications using the data visualization components (charts) without watermarks. However, all of release builds (test, production, etc) occur on our build server.
The build server only has the Flex SDK installed (not full Flex Builder). As a result the SWFs compiled with this SDK contain watermarks on all the charts. How can I apply a Flex Builder Professional license to the build server to remove the watermakrs w/o installing Flex Builder?My build environment is Flex SDK 3.3 + CruiseControl.NET + NAnt.
We can pass data to the next view while using navigator.pushview, but the data is lost when the back button is clicked (popview).
I have views that make remote calls and I want to keep the data when the user navigates back to the view using the back button so I don't have to make a remote call again.
Is there a way to set a global variable that's accessible from all views, or a way to retain data when a user navigates back to a view using the back button?
I am created a dynamically adding a VBox, that contains two images. Into a Custom Component that is derived from UIComponent. The problem is the Vbox that contains the two image is only a really tiny size. I would like the VBox stretch to the size of the two images. This is how I am creating the Vbox....
Is it bad practice/design to nest components inside components using Flex 4? Should I simply be creating components and inserting them into my main application as below, or doesn't it matter?
As you know, we could build a RIA application based on flex. Also, we could build an desktop application based on AIR. I have a question, If we want to build web & desktop application simultaneously. Could we use the same codes to ship our production to web & desktop?
Are there any off the shelf components for adding a screen sharing feature to my app?I've built real time text chat for a group chat room - now I'd like to have a button where a user can share their screen with the other members of the chat. Basically, I'm looking for a way to add this feature as easily as possible:
Lets say I have two swfs A and B, and at runtime, swf A loads swf B, and I wish to share code between them, to minimize file size and download times.If swf B has some code (say. com.blah.HelloWorld), I tell the compiler to have swf B's source in swf A's classpath, but only do a compile-time link and not actually compile com.blah.HelloWorld into swfThis works, and I have tried it, using a the -includes and -externs compiler options.However, My problem is that I wish to do this the other way. i.e. swf A and B (and potentially swf C) all need com.blah.HelloWorld, but I want com.blah.HelloWorld to be compiled into just swf A, have it as an external reference in swf B ( and potentially C as well.)I tried doing this using the externs and includes, but I get ReferenceErrors when I do this.
I'm working on an app which will, like most apps, have a whole boat load of buisness logic, almost all of which will need to be executed both on the server and the Flash-based client And I'm trying to figure out the best (read: least complex) way to implement the rules engine.
These are the parameters of the problem:
The rules engine must both run in a web browser (ie, in Flash Player) and on the server. Duplicating the logic (eg, by writing a "server" version and a "client" version) would be an unacceptable risk. The input/output data is fairly complex, so serialization is a nontrivial problem. We are currently using AMF for all of our serialization needs, and using another protocol would add significant complexity So it should probably be avoided. It is infeasible to implement a "rules description language". Experimentation has shown that rules are sufficiently complex that any such language would need to be Turing complete Which would also add a significant amount of complexity. The rules engine will not need to make some, but not very many, service calls.
Currently, the best contenders are:
Writing the code in ActionScript, then running it on the server. In theory it's possible to start up an AVM instance, get it long-polling a gateway, then pass data back and forth that way But that seems less than ideal. Writing the code in haXe. I don't know anything about haXe's AMF support, so that could be a deal-breaker. Something involving Tamarin. Seems like a viable option, but I haven't done enough research to tell either way.
I'm currently keeping all my flex projects in a dropbox folder (though considering changing to alternative with multiple folder support) as I'm continuously working on different computers.
Since my AS libraries doesn't have the exact same path on the different machines, I have to change the path in the projects I like to work on every time I switch computer.
I'v made a flash site that has components in different frames that play a .flv music file and a button to cycle through the frames. It works perfectly on my hardrive but when I load it to the web it wont play the music.
I have a Flash 'application' that is all on one frame and has about 2000 lines of AS 2 code. Works fine if it's all in Frame 1, but when I move everything (that's every layer and all the code) to Frame 3, for example, my menu bar component (which gets its data from xml files) doesn't load the data. I want to be able to do this so as to put a pre-loader on Frame 1 which would jump to Frame 3 when the SWF has fully loaded.
All the web services tutorials I have reviewed always demonstrate how to setup the WebServicesConnector and bound to other input components on the stage (like the textinput component). I want to bind from a variable value in my Flash movie (ie; _level0.set_zone ) to somewheres in my WebServicesConnector. How can I set this up within my binding bound to value field?
I have a DataGrid bound to an XMLConnector and XMLDataSet. The XML data loads fine into the components. However, I cannot get the value of the selected index using: my_datagrid.selectedIndex
The call works fine if you use addItem to populate the grid.
Is there an issue being that the datagrid.selectedIndex parameter is bound to the XML components?
I'm developing a Flex application that employs BlazeDS with Tomcat on the backend. The Flex client authenticates through the ChannelSet which in turn creates an authenticated session on Tomcat. From then on, all of the client calls are authenticated transparently. However, I have a regular HttpServlet for uploading files, which does not get the session information from the BlazeDS servlets.
Is there a way that I can get the Principal object in the HttpServlet? I know that I can get the session ID from the BlazeDS servlet, pass it to the client, and then send that along with the upload request.
I want to create a custom component library. the components are customize-able during creation time. means like Accordion or TabNavigator, when we drag and drop the Accordion in flash builder it
I am using a custom component within another custom component in a flex mxml application file.Is it possible to bubble events from an inner component to the outer component and handle events in the outer component?
I'd like to make a series of components into a solid, consistently repeatable object. For example, suppose I have a "notification" template that I want to add to a notifications area every time something new happens. This template includes an icon (Image), text (label), and some space between these two things.
I want to take a template like that and make it so I can invoke it with a function like add_notification("icon", "text"). How would I go about doing that?
What is the right way for integrating a Flash component into a Flex application? I heard that there are different ways of integration between Flash and Flex: using SWF, using SWC (something else?). What are theirs pros and cons? What are the points of communication between them Flash and Flex? `I'm using Flash Builder 4 for developing Flex. And Flash Professional CS 5 for developing Flash.