Hi Hugo,

much appreciate the effort. Many thanks! :)

El mar., 20 oct. 2020 a las 2:21, Hugo Ferreira (<[email protected]>)
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 <[email protected]> escreveu no dia segunda, 19/10/2020
> à(s) 11:34:
>
> > Hi Carlos,
> >
> > No problem.
> > I will do that.
> >
> > Carlos Rovira <[email protected]> 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 (<[email protected]>)
> >> 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) {
> >> > 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/
> >> >
> >>
> >>
> >> --
> >> 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

Reply via email to