Re: What you think about this fix - SearchFilter bead

2020-10-20 Thread Hugo Ferreira
Hi Carlos,

You welcome.
I saw your comments on github and also reply on that.

Carlos Rovira  escreveu no dia terça, 20/10/2020
à(s) 09:19:

> Hi Hugo,
>
> much appreciate the effort. Many thanks! :)
>
> El mar., 20 oct. 2020 a las 2:21, Hugo Ferreira ()
> escribió:
>
> > Hi Carlos,
> >
> > Now everything as it should be :)
> >
> > 1. Checked Jenkins to be sure to not apply the fix during another issue;
> > 2. Fork refreshed;
> > 3. Apply the fix;
> > 4. Compiled with ANT;
> > 5. Test with TDJ (before the test, clean the browser console, test the
> fix
> > and check for an error).
> > 6. Commit;
> > 7. Pull request and comment on the issue.
> >
> > Hugo Ferreira  escreveu no dia segunda,
> 19/10/2020
> > à(s) 11:34:
> >
> > > Hi Carlos,
> > >
> > > No problem.
> > > I will do that.
> > >
> > > Carlos Rovira  escreveu no dia segunda,
> > > 19/10/2020 à(s) 11:32:
> > >
> > >> Hi Hugo,
> > >>
> > >> sorry, but this way of sharing code is not the best for us to
> interact.
> > >> If I copy and override on my file, I get lots of errors and also its
> > >> unformatted, so to review it I should invest a lot of time formatting
> it
> > >> and see where the email is adding bad characters.
> > >>
> > >> You can use paste.apache.org [1] so we can solve this problem as soon
> > as
> > >> possible.
> > >> but for next ones I think the best is to create a Pull Request (PR) in
> > >> github, so we can review it and integrate more easily [2].
> > >>
> > >> Thanks and sorry for the trouble, but these days I'm without much time
> > so
> > >> I
> > >> can't afford it.
> > >>
> > >> Best
> > >>
> > >> Carlos
> > >>
> > >> [1] https://paste.apache.org/
> > >> [2] https://github.com/apache/royale-asjs/issues
> > >>
> > >>
> > >>
> > >> El dom., 18 oct. 2020 a las 23:40, hferreira ( >)
> > >> escribió:
> > >>
> > >> > Hi Carlos,
> > >> >
> > >> > I was able to replicate the issue on TDJ apply the fix and saw the
> > issue
> > >> > goes away.
> > >> > BUT I had to clean everything and rebuild everything (I even put a
> > >> console
> > >> > log to be sure that I was testing updated version).
> > >> > I thought that was normal.
> > >> >
> > >> > Thank you for point me out about the remove listener.
> > >> >
> > >> > Here the full source code updated file:
> > >> >
> > >> >
> > >> >
> > >>
> >
> 
> > >> > //
> > >> > //  Licensed to the Apache Software Foundation (ASF) under one or
> more
> > >> > //  contributor license agreements.  See the NOTICE file distributed
> > >> with
> > >> > //  this work for additional information regarding copyright
> > ownership.
> > >> > //  The ASF licenses this file to You under the Apache License,
> > Version
> > >> 2.0
> > >> > //  (the "License"); you may not use this file except in compliance
> > with
> > >> > //  the License.  You may obtain a copy of the License at
> > >> > //
> > >> > //  http://www.apache.org/licenses/LICENSE-2.0
> > >> > //
> > >> > //  Unless required by applicable law or agreed to in writing,
> > software
> > >> > //  distributed under the License is distributed on an "AS IS"
> BASIS,
> > >> > //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > >> > implied.
> > >> > //  See the License for the specific language governing permissions
> > and
> > >> > //  limitations under the License.
> > >> > //
> > >> >
> > >> >
> > >>
> >
> 
> > >> > package org.apache.royale.jewel.beads.controls.combobox
> > >> > {
> > >> > import org.apache.royale.events.Event;
> > >> > import
> org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
> > >> > import
> > >> >
> org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
> > >> > import org.apache.royale.jewel.beads.views.ComboBoxView;
> > >> > import
> org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
> > >> > import org.apache.royale.jewel.List;
> > >> > import org.apache.royale.events.MouseEvent;
> > >> >
> > >> > /**
> > >> > *  The SearchFilter bead class is a specialty bead that can be used
> > with
> > >> >  *  a Jewel ComboBox to filter options as we type
> > >> > *
> > >> > *  @langversion 3.0
> > >> > *  @playerversion Flash 10.2
> > >> > *  @playerversion AIR 2.6
> > >> > *  @productversion Royale 0.9.5
> > >> > */
> > >> > public class SearchFilter extends SearchFilterForList
> > >> > {
> > >> > /**
> > >> > *  constructor.
> > >> > *
> > >> > *  @langversion 3.0
> > >> > *  @playerversion Flash 10.2
> > >> > *  @playerversion AIR 2.6
> > >> > *  @productversion Royale 0.9.5
> > >> > */
> > >> > public function SearchFilter()
> > >> > {
> > >> > }
> > >> >
> > >> > public override function set list(value:List):void
> > >> > {
> > >> > super.list = value;
> > >> > COMPILE::JS
> > >> > {
> > >> > if (list != null)
> > >> >

Re: What you think about this fix - SearchFilter bead

2020-10-20 Thread Carlos Rovira
Hi Hugo,

much appreciate the effort. Many thanks! :)

El mar., 20 oct. 2020 a las 2:21, Hugo Ferreira ()
escribió:

> Hi Carlos,
>
> Now everything as it should be :)
>
> 1. Checked Jenkins to be sure to not apply the fix during another issue;
> 2. Fork refreshed;
> 3. Apply the fix;
> 4. Compiled with ANT;
> 5. Test with TDJ (before the test, clean the browser console, test the fix
> and check for an error).
> 6. Commit;
> 7. Pull request and comment on the issue.
>
> Hugo Ferreira  escreveu no dia segunda, 19/10/2020
> à(s) 11:34:
>
> > Hi Carlos,
> >
> > No problem.
> > I will do that.
> >
> > Carlos Rovira  escreveu no dia segunda,
> > 19/10/2020 à(s) 11:32:
> >
> >> Hi Hugo,
> >>
> >> sorry, but this way of sharing code is not the best for us to interact.
> >> If I copy and override on my file, I get lots of errors and also its
> >> unformatted, so to review it I should invest a lot of time formatting it
> >> and see where the email is adding bad characters.
> >>
> >> You can use paste.apache.org [1] so we can solve this problem as soon
> as
> >> possible.
> >> but for next ones I think the best is to create a Pull Request (PR) in
> >> github, so we can review it and integrate more easily [2].
> >>
> >> Thanks and sorry for the trouble, but these days I'm without much time
> so
> >> I
> >> can't afford it.
> >>
> >> Best
> >>
> >> Carlos
> >>
> >> [1] https://paste.apache.org/
> >> [2] https://github.com/apache/royale-asjs/issues
> >>
> >>
> >>
> >> El dom., 18 oct. 2020 a las 23:40, hferreira ()
> >> escribió:
> >>
> >> > Hi Carlos,
> >> >
> >> > I was able to replicate the issue on TDJ apply the fix and saw the
> issue
> >> > goes away.
> >> > BUT I had to clean everything and rebuild everything (I even put a
> >> console
> >> > log to be sure that I was testing updated version).
> >> > I thought that was normal.
> >> >
> >> > Thank you for point me out about the remove listener.
> >> >
> >> > Here the full source code updated file:
> >> >
> >> >
> >> >
> >>
> 
> >> > //
> >> > //  Licensed to the Apache Software Foundation (ASF) under one or more
> >> > //  contributor license agreements.  See the NOTICE file distributed
> >> with
> >> > //  this work for additional information regarding copyright
> ownership.
> >> > //  The ASF licenses this file to You under the Apache License,
> Version
> >> 2.0
> >> > //  (the "License"); you may not use this file except in compliance
> with
> >> > //  the License.  You may obtain a copy of the License at
> >> > //
> >> > //  http://www.apache.org/licenses/LICENSE-2.0
> >> > //
> >> > //  Unless required by applicable law or agreed to in writing,
> software
> >> > //  distributed under the License is distributed on an "AS IS" BASIS,
> >> > //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> > implied.
> >> > //  See the License for the specific language governing permissions
> and
> >> > //  limitations under the License.
> >> > //
> >> >
> >> >
> >>
> 
> >> > package org.apache.royale.jewel.beads.controls.combobox
> >> > {
> >> > import org.apache.royale.events.Event;
> >> > import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
> >> > import
> >> > org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
> >> > import org.apache.royale.jewel.beads.views.ComboBoxView;
> >> > import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
> >> > import org.apache.royale.jewel.List;
> >> > import org.apache.royale.events.MouseEvent;
> >> >
> >> > /**
> >> > *  The SearchFilter bead class is a specialty bead that can be used
> with
> >> >  *  a Jewel ComboBox to filter options as we type
> >> > *
> >> > *  @langversion 3.0
> >> > *  @playerversion Flash 10.2
> >> > *  @playerversion AIR 2.6
> >> > *  @productversion Royale 0.9.5
> >> > */
> >> > public class SearchFilter extends SearchFilterForList
> >> > {
> >> > /**
> >> > *  constructor.
> >> > *
> >> > *  @langversion 3.0
> >> > *  @playerversion Flash 10.2
> >> > *  @playerversion AIR 2.6
> >> > *  @productversion Royale 0.9.5
> >> > */
> >> > public function SearchFilter()
> >> > {
> >> > }
> >> >
> >> > public override function set list(value:List):void
> >> > {
> >> > super.list = value;
> >> > COMPILE::JS
> >> > {
> >> > if (list != null)
> >> >list.addEventListener(MouseEvent.CLICK, onListClick);
> >> > }
> >> > }
> >> >
> >> > private function onListClick(event:MouseEvent):void
> >> > {
> >> > list.removeEventListener(MouseEvent.CLICK, onListClick);
> >> > comboView.popUpVisible = false;
> >> > }
> >> >
> >> > private var comboView:IComboBoxView;
> >> >
> >> > override protected function textInputKeyUpLogic(input:Object):void
> >> > {
> >> > if(!list) return;
> >> >

Re: What you think about this fix - SearchFilter bead

2020-10-19 Thread Hugo Ferreira
Hi Carlos,

Now everything as it should be :)

1. Checked Jenkins to be sure to not apply the fix during another issue;
2. Fork refreshed;
3. Apply the fix;
4. Compiled with ANT;
5. Test with TDJ (before the test, clean the browser console, test the fix
and check for an error).
6. Commit;
7. Pull request and comment on the issue.

Hugo Ferreira  escreveu no dia segunda, 19/10/2020
à(s) 11:34:

> Hi Carlos,
>
> No problem.
> I will do that.
>
> Carlos Rovira  escreveu no dia segunda,
> 19/10/2020 à(s) 11:32:
>
>> Hi Hugo,
>>
>> sorry, but this way of sharing code is not the best for us to interact.
>> If I copy and override on my file, I get lots of errors and also its
>> unformatted, so to review it I should invest a lot of time formatting it
>> and see where the email is adding bad characters.
>>
>> You can use paste.apache.org [1] so we can solve this problem as soon as
>> possible.
>> but for next ones I think the best is to create a Pull Request (PR) in
>> github, so we can review it and integrate more easily [2].
>>
>> Thanks and sorry for the trouble, but these days I'm without much time so
>> I
>> can't afford it.
>>
>> Best
>>
>> Carlos
>>
>> [1] https://paste.apache.org/
>> [2] https://github.com/apache/royale-asjs/issues
>>
>>
>>
>> El dom., 18 oct. 2020 a las 23:40, hferreira ()
>> escribió:
>>
>> > Hi Carlos,
>> >
>> > I was able to replicate the issue on TDJ apply the fix and saw the issue
>> > goes away.
>> > BUT I had to clean everything and rebuild everything (I even put a
>> console
>> > log to be sure that I was testing updated version).
>> > I thought that was normal.
>> >
>> > Thank you for point me out about the remove listener.
>> >
>> > Here the full source code updated file:
>> >
>> >
>> >
>> 
>> > //
>> > //  Licensed to the Apache Software Foundation (ASF) under one or more
>> > //  contributor license agreements.  See the NOTICE file distributed
>> with
>> > //  this work for additional information regarding copyright ownership.
>> > //  The ASF licenses this file to You under the Apache License, Version
>> 2.0
>> > //  (the "License"); you may not use this file except in compliance with
>> > //  the License.  You may obtain a copy of the License at
>> > //
>> > //  http://www.apache.org/licenses/LICENSE-2.0
>> > //
>> > //  Unless required by applicable law or agreed to in writing, software
>> > //  distributed under the License is distributed on an "AS IS" BASIS,
>> > //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> > implied.
>> > //  See the License for the specific language governing permissions and
>> > //  limitations under the License.
>> > //
>> >
>> >
>> 
>> > package org.apache.royale.jewel.beads.controls.combobox
>> > {
>> > import org.apache.royale.events.Event;
>> > import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
>> > import
>> > org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
>> > import org.apache.royale.jewel.beads.views.ComboBoxView;
>> > import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
>> > import org.apache.royale.jewel.List;
>> > import org.apache.royale.events.MouseEvent;
>> >
>> > /**
>> > *  The SearchFilter bead class is a specialty bead that can be used with
>> >  *  a Jewel ComboBox to filter options as we type
>> > *
>> > *  @langversion 3.0
>> > *  @playerversion Flash 10.2
>> > *  @playerversion AIR 2.6
>> > *  @productversion Royale 0.9.5
>> > */
>> > public class SearchFilter extends SearchFilterForList
>> > {
>> > /**
>> > *  constructor.
>> > *
>> > *  @langversion 3.0
>> > *  @playerversion Flash 10.2
>> > *  @playerversion AIR 2.6
>> > *  @productversion Royale 0.9.5
>> > */
>> > public function SearchFilter()
>> > {
>> > }
>> >
>> > public override function set list(value:List):void
>> > {
>> > super.list = value;
>> > COMPILE::JS
>> > {
>> > if (list != null)
>> >list.addEventListener(MouseEvent.CLICK, onListClick);
>> > }
>> > }
>> >
>> > private function onListClick(event:MouseEvent):void
>> > {
>> > list.removeEventListener(MouseEvent.CLICK, onListClick);
>> > comboView.popUpVisible = false;
>> > }
>> >
>> > private var comboView:IComboBoxView;
>> >
>> > override protected function textInputKeyUpLogic(input:Object):void
>> > {
>> > if(!list) return;
>> >
>> > // first remove a previous selection
>> > if(list.selectedIndex != -1)
>> > {
>> > var tmp:String = input.text;
>> > list.selectedItem = null;
>> > input.text = tmp;
>> > }
>> >
>> > if (!comboView.popUpVisible)
>> > comboView.popUpVisible = true;
>> >
>> > // fill "list" with the internal list in the combobox popup
>> > //list = comboView.popup.view.list;
>> >
>> > 

Re: What you think about this fix - SearchFilter bead

2020-10-19 Thread Hugo Ferreira
Hi Carlos,

No problem.
I will do that.

Carlos Rovira  escreveu no dia segunda, 19/10/2020
à(s) 11:32:

> Hi Hugo,
>
> sorry, but this way of sharing code is not the best for us to interact.
> If I copy and override on my file, I get lots of errors and also its
> unformatted, so to review it I should invest a lot of time formatting it
> and see where the email is adding bad characters.
>
> You can use paste.apache.org [1] so we can solve this problem as soon as
> possible.
> but for next ones I think the best is to create a Pull Request (PR) in
> github, so we can review it and integrate more easily [2].
>
> Thanks and sorry for the trouble, but these days I'm without much time so I
> can't afford it.
>
> Best
>
> Carlos
>
> [1] https://paste.apache.org/
> [2] https://github.com/apache/royale-asjs/issues
>
>
>
> El dom., 18 oct. 2020 a las 23:40, hferreira ()
> escribió:
>
> > Hi Carlos,
> >
> > I was able to replicate the issue on TDJ apply the fix and saw the issue
> > goes away.
> > BUT I had to clean everything and rebuild everything (I even put a
> console
> > log to be sure that I was testing updated version).
> > I thought that was normal.
> >
> > Thank you for point me out about the remove listener.
> >
> > Here the full source code updated file:
> >
> >
> >
> 
> > //
> > //  Licensed to the Apache Software Foundation (ASF) under one or more
> > //  contributor license agreements.  See the NOTICE file distributed with
> > //  this work for additional information regarding copyright ownership.
> > //  The ASF licenses this file to You under the Apache License, Version
> 2.0
> > //  (the "License"); you may not use this file except in compliance with
> > //  the License.  You may obtain a copy of the License at
> > //
> > //  http://www.apache.org/licenses/LICENSE-2.0
> > //
> > //  Unless required by applicable law or agreed to in writing, software
> > //  distributed under the License is distributed on an "AS IS" BASIS,
> > //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> > implied.
> > //  See the License for the specific language governing permissions and
> > //  limitations under the License.
> > //
> >
> >
> 
> > package org.apache.royale.jewel.beads.controls.combobox
> > {
> > import org.apache.royale.events.Event;
> > import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
> > import
> > org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
> > import org.apache.royale.jewel.beads.views.ComboBoxView;
> > import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
> > import org.apache.royale.jewel.List;
> > import org.apache.royale.events.MouseEvent;
> >
> > /**
> > *  The SearchFilter bead class is a specialty bead that can be used with
> >  *  a Jewel ComboBox to filter options as we type
> > *
> > *  @langversion 3.0
> > *  @playerversion Flash 10.2
> > *  @playerversion AIR 2.6
> > *  @productversion Royale 0.9.5
> > */
> > public class SearchFilter extends SearchFilterForList
> > {
> > /**
> > *  constructor.
> > *
> > *  @langversion 3.0
> > *  @playerversion Flash 10.2
> > *  @playerversion AIR 2.6
> > *  @productversion Royale 0.9.5
> > */
> > public function SearchFilter()
> > {
> > }
> >
> > public override function set list(value:List):void
> > {
> > super.list = value;
> > COMPILE::JS
> > {
> > if (list != null)
> >list.addEventListener(MouseEvent.CLICK, onListClick);
> > }
> > }
> >
> > private function onListClick(event:MouseEvent):void
> > {
> > list.removeEventListener(MouseEvent.CLICK, onListClick);
> > comboView.popUpVisible = false;
> > }
> >
> > private var comboView:IComboBoxView;
> >
> > override protected function textInputKeyUpLogic(input:Object):void
> > {
> > if(!list) return;
> >
> > // first remove a previous selection
> > if(list.selectedIndex != -1)
> > {
> > var tmp:String = input.text;
> > list.selectedItem = null;
> > input.text = tmp;
> > }
> >
> > if (!comboView.popUpVisible)
> > comboView.popUpVisible = true;
> >
> > // fill "list" with the internal list in the combobox popup
> > //list = comboView.popup.view.list;
> >
> > applyFilter(comboView.textinput.text.toUpperCase());
> >
> > ComboBoxView(comboView).autoResizeHandler(); //as we filter the popup
> list
> > will be smaller, and we want to reposition
> > }
> >
> > override protected function selectItem(item:Object):void
> > {
> > // Select the item in the list if text is the same
> > // we do at the end to avoid multiple selection (if there's more than one
> > matches)
> > // in that case, select the first one in the list
> > // if(item != null)
> > // list.selectedItem = item;
> > }
> >
> > override protected function 

Re: What you think about this fix - SearchFilter bead

2020-10-19 Thread Carlos Rovira
Hi Hugo,

sorry, but this way of sharing code is not the best for us to interact.
If I copy and override on my file, I get lots of errors and also its
unformatted, so to review it I should invest a lot of time formatting it
and see where the email is adding bad characters.

You can use paste.apache.org [1] so we can solve this problem as soon as
possible.
but for next ones I think the best is to create a Pull Request (PR) in
github, so we can review it and integrate more easily [2].

Thanks and sorry for the trouble, but these days I'm without much time so I
can't afford it.

Best

Carlos

[1] https://paste.apache.org/
[2] https://github.com/apache/royale-asjs/issues



El dom., 18 oct. 2020 a las 23:40, hferreira ()
escribió:

> Hi Carlos,
>
> I was able to replicate the issue on TDJ apply the fix and saw the issue
> goes away.
> BUT I had to clean everything and rebuild everything (I even put a console
> log to be sure that I was testing updated version).
> I thought that was normal.
>
> Thank you for point me out about the remove listener.
>
> Here the full source code updated file:
>
>
> 
> //
> //  Licensed to the Apache Software Foundation (ASF) under one or more
> //  contributor license agreements.  See the NOTICE file distributed with
> //  this work for additional information regarding copyright ownership.
> //  The ASF licenses this file to You under the Apache License, Version 2.0
> //  (the "License"); you may not use this file except in compliance with
> //  the License.  You may obtain a copy of the License at
> //
> //  http://www.apache.org/licenses/LICENSE-2.0
> //
> //  Unless required by applicable law or agreed to in writing, software
> //  distributed under the License is distributed on an "AS IS" BASIS,
> //  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> //  See the License for the specific language governing permissions and
> //  limitations under the License.
> //
>
> 
> package org.apache.royale.jewel.beads.controls.combobox
> {
> import org.apache.royale.events.Event;
> import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
> import
> org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
> import org.apache.royale.jewel.beads.views.ComboBoxView;
> import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
> import org.apache.royale.jewel.List;
> import org.apache.royale.events.MouseEvent;
>
> /**
> *  The SearchFilter bead class is a specialty bead that can be used with
>  *  a Jewel ComboBox to filter options as we type
> *
> *  @langversion 3.0
> *  @playerversion Flash 10.2
> *  @playerversion AIR 2.6
> *  @productversion Royale 0.9.5
> */
> public class SearchFilter extends SearchFilterForList
> {
> /**
> *  constructor.
> *
> *  @langversion 3.0
> *  @playerversion Flash 10.2
> *  @playerversion AIR 2.6
> *  @productversion Royale 0.9.5
> */
> public function SearchFilter()
> {
> }
>
> public override function set list(value:List):void
> {
> super.list = value;
> COMPILE::JS
> {
> if (list != null)
>list.addEventListener(MouseEvent.CLICK, onListClick);
> }
> }
>
> private function onListClick(event:MouseEvent):void
> {
> list.removeEventListener(MouseEvent.CLICK, onListClick);
> comboView.popUpVisible = false;
> }
>
> private var comboView:IComboBoxView;
>
> override protected function textInputKeyUpLogic(input:Object):void
> {
> if(!list) return;
>
> // first remove a previous selection
> if(list.selectedIndex != -1)
> {
> var tmp:String = input.text;
> list.selectedItem = null;
> input.text = tmp;
> }
>
> if (!comboView.popUpVisible)
> comboView.popUpVisible = true;
>
> // fill "list" with the internal list in the combobox popup
> //list = comboView.popup.view.list;
>
> applyFilter(comboView.textinput.text.toUpperCase());
>
> ComboBoxView(comboView).autoResizeHandler(); //as we filter the popup list
> will be smaller, and we want to reposition
> }
>
> override protected function selectItem(item:Object):void
> {
> // Select the item in the list if text is the same
> // we do at the end to avoid multiple selection (if there's more than one
> matches)
> // in that case, select the first one in the list
> // if(item != null)
> // list.selectedItem = item;
> }
>
> override protected function onBeadsAdded(event:Event):void{
> listenOnStrand('dismissPopUp', removeListListeners);
> listenOnStrand('popUpOpened', popUpOpenedHandler);
> listenOnStrand('popUpClosed', popUpClosedHandler);
>
> comboView = event.target.view as IComboBoxView;
> if (comboView)
> {
> var _textInput:TextInputBase = comboView.textinput as
> TextInputBase;
> if (_textInput) {
> 

Re: What you think about this fix - SearchFilter bead

2020-10-18 Thread hferreira
Hi Carlos,

I was able to replicate the issue on TDJ apply the fix and saw the issue
goes away.
BUT I had to clean everything and rebuild everything (I even put a console
log to be sure that I was testing updated version).
I thought that was normal.

Thank you for point me out about the remove listener.

Here the full source code updated file:


//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You under the Apache License, Version 2.0
//  (the "License"); you may not use this file except in compliance with
//  the License.  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

package org.apache.royale.jewel.beads.controls.combobox
{
import org.apache.royale.events.Event;
import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
import org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
import org.apache.royale.jewel.beads.views.ComboBoxView;
import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
import org.apache.royale.jewel.List;
import org.apache.royale.events.MouseEvent;

/**
*  The SearchFilter bead class is a specialty bead that can be used with
 *  a Jewel ComboBox to filter options as we type
*
*  @langversion 3.0
*  @playerversion Flash 10.2
*  @playerversion AIR 2.6
*  @productversion Royale 0.9.5
*/
public class SearchFilter extends SearchFilterForList
{
/**
*  constructor.
*
*  @langversion 3.0
*  @playerversion Flash 10.2
*  @playerversion AIR 2.6
*  @productversion Royale 0.9.5
*/
public function SearchFilter()
{
}

public override function set list(value:List):void
{
super.list = value;
COMPILE::JS
{
if (list != null)
   list.addEventListener(MouseEvent.CLICK, onListClick);
}
}

private function onListClick(event:MouseEvent):void
{
list.removeEventListener(MouseEvent.CLICK, onListClick);
comboView.popUpVisible = false;
}

private var comboView:IComboBoxView;

override protected function textInputKeyUpLogic(input:Object):void
{
if(!list) return;

// first remove a previous selection
if(list.selectedIndex != -1)
{
var tmp:String = input.text;
list.selectedItem = null;
input.text = tmp;
}

if (!comboView.popUpVisible)
comboView.popUpVisible = true;

// fill "list" with the internal list in the combobox popup
//list = comboView.popup.view.list;

applyFilter(comboView.textinput.text.toUpperCase());

ComboBoxView(comboView).autoResizeHandler(); //as we filter the popup list
will be smaller, and we want to reposition
}

override protected function selectItem(item:Object):void
{
// Select the item in the list if text is the same
// we do at the end to avoid multiple selection (if there's more than one
matches)
// in that case, select the first one in the list
// if(item != null)
// list.selectedItem = item;
}

override protected function onBeadsAdded(event:Event):void{
listenOnStrand('dismissPopUp', removeListListeners);
listenOnStrand('popUpOpened', popUpOpenedHandler);
listenOnStrand('popUpClosed', popUpClosedHandler);

comboView = event.target.view as IComboBoxView;
if (comboView)
{
var _textInput:TextInputBase = comboView.textinput as
TextInputBase;
if (_textInput) {
COMPILE::JS
{
_textInput.element.addEventListener('focus',
onInputFocus);
}
}
}
}

override protected function onInputFocus(event:Event):void{
if (!comboView.popUpVisible)
comboView.popUpVisible = true;
}

protected function popUpOpenedHandler():void {
// fill "list" with the internal list in the combobox popup
list = comboView.popup.view.list;
}

protected function popUpClosedHandler():void {
list = null;
}
}
}



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/


Re: What you think about this fix - SearchFilter bead

2020-10-18 Thread Hugo Ferreira
Hi Carlos,

I was able to replicate the issue on TDJ apply the fix and saw the issue
goes away.
BUT I had to clean everything and rebuild everything (I even put a console
log to be sure that I was testing updated version).
I thought that was normal.

Thank you for point me out about the remove listener.

Here the full source code updated file:


//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You under the Apache License, Version 2.0
//  (the "License"); you may not use this file except in compliance with
//  the License.  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

package org.apache.royale.jewel.beads.controls.combobox
{
import org.apache.royale.events.Event;
import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
import org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
import org.apache.royale.jewel.beads.views.ComboBoxView;
import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
import org.apache.royale.jewel.List;
import org.apache.royale.events.MouseEvent;

/**
*  The SearchFilter bead class is a specialty bead that can be used with
 *  a Jewel ComboBox to filter options as we type
*
*  @langversion 3.0
*  @playerversion Flash 10.2
*  @playerversion AIR 2.6
*  @productversion Royale 0.9.5
*/
public class SearchFilter extends SearchFilterForList
{
/**
*  constructor.
*
*  @langversion 3.0
*  @playerversion Flash 10.2
*  @playerversion AIR 2.6
*  @productversion Royale 0.9.5
*/
public function SearchFilter()
{
}

public override function set list(value:List):void
{
super.list = value;
COMPILE::JS
{
if (list != null)
   list.addEventListener(MouseEvent.CLICK, onListClick);
}
}

private function onListClick(event:MouseEvent):void
{
list.removeEventListener(MouseEvent.CLICK, onListClick);
comboView.popUpVisible = false;
}

private var comboView:IComboBoxView;

override protected function textInputKeyUpLogic(input:Object):void
{
if(!list) return;

// first remove a previous selection
if(list.selectedIndex != -1)
{
var tmp:String = input.text;
list.selectedItem = null;
input.text = tmp;
}

if (!comboView.popUpVisible)
comboView.popUpVisible = true;

// fill "list" with the internal list in the combobox popup
//list = comboView.popup.view.list;

applyFilter(comboView.textinput.text.toUpperCase());

ComboBoxView(comboView).autoResizeHandler(); //as we filter the popup list
will be smaller, and we want to reposition
}

override protected function selectItem(item:Object):void
{
// Select the item in the list if text is the same
// we do at the end to avoid multiple selection (if there's more than one
matches)
// in that case, select the first one in the list
// if(item != null)
// list.selectedItem = item;
}

override protected function onBeadsAdded(event:Event):void{
listenOnStrand('dismissPopUp', removeListListeners);
listenOnStrand('popUpOpened', popUpOpenedHandler);
listenOnStrand('popUpClosed', popUpClosedHandler);

comboView = event.target.view as IComboBoxView;
if (comboView)
{
var _textInput:TextInputBase = comboView.textinput as
TextInputBase;
if (_textInput) {
COMPILE::JS
{
_textInput.element.addEventListener('focus',
onInputFocus);
}
}
}
}

override protected function onInputFocus(event:Event):void{
if (!comboView.popUpVisible)
comboView.popUpVisible = true;
}

protected function popUpOpenedHandler():void {
// fill "list" with the internal list in the combobox popup
list = comboView.popup.view.list;
}

protected function popUpClosedHandler():void {
list = null;
}
}
}

Carlos Rovira  escreveu no dia domingo, 18/10/2020
à(s) 18:04:

> Hi Hugo,
>
> when I tried that code I had to add the imports too.
> Anyway I tried again, and I'm getting the same fail in the TDJ SearchFilter
> example
> Are you getting the same?
> Also I think you'll need to remove the listener when the popup closes,
> since the list is recreated again and a new listener will be attached
> If you don't remove the listeners you left the list hanging and can't be
> garbage 

Re: What you think about this fix - SearchFilter bead

2020-10-18 Thread Hugo Ferreira
Hi Carlos,

I was able to replicate the issue on TDJ apply the fix and saw the issue
goes away.
BUT I had to clean everything and rebuild everything (I even put a console
log to be sure that I was testing updated version).
I thought that was normal.

Thank you for point me out about the remove listener.

Here the full source code updated file:


//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You under the Apache License, Version 2.0
//  (the "License"); you may not use this file except in compliance with
//  the License.  You may obtain a copy of the License at
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

package org.apache.royale.jewel.beads.controls.combobox
{
import org.apache.royale.events.Event;
import org.apache.royale.jewel.beads.controls.combobox.IComboBoxView;
import org.apache.royale.jewel.beads.controls.textinput.SearchFilterForList;
import org.apache.royale.jewel.beads.views.ComboBoxView;
import org.apache.royale.jewel.supportClasses.textinput.TextInputBase;
import org.apache.royale.jewel.List;
import org.apache.royale.events.MouseEvent;

/**
*  The SearchFilter bead class is a specialty bead that can be used with
 *  a Jewel ComboBox to filter options as we type
*
*  @langversion 3.0
*  @playerversion Flash 10.2
*  @playerversion AIR 2.6
*  @productversion Royale 0.9.5
*/
public class SearchFilter extends SearchFilterForList
{
/**
*  constructor.
*
*  @langversion 3.0
*  @playerversion Flash 10.2
*  @playerversion AIR 2.6
*  @productversion Royale 0.9.5
*/
public function SearchFilter()
{
}

public override function set list(value:List):void
{
super.list = value;
COMPILE::JS
{
if (list != null)
   list.addEventListener(MouseEvent.CLICK, onListClick);
}
}

private function onListClick(event:MouseEvent):void
{
list.removeEventListener(MouseEvent.CLICK, onListClick);
comboView.popUpVisible = false;
}

private var comboView:IComboBoxView;

override protected function textInputKeyUpLogic(input:Object):void
{
if(!list) return;

// first remove a previous selection
if(list.selectedIndex != -1)
{
var tmp:String = input.text;
list.selectedItem = null;
input.text = tmp;
}

if (!comboView.popUpVisible)
comboView.popUpVisible = true;

// fill "list" with the internal list in the combobox popup
//list = comboView.popup.view.list;

applyFilter(comboView.textinput.text.toUpperCase());

ComboBoxView(comboView).autoResizeHandler(); //as we filter the popup list
will be smaller, and we want to reposition
}

override protected function selectItem(item:Object):void
{
// Select the item in the list if text is the same
// we do at the end to avoid multiple selection (if there's more than one
matches)
// in that case, select the first one in the list
// if(item != null)
// list.selectedItem = item;
}

override protected function onBeadsAdded(event:Event):void{
listenOnStrand('dismissPopUp', removeListListeners);
listenOnStrand('popUpOpened', popUpOpenedHandler);
listenOnStrand('popUpClosed', popUpClosedHandler);

comboView = event.target.view as IComboBoxView;
if (comboView)
{
var _textInput:TextInputBase = comboView.textinput as
TextInputBase;
if (_textInput) {
COMPILE::JS
{
_textInput.element.addEventListener('focus',
onInputFocus);
}
}
}
}

override protected function onInputFocus(event:Event):void{
if (!comboView.popUpVisible)
comboView.popUpVisible = true;
}

protected function popUpOpenedHandler():void {
// fill "list" with the internal list in the combobox popup
list = comboView.popup.view.list;
}

protected function popUpClosedHandler():void {
list = null;
}
}
}

Carlos Rovira  escreveu no dia domingo, 18/10/2020
à(s) 18:04:

> Hi Hugo,
>
> when I tried that code I had to add the imports too.
> Anyway I tried again, and I'm getting the same fail in the TDJ SearchFilter
> example
> Are you getting the same?
> Also I think you'll need to remove the listener when the popup closes,
> since the list is recreated again and a new listener will be attached
> If you don't remove the listeners you left the list hanging and can't be
> garbage 

Re: What you think about this fix - SearchFilter bead

2020-10-18 Thread Carlos Rovira
Hi Hugo,

when I tried that code I had to add the imports too.
Anyway I tried again, and I'm getting the same fail in the TDJ SearchFilter
example
Are you getting the same?
Also I think you'll need to remove the listener when the popup closes,
since the list is recreated again and a new listener will be attached
If you don't remove the listeners you left the list hanging and can't be
garbage collected.
thanks

El dom., 18 oct. 2020 a las 18:02, Hugo Ferreira ()
escribió:

> Hi Carlos,
>
> I was able to compile the Royale SDK with ant.
> Built the TDJ and replicate the exactly issue that you mention before.
> Applied a fix that keeps my original fix without the issue that you mention
> but this time directly from the compiled Royale SDK + TDJ.
>
> So, the new code is 2 new imports:
> import org.apache.royale.jewel.List;
> import org.apache.royale.events.MouseEvent;
>
> And this:
> public override function set list(value:List):void
> {
> super.list = value;
> COMPILE::JS
> {
> if (list != null)
>list.addEventListener(MouseEvent.CLICK, onListClick);
> }
> }
>
> private function onListClick(event:MouseEvent):void
> {
> comboView.popUpVisible = false;
> }
>
> What do you think ?
>
> Carlos Rovira  escreveu no dia quinta, 15/10/2020
> à(s) 09:13:
>
> > Ok Hugo,
> >
> > many thanks :)
> >
> > El jue., 15 oct. 2020 a las 1:50, Hugo Ferreira ( >)
> > escribió:
> >
> > > Hi Carlos,
> > >
> > > OK, let me try :)
> > >
> > > Carlos Rovira  escreveu no dia quarta,
> > 14/10/2020
> > > à(s) 08:29:
> > >
> > > > Hi Hugo,
> > > >
> > > > I'm trying that snippet in jewel with TDJ and as I start to interact
> > with
> > > > the CMB I get this:
> > > >
> > > > SearchFilter.as:123 Uncaught TypeError: Cannot read property
> > > > 'addEventListener' of null
> > > > at
> > > >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.set__list
> > > > (SearchFilter.as:123)
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.popUpClosedHandler
> > > > (SearchFilter.as:115)
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.fireListeners
> > > > (EventDispatcher.as:131)
> > > > at Function.goog.events.EventTarget.dispatchEventInternal_
> > > > (eventtarget.js:381)
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.dispatchEvent
> > > > (EventDispatcher.as:108)
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.core.ElementWrapper.dispatchEvent
> > > > (ElementWrapper.js:229)
> > > > at Object.org.apache.royale.utils.sendStrandEvent
> > > > (sendStrandEvent.js:28)
> > > > at
> > org.apache.royale.jewel.beads.views.ComboBoxView.set__popUpVisible
> > > > (ComboBoxView.as:232)
> > > > at
> > > >
> > > >
> > >
> >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.org_apache_royale_jewel_beads_controls_combobox_SearchFilter_onListClick
> > > > (SearchFilter.as:129)
> > > > at Function.goog.events.fireListener [as googFireListener]
> > > > (events.js:744)
> > > >
> > > > I think you need to solve the way you are trying. You can monkeypatch
> > the
> > > > code, but doing that will be very difficult to do this kind of fixes.
> > > > The best way is:
> > > >
> > > > 1.- have the source code building in your local (with maven and ant,
> > for
> > > > this I shared other times this script I use on Mac, that you can
> adapt
> > > for
> > > > you [1])
> > > > 2.- As you have the 3 repos working on your side you can change any
> > > library
> > > > and then do in the lib root folder : "mvn clean install
> > > -Poption-with-swf"
> > > > and then "ant" to build with both and check all is fine.
> > > > 3.- Then you can use a test project like TDJ or any other to try your
> > > > changes. For example if you are using maven you don't need to sync
> the
> > > > library since you get directly in you local repo and the test project
> > > will
> > > > use it in the next compilation with your changes.
> > > >
> > > > Thanks for trying to fix it and I'll wait for your thoughts and see
> if
> > > you
> > > > can go further :)
> > > >
> > > > [1]
> > > https://gist.github.com/carlosrovira/200753108de263fa43e80d3228213509
> > > >
> > > >
> > > > El mié., 14 oct. 2020 a las 0:57, Hugo Ferreira (<
> > hferreira...@gmail.com
> > > >)
> > > > escribió:
> > > >
> > > > > Hi,
> > > > >
> > > > > As mention previous, I found a bug on ComboBox + SearchFilter bead:
> > > > > https://github.com/apache/royale-asjs/issues/917
> > > > > This bug happens easly on my application because I saw with a
> > ComboBox
> > > > with
> > > > > many similar items but it also happens on Tour de Jewel (more
> > difficult
> > > > to
> > > > > reproduce because all the items are different)
> > > > >
> > > > > After I bring 

Re: What you think about this fix - SearchFilter bead

2020-10-18 Thread Hugo Ferreira
Hi Carlos,

I was able to compile the Royale SDK with ant.
Built the TDJ and replicate the exactly issue that you mention before.
Applied a fix that keeps my original fix without the issue that you mention
but this time directly from the compiled Royale SDK + TDJ.

So, the new code is 2 new imports:
import org.apache.royale.jewel.List;
import org.apache.royale.events.MouseEvent;

And this:
public override function set list(value:List):void
{
super.list = value;
COMPILE::JS
{
if (list != null)
   list.addEventListener(MouseEvent.CLICK, onListClick);
}
}

private function onListClick(event:MouseEvent):void
{
comboView.popUpVisible = false;
}

What do you think ?

Carlos Rovira  escreveu no dia quinta, 15/10/2020
à(s) 09:13:

> Ok Hugo,
>
> many thanks :)
>
> El jue., 15 oct. 2020 a las 1:50, Hugo Ferreira ()
> escribió:
>
> > Hi Carlos,
> >
> > OK, let me try :)
> >
> > Carlos Rovira  escreveu no dia quarta,
> 14/10/2020
> > à(s) 08:29:
> >
> > > Hi Hugo,
> > >
> > > I'm trying that snippet in jewel with TDJ and as I start to interact
> with
> > > the CMB I get this:
> > >
> > > SearchFilter.as:123 Uncaught TypeError: Cannot read property
> > > 'addEventListener' of null
> > > at
> > > org.apache.royale.jewel.beads.controls.combobox.SearchFilter.set__list
> > > (SearchFilter.as:123)
> > > at
> > >
> > >
> >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.popUpClosedHandler
> > > (SearchFilter.as:115)
> > > at
> > >
> > >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.fireListeners
> > > (EventDispatcher.as:131)
> > > at Function.goog.events.EventTarget.dispatchEventInternal_
> > > (eventtarget.js:381)
> > > at
> > >
> > >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.dispatchEvent
> > > (EventDispatcher.as:108)
> > > at
> > >
> > >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.core.ElementWrapper.dispatchEvent
> > > (ElementWrapper.js:229)
> > > at Object.org.apache.royale.utils.sendStrandEvent
> > > (sendStrandEvent.js:28)
> > > at
> org.apache.royale.jewel.beads.views.ComboBoxView.set__popUpVisible
> > > (ComboBoxView.as:232)
> > > at
> > >
> > >
> >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.org_apache_royale_jewel_beads_controls_combobox_SearchFilter_onListClick
> > > (SearchFilter.as:129)
> > > at Function.goog.events.fireListener [as googFireListener]
> > > (events.js:744)
> > >
> > > I think you need to solve the way you are trying. You can monkeypatch
> the
> > > code, but doing that will be very difficult to do this kind of fixes.
> > > The best way is:
> > >
> > > 1.- have the source code building in your local (with maven and ant,
> for
> > > this I shared other times this script I use on Mac, that you can adapt
> > for
> > > you [1])
> > > 2.- As you have the 3 repos working on your side you can change any
> > library
> > > and then do in the lib root folder : "mvn clean install
> > -Poption-with-swf"
> > > and then "ant" to build with both and check all is fine.
> > > 3.- Then you can use a test project like TDJ or any other to try your
> > > changes. For example if you are using maven you don't need to sync the
> > > library since you get directly in you local repo and the test project
> > will
> > > use it in the next compilation with your changes.
> > >
> > > Thanks for trying to fix it and I'll wait for your thoughts and see if
> > you
> > > can go further :)
> > >
> > > [1]
> > https://gist.github.com/carlosrovira/200753108de263fa43e80d3228213509
> > >
> > >
> > > El mié., 14 oct. 2020 a las 0:57, Hugo Ferreira (<
> hferreira...@gmail.com
> > >)
> > > escribió:
> > >
> > > > Hi,
> > > >
> > > > As mention previous, I found a bug on ComboBox + SearchFilter bead:
> > > > https://github.com/apache/royale-asjs/issues/917
> > > > This bug happens easly on my application because I saw with a
> ComboBox
> > > with
> > > > many similar items but it also happens on Tour de Jewel (more
> difficult
> > > to
> > > > reproduce because all the items are different)
> > > >
> > > > After I bring the SearchFilter bead to my project, I found a fix or
> > > > workaround to this bug.
> > > > I confirm that the end result works well, however I would like to
> know
> > > what
> > > > do you think about this fix ?
> > > >
> > > > On SearchFilter.as, I added this on my side:
> > > > public override function set list(value:List):void
> > > > {
> > > > super.list = value;
> > > > COMPILE::JS
> > > > {
> > > > list.addEventListener(MouseEvent.CLICK, onListClick);
> > > > }
> > > > }
> > > >
> > > > private function onListClick(event:MouseEvent):void
> > > > {
> > > > comboView.popUpVisible = false;
> > > > }
> > > >
> > > > If is OK, I can commit it.
> > > >
> > >
> > >
> > > --
> > > Carlos Rovira
> > > Apache Member & Apache Royale PMC
> > > *Apache Software Foundation*

Re: What you think about this fix - SearchFilter bead

2020-10-15 Thread Carlos Rovira
Ok Hugo,

many thanks :)

El jue., 15 oct. 2020 a las 1:50, Hugo Ferreira ()
escribió:

> Hi Carlos,
>
> OK, let me try :)
>
> Carlos Rovira  escreveu no dia quarta, 14/10/2020
> à(s) 08:29:
>
> > Hi Hugo,
> >
> > I'm trying that snippet in jewel with TDJ and as I start to interact with
> > the CMB I get this:
> >
> > SearchFilter.as:123 Uncaught TypeError: Cannot read property
> > 'addEventListener' of null
> > at
> > org.apache.royale.jewel.beads.controls.combobox.SearchFilter.set__list
> > (SearchFilter.as:123)
> > at
> >
> >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.popUpClosedHandler
> > (SearchFilter.as:115)
> > at
> >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.fireListeners
> > (EventDispatcher.as:131)
> > at Function.goog.events.EventTarget.dispatchEventInternal_
> > (eventtarget.js:381)
> > at
> >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.dispatchEvent
> > (EventDispatcher.as:108)
> > at
> >
> >
> org.apache.royale.jewel.ComboBox.org.apache.royale.core.ElementWrapper.dispatchEvent
> > (ElementWrapper.js:229)
> > at Object.org.apache.royale.utils.sendStrandEvent
> > (sendStrandEvent.js:28)
> > at org.apache.royale.jewel.beads.views.ComboBoxView.set__popUpVisible
> > (ComboBoxView.as:232)
> > at
> >
> >
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.org_apache_royale_jewel_beads_controls_combobox_SearchFilter_onListClick
> > (SearchFilter.as:129)
> > at Function.goog.events.fireListener [as googFireListener]
> > (events.js:744)
> >
> > I think you need to solve the way you are trying. You can monkeypatch the
> > code, but doing that will be very difficult to do this kind of fixes.
> > The best way is:
> >
> > 1.- have the source code building in your local (with maven and ant, for
> > this I shared other times this script I use on Mac, that you can adapt
> for
> > you [1])
> > 2.- As you have the 3 repos working on your side you can change any
> library
> > and then do in the lib root folder : "mvn clean install
> -Poption-with-swf"
> > and then "ant" to build with both and check all is fine.
> > 3.- Then you can use a test project like TDJ or any other to try your
> > changes. For example if you are using maven you don't need to sync the
> > library since you get directly in you local repo and the test project
> will
> > use it in the next compilation with your changes.
> >
> > Thanks for trying to fix it and I'll wait for your thoughts and see if
> you
> > can go further :)
> >
> > [1]
> https://gist.github.com/carlosrovira/200753108de263fa43e80d3228213509
> >
> >
> > El mié., 14 oct. 2020 a las 0:57, Hugo Ferreira ( >)
> > escribió:
> >
> > > Hi,
> > >
> > > As mention previous, I found a bug on ComboBox + SearchFilter bead:
> > > https://github.com/apache/royale-asjs/issues/917
> > > This bug happens easly on my application because I saw with a ComboBox
> > with
> > > many similar items but it also happens on Tour de Jewel (more difficult
> > to
> > > reproduce because all the items are different)
> > >
> > > After I bring the SearchFilter bead to my project, I found a fix or
> > > workaround to this bug.
> > > I confirm that the end result works well, however I would like to know
> > what
> > > do you think about this fix ?
> > >
> > > On SearchFilter.as, I added this on my side:
> > > public override function set list(value:List):void
> > > {
> > > super.list = value;
> > > COMPILE::JS
> > > {
> > > list.addEventListener(MouseEvent.CLICK, onListClick);
> > > }
> > > }
> > >
> > > private function onListClick(event:MouseEvent):void
> > > {
> > > comboView.popUpVisible = false;
> > > }
> > >
> > > If is OK, I can commit it.
> > >
> >
> >
> > --
> > Carlos Rovira
> > Apache Member & Apache Royale PMC
> > *Apache Software Foundation*
> > http://about.me/carlosrovira
> >
>


-- 
Carlos Rovira
Apache Member & Apache Royale PMC
*Apache Software Foundation*
http://about.me/carlosrovira


Re: What you think about this fix - SearchFilter bead

2020-10-14 Thread Hugo Ferreira
Hi Carlos,

OK, let me try :)

Carlos Rovira  escreveu no dia quarta, 14/10/2020
à(s) 08:29:

> Hi Hugo,
>
> I'm trying that snippet in jewel with TDJ and as I start to interact with
> the CMB I get this:
>
> SearchFilter.as:123 Uncaught TypeError: Cannot read property
> 'addEventListener' of null
> at
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.set__list
> (SearchFilter.as:123)
> at
>
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.popUpClosedHandler
> (SearchFilter.as:115)
> at
>
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.fireListeners
> (EventDispatcher.as:131)
> at Function.goog.events.EventTarget.dispatchEventInternal_
> (eventtarget.js:381)
> at
>
> org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.dispatchEvent
> (EventDispatcher.as:108)
> at
>
> org.apache.royale.jewel.ComboBox.org.apache.royale.core.ElementWrapper.dispatchEvent
> (ElementWrapper.js:229)
> at Object.org.apache.royale.utils.sendStrandEvent
> (sendStrandEvent.js:28)
> at org.apache.royale.jewel.beads.views.ComboBoxView.set__popUpVisible
> (ComboBoxView.as:232)
> at
>
> org.apache.royale.jewel.beads.controls.combobox.SearchFilter.org_apache_royale_jewel_beads_controls_combobox_SearchFilter_onListClick
> (SearchFilter.as:129)
> at Function.goog.events.fireListener [as googFireListener]
> (events.js:744)
>
> I think you need to solve the way you are trying. You can monkeypatch the
> code, but doing that will be very difficult to do this kind of fixes.
> The best way is:
>
> 1.- have the source code building in your local (with maven and ant, for
> this I shared other times this script I use on Mac, that you can adapt for
> you [1])
> 2.- As you have the 3 repos working on your side you can change any library
> and then do in the lib root folder : "mvn clean install -Poption-with-swf"
> and then "ant" to build with both and check all is fine.
> 3.- Then you can use a test project like TDJ or any other to try your
> changes. For example if you are using maven you don't need to sync the
> library since you get directly in you local repo and the test project will
> use it in the next compilation with your changes.
>
> Thanks for trying to fix it and I'll wait for your thoughts and see if you
> can go further :)
>
> [1] https://gist.github.com/carlosrovira/200753108de263fa43e80d3228213509
>
>
> El mié., 14 oct. 2020 a las 0:57, Hugo Ferreira ()
> escribió:
>
> > Hi,
> >
> > As mention previous, I found a bug on ComboBox + SearchFilter bead:
> > https://github.com/apache/royale-asjs/issues/917
> > This bug happens easly on my application because I saw with a ComboBox
> with
> > many similar items but it also happens on Tour de Jewel (more difficult
> to
> > reproduce because all the items are different)
> >
> > After I bring the SearchFilter bead to my project, I found a fix or
> > workaround to this bug.
> > I confirm that the end result works well, however I would like to know
> what
> > do you think about this fix ?
> >
> > On SearchFilter.as, I added this on my side:
> > public override function set list(value:List):void
> > {
> > super.list = value;
> > COMPILE::JS
> > {
> > list.addEventListener(MouseEvent.CLICK, onListClick);
> > }
> > }
> >
> > private function onListClick(event:MouseEvent):void
> > {
> > comboView.popUpVisible = false;
> > }
> >
> > If is OK, I can commit it.
> >
>
>
> --
> Carlos Rovira
> Apache Member & Apache Royale PMC
> *Apache Software Foundation*
> http://about.me/carlosrovira
>


Re: What you think about this fix - SearchFilter bead

2020-10-14 Thread Carlos Rovira
Hi Hugo,

I'm trying that snippet in jewel with TDJ and as I start to interact with
the CMB I get this:

SearchFilter.as:123 Uncaught TypeError: Cannot read property
'addEventListener' of null
at
org.apache.royale.jewel.beads.controls.combobox.SearchFilter.set__list
(SearchFilter.as:123)
at
org.apache.royale.jewel.beads.controls.combobox.SearchFilter.popUpClosedHandler
(SearchFilter.as:115)
at
org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.fireListeners
(EventDispatcher.as:131)
at Function.goog.events.EventTarget.dispatchEventInternal_
(eventtarget.js:381)
at
org.apache.royale.jewel.ComboBox.org.apache.royale.events.EventDispatcher.dispatchEvent
(EventDispatcher.as:108)
at
org.apache.royale.jewel.ComboBox.org.apache.royale.core.ElementWrapper.dispatchEvent
(ElementWrapper.js:229)
at Object.org.apache.royale.utils.sendStrandEvent
(sendStrandEvent.js:28)
at org.apache.royale.jewel.beads.views.ComboBoxView.set__popUpVisible
(ComboBoxView.as:232)
at
org.apache.royale.jewel.beads.controls.combobox.SearchFilter.org_apache_royale_jewel_beads_controls_combobox_SearchFilter_onListClick
(SearchFilter.as:129)
at Function.goog.events.fireListener [as googFireListener]
(events.js:744)

I think you need to solve the way you are trying. You can monkeypatch the
code, but doing that will be very difficult to do this kind of fixes.
The best way is:

1.- have the source code building in your local (with maven and ant, for
this I shared other times this script I use on Mac, that you can adapt for
you [1])
2.- As you have the 3 repos working on your side you can change any library
and then do in the lib root folder : "mvn clean install -Poption-with-swf"
and then "ant" to build with both and check all is fine.
3.- Then you can use a test project like TDJ or any other to try your
changes. For example if you are using maven you don't need to sync the
library since you get directly in you local repo and the test project will
use it in the next compilation with your changes.

Thanks for trying to fix it and I'll wait for your thoughts and see if you
can go further :)

[1] https://gist.github.com/carlosrovira/200753108de263fa43e80d3228213509


El mié., 14 oct. 2020 a las 0:57, Hugo Ferreira ()
escribió:

> Hi,
>
> As mention previous, I found a bug on ComboBox + SearchFilter bead:
> https://github.com/apache/royale-asjs/issues/917
> This bug happens easly on my application because I saw with a ComboBox with
> many similar items but it also happens on Tour de Jewel (more difficult to
> reproduce because all the items are different)
>
> After I bring the SearchFilter bead to my project, I found a fix or
> workaround to this bug.
> I confirm that the end result works well, however I would like to know what
> do you think about this fix ?
>
> On SearchFilter.as, I added this on my side:
> public override function set list(value:List):void
> {
> super.list = value;
> COMPILE::JS
> {
> list.addEventListener(MouseEvent.CLICK, onListClick);
> }
> }
>
> private function onListClick(event:MouseEvent):void
> {
> comboView.popUpVisible = false;
> }
>
> If is OK, I can commit it.
>


-- 
Carlos Rovira
Apache Member & Apache Royale PMC
*Apache Software Foundation*
http://about.me/carlosrovira