Hi Alex, in the class file only flexjs event is imported, so it should be that one and not flash event. If this is not what is happening, I think we have a bug in the compiler. I should not need to use a fully qualified name each time I use a event to ensure the right event. what do you think?
2014-03-01 0:55 GMT+01:00 Alex Harui <aha...@adobe.com>: > In textChangeHandler, are you sure "new Event" will resolve to > org.apache.flex.events.Event and not flash.events.Event? > > On 2/28/14 3:48 PM, "Carlos Rovira" <carlosrov...@apache.org> wrote: > > >Peter, Alex, > > > >I'm having problems with this issue, since I think there's no reference to > >flash.events.Event (I was already aware of this restriction) in my > >modifications in TextInput, so all should be FlexJS events > >(org.apache.flex.events.Event). A similar example is in CheckBox > >component. > > > >What I'm trying to do is make TextInput to throw "change" events when user > >type a character (a classic Flex use case). In SWF the type coercion is > >thrown. > > > >TypeError: Error #1034: Type Coercion failed: cannot convert > >flash.events::Event@1093d2f71 to org.apache.flex.events.Event. > > > >Note: In JS updating the input text does nothing, although enter key is > >performing the change and running changeHandler method in final app (I > >suppose due to EditableTextKeyboardController) > > > > > >Mis changes are basic. In TextInput.as, add the following lines: > > > >[Event(name="change", type="org.apache.flex.events.Event")] > > > >... > > > >private var _strand:IStrand; > > > >public function set strand(value:IStrand):void > >{ > > _strand = value; > > > > model = UIBase(_strand).model as ITextModel; > > model.addEventListener("textChange", textChangeHandler); > >} > > > >public function textChangeHandler(event:Event):void > >{ > > dispatchEvent(new Event("change")); > >} > > > >what do you think about it? > > > >Thanks > > > > > > > > > > > >2014-02-27 20:33 GMT+01:00 Alex Harui <aha...@adobe.com>: > > > >> We're trying not to dispatch flash.events.Event in FlexJS (since there > >> isn't an equivalent in JS). So the change event should be dispatching > >> org.apache.flex.events.Event and the component's event metadata also > >>needs > >> to say that it is dispatching an org.apache.flex.events.Event and the > >> event handling code should be importing and using > >> org.apache.flex.events.Event instead of flash.events.Event. > >> > >> -Alex > >> > >> On 2/27/14 11:27 AM, "Carlos Rovira" <carlosrov...@apache.org> wrote: > >> > >> >Hi, > >> > > >> >I'm having a problem with FlexJS events. > >> > > >> >* In TodoListView (a extension of ViewBase) if I use in a component > >> >something like: change="logTodo(event)" > >> > > >> >and the method is > >> > > >> >public function logTodo(event:Event):void { > >> > // something > >> >} > >> > > >> >a type coercion error is thrown that said org.apache.flex.events.Event > >>is > >> >not flash.events.Event > >> > > >> >I need to use: public function > >> >logTodo(event:org.apache.flex.events.Event):void { ... } to make it > >>work > >> >or > >> >it doesn't compile > >> > > >> >So it seems there's a scope problem in MXML, > >> > > >> >What do you think about it? > >> > > >> > > >> >-- > >> >Carlos Rovira > >> >http://about.me/carlosrovira > >> > >> -- > >> <http://about.me/carlosrovira> > >> Carlos Rovira > >> <http://about.me/carlosrovira> > >> <http://about.me/carlosrovira>http://about.me/carlosrovira > >> > >> > > -- 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