Hi Carlos, You welcome. I saw your comments on github and also reply on that.
Carlos Rovira <[email protected]> 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 (<[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 >
