This is an automated email from the ASF dual-hosted git repository.
carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new 54951f9 fix an isue with filtering combobox that given a previous
selection in the cmb was preventing a new selection when the user deleted some
character in the text input
54951f9 is described below
commit 54951f9e6dbe64bce1802190f889303366862d45
Author: Carlos Rovira <[email protected]>
AuthorDate: Thu Feb 14 12:04:45 2019 +0100
fix an isue with filtering combobox that given a previous selection in the
cmb was preventing a new selection when the user deleted some character in the
text input
---
.../jewel/beads/controls/combobox/SearchFilter.as | 10 ++++++++-
.../controls/textinput/SearchFilterForList.as | 26 +++++++++++++++++-----
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
index 7090d83..1d4bbc8 100644
---
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
+++
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/SearchFilter.as
@@ -48,6 +48,14 @@ package org.apache.royale.jewel.beads.controls.combobox
override protected function keyUpLogic(input:Object):void
{
+ // first remove a previous selection
+ if(list.selectedIndex != -1)
+ {
+ var tmp:String = input.text;
+ list.selectedItem = null;
+ input.text = tmp;
+ }
+
var popUpVisible:Boolean =
input.parent.view.popUpVisible;
if (!popUpVisible) {
//force popup ?:
@@ -68,7 +76,7 @@ package org.apache.royale.jewel.beads.controls.combobox
var _textInput:TextInputBase =
IComboBoxView(_strand['view']).textinput as TextInputBase;
if (_textInput) {
COMPILE::JS {
- _textInput.element.addEventListener( 'focus',
onInputFocus);
+ _textInput.element.addEventListener('focus',
onInputFocus);
}
}
}
diff --git
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/SearchFilterForList.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/SearchFilterForList.as
index 2f5cdc1..583fc67 100644
---
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/SearchFilterForList.as
+++
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/textinput/SearchFilterForList.as
@@ -81,6 +81,7 @@ package org.apache.royale.jewel.beads.controls.textinput
protected function keyUpHandler(event:KeyboardEvent):void
{
+
const inputBase:TextInputBase = event.target as
TextInputBase;
//keyup can include other things like tab navigation
@@ -94,6 +95,12 @@ package org.apache.royale.jewel.beads.controls.textinput
protected function keyUpLogic(input:Object):void
{
+ // first remove a previous selection
+ if(list.selectedIndex != -1)
+ {
+ list.selectedItem = null;
+ }
+
applyFilter(input.text.toUpperCase());
}
@@ -122,20 +129,27 @@ package org.apache.royale.jewel.beads.controls.textinput
{
var ir:ListItemRenderer;
var numElements:int = list.numElements;
- var count:uint = 0;
- var lastActive:ListItemRenderer;
- for (var i:int = 0; i < numElements; i++)
+ // var count:uint = 0;
+ // var lastActive:ListItemRenderer = null;
+ while (numElements--)
{
- ir = list.getElementAt(i) as ListItemRenderer;
+ ir = list.getElementAt(numElements) as ListItemRenderer;
if (filterFunction(ir.text, filterText))
{
ir.visible = true;
- lastActive = ir;
- count++;
+ // lastActive = ir;
+ // count++;
} else {
ir.visible = false;
}
}
+ // if (lastActive != null && list.selectedItem !=
lastActive.data)
+ // {
+ // list.selectedItem = lastActive.data;
+ // } else
+ // {
+ // list.selectedItem = null;
+ // }
/* if (count == 1) {
//select lastActive if there is only one that
matches?
}*/