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

Reply via email to