If you are going to use 'org.apache.flex' for you app you run the risk of collisions with the SDK, which also uses that namespace.
Also, the plural ("events") makes more sense - to me at least - as there will likely be more classes in that one package: events.firstEvent, events.secondEvent, events.someOtherEvent... But that is entirely up to the application developer, of course. EdB On Thu, Mar 6, 2014 at 2:27 PM, Carlos Rovira <carlos.rov...@codeoscopic.com > wrote: > Hi Erik, > > I see the point and I was thinking to introduce "org.apache.flex" to solve > a similar problem I send to this list some days ago thinking that it was a > bug in the compiler, but the problem is the package structure. I prefer > introduce "org.apache.flex" and then maintain packages in singular since I > think it's a better namespace convention than plural. > I'll make the change later as I get some time for FlexJS. > > Thanks! > > > > > > 2014-03-06 13:41 GMT+01:00 Erik de Bruin <e...@ixsoftware.nl>: > > > As a first try, I'd suggest you rename the "event" package to something > > less collision prone, like "events"... > > > > EdB > > > > > > > > > > On Thu, Mar 6, 2014 at 1:29 PM, Erik de Bruin <e...@ixsoftware.nl> > wrote: > > > > > Carlos, > > > > > > I'm currently looking at the example application. You use 'event' as > part > > > of the namespace. In FlexJS JS, all objects are fully qualified, so > where > > > in AS you would have "new TodoListEvent(TodoListEvent.LOG_TODO)", in JS > > > that will become "new > event.TodoListEvent(event.TodoListEvent.LOG_TODO)". > > > Now this becomes a problem, as "event" is not only in your namespace, > you > > > use it as a function parameter name and (at least in IE) it is a global > > > variable. So, some of the problems you have with the app probably come > > from > > > the browser not knowing which "event" object reference to resolve a > > > variable to, choosing the wrong one: voila! exception :-( > > > > > > I'll continue looking to see if I can find a fix that is not too > intense. > > > > > > EdB > > > > > > > > > > > > > > > On Thu, Mar 6, 2014 at 12:35 PM, Carlos Rovira < > > > carlos.rov...@codeoscopic.com> wrote: > > > > > >> Hi Erik, > > >> > > >> thanks, I have a version locally without the need of InputHandler goog > > >> class to remove that dependency, but although I'm with you that this > > >> solution should be the right from a design perspective it's not > working > > >> for > > >> me. The method is getting called due to MXMLDataInterpreter setup > > >> internals > > >> (so it seems to be out of the control and scope of developer) and not > > due > > >> to the CHANGE event that TextInput.js propagates (if I remove this > > >> listener/event the change *native* event is operating and is what I > > think > > >> we should remove in some way, maybe patching the MXMLDataInterpreter > to > > >> avoid making a listener of text input to change event). > > >> > > >> Maybe with your changes now you get it working (could you confirm)? > that > > >> would be great since after thinking in my proposal and Alex comments I > > >> would prefer to maintain Flex API as possible and not going to map JS > > >> 'input' event. FlexJS users would expect CHANGE to work as they do in > > >> traditional Flex. > > >> > > >> I'm this morning out, but I'd like to get it back to this issue this > > >> night. > > >> > > >> Thanks Erik for take the time to see this since you're more > experienced > > >> with all this JS stuff and it's good to have your validation. > > >> > > >> Best, > > >> > > >> Carlos > > >> > > >> > > >> > > >> > > >> > > >> 2014-03-06 9:29 GMT+01:00 Erik de Bruin <e...@ixsoftware.nl>: > > >> > > >> > Carlos, > > >> > > > >> > In your JS implementation I see you already set up a handler that > > >> catches > > >> > "input" events and re-casts them as "change" events. This seems > like a > > >> > perfectly acceptable solution to this issue and much more clean and > > >> > intuitive than trying to get the AS side to emit "input" instead of > > >> change, > > >> > and have your users work with that 'unfamiliar' event. > > >> > > > >> > I've changed the visibility of the 'inputChangeHandler' to private, > as > > >> this > > >> > method shouldn't be overridden, and added a call to > 'stopPropagation' > > >> for > > >> > the original event (as Alex suggested), so it doesn't interfere or > > >> confuse > > >> > things later in the chain. > > >> > > > >> > Nice work! > > >> > > > >> > EdB > > >> > > > >> > > > >> > > > >> > > > >> > On Wed, Mar 5, 2014 at 6:19 PM, Carlos Rovira < > > carlosrov...@apache.org > > >> > >wrote: > > >> > > > >> > > Hi, > > >> > > > > >> > > I'm trying to deal with events in JS and I'm finding some > troubles. > > >> Maybe > > >> > > you guys more experienced with google closure could help me to > find > > >> the > > >> > > way. > > >> > > > > >> > > In old Flex SDK, TextInput change event is used to signal changes > in > > >> text > > >> > > as user introduces. In JS input text that event is 'input', while > > >> > 'change' > > >> > > is called when the text is different and the user press ENTER key > or > > >> > > changes focus. > > >> > > > > >> > > If we make the following declaration in a MXML View: > > >> > > > > >> > > <basic:TextInput id="myTextInput" > > >> > > width="300" > > >> > > change="doSomething()"/> > > >> > > > > >> > > This generate the following JS code in get_MXMLDescriptor: > > >> > > > > >> > > ... > > >> > > [org.apache.flex.html.staticControls.TextInput, 2, 'id', true, > > >> > > 'myTextInput', 'width', true, 300, 0, 1, 'change', this.$EH0, > null, > > >> > > ... > > >> > > > > >> > > This makes the TextInput work as expected in SWF (doSomething runs > > on > > >> > each > > >> > > character introduced on TextInput) > > >> > > > > >> > > But In JS, without implement anything yet in TextInput.js about > > input > > >> > text > > >> > > handling events, the generated code makes doSomething method runs > > when > > >> > user > > >> > > press ENTER or focus out if text was changed. I tried to implement > > >> CHANGE > > >> > > event with no luck due to the listener generated behind the scenes > > >> that > > >> > > match the same name as native textinput change event. > > >> > > > > >> > > Note that If I rename 'change' to 'input' in all places, including > > >> > > TextInput.as metadata event declaration it works ok, since event > > match > > >> > the > > >> > > input js event. It looks like this: > > >> > > > > >> > > <basic:TextInput id="myTextInput" > > >> > > width="300" > > >> > > input="doSomething()"/> > > >> > > > > >> > > What could we do here? Should we patch MXMLDataInterpreter class > to > > >> deal > > >> > > with this particularities (maybe translate 'change' to 'input' > > behind > > >> the > > >> > > scenes to maintain 'change in AS side)? change from traditional > Flex > > >> > events > > >> > > to something more JS (so using 'input' instead of 'change'? > > >> > > > > >> > > If you find this kind of problems before, maybe you already has > some > > >> > > strategy or framework design rule to follow. > > >> > > > > >> > > Thanks > > >> > > > > >> > > Carlos > > >> > > > > >> > > > > >> > > -- > > >> > > Carlos Rovira > > >> > > http://about.me/carlosrovira > > >> > > > > >> > > > >> > > > >> > > > >> > -- > > >> > Ix Multimedia Software > > >> > > > >> > Jan Luykenstraat 27 > > >> > 3521 VB Utrecht > > >> > > > >> > T. 06-51952295 > > >> > I. www.ixsoftware.nl > > >> > > > >> > > >> > > >> > > >> -- > > >> Carlos Rovira > > >> Director de TecnologĂa > > >> M: +34 607 22 60 05 > > >> F: +34 912 94 80 80 > > >> http://www.codeoscopic.com > > >> http://www.directwriter.es > > >> http://www.avant2.es > > >> > > > > > > > > > > > > -- > > > Ix Multimedia Software > > > > > > Jan Luykenstraat 27 > > > 3521 VB Utrecht > > > > > > T. 06-51952295 > > > I. www.ixsoftware.nl > > > > > > > > > > > -- > > Ix Multimedia Software > > > > Jan Luykenstraat 27 > > 3521 VB Utrecht > > > > T. 06-51952295 > > I. www.ixsoftware.nl > > > > > > -- > Carlos Rovira > Director de TecnologĂa > M: +34 607 22 60 05 > F: +34 912 94 80 80 > http://www.codeoscopic.com > http://www.directwriter.es > http://www.avant2.es > -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl