You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/01/03 11:13:41 UTC
[royale-asjs] branch develop updated: remove "filterProperty" in
SearchFilterForList since it should always use "text" property,
and fix the Jewel ListItemRenderer and example
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 7725c9b remove "filterProperty" in SearchFilterForList since it should always use "text" property, and fix the Jewel ListItemRenderer and example
7725c9b is described below
commit 7725c9bc2ce9af041da85bc47672a3c60f6fbc92
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Thu Jan 3 12:13:34 2019 +0100
remove "filterProperty" in SearchFilterForList since it should always use "text" property, and fix the Jewel ListItemRenderer and example
---
.../TourDeJewel/src/main/royale/ListPlayGround.mxml | 3 +--
.../royale/itemRenderers/IconListItemRenderer.mxml | 2 +-
.../beads/controls/textinput/SearchFilterForList.as | 8 +-------
.../royale/jewel/itemRenderers/ListItemRenderer.as | 19 +++++++++++--------
4 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/examples/royale/TourDeJewel/src/main/royale/ListPlayGround.mxml b/examples/royale/TourDeJewel/src/main/royale/ListPlayGround.mxml
index e9fd924..fa25440 100644
--- a/examples/royale/TourDeJewel/src/main/royale/ListPlayGround.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/ListPlayGround.mxml
@@ -150,7 +150,7 @@ limitations under the License.
<j:Card>
<html:H3 text="Jewel List With ItemRenderer"/>
<j:HGroup gap="3">
- <j:List id="iconList" width="200" height="300" className="iconListItemRenderer">
+ <j:List id="iconList" width="200" height="300" className="iconListItemRenderer" labelField="label">
<j:beads>
<js:ConstantBinding sourceID="listModel" sourcePropertyName="iconListData" destinationPropertyName="dataProvider" />
<j:AddListItemRendererForArrayListData/>
@@ -172,7 +172,6 @@ limitations under the License.
<j:beads>
<j:TextPrompt prompt="filter list..."/>
<j:SearchFilterForList list="{iconList}"/>
- <!-- filterProperty="label" defaults to label so it's not needed -->
</j:beads>
</j:TextInput>
<!-- example below for dataProvider binding -->
diff --git a/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml b/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml
index 1ea2830..647d730 100644
--- a/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml
@@ -49,7 +49,7 @@ limitations under the License.
<js:FontIcon text="{iconList ? iconList.icon : ''}" material="true" visible="{iconList ? iconList.icon != null : false}" click="clickCloseButton()"/>
- <html:Span text="{iconList ? iconList.label : ''}"/>
+ <html:Span text="{text}"/>
</j:ListItemRenderer>
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 1bdf142..2f5cdc1 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
@@ -57,12 +57,6 @@ package org.apache.royale.jewel.beads.controls.textinput
public var list:List;
/**
- * the property of the data object in each row (ItemRenderer) to filter
- */
- [Bindable]
- public var filterProperty:String = "label";
-
- /**
* the filter function to use to filter entries in the list
*/
[Bindable]
@@ -133,7 +127,7 @@ package org.apache.royale.jewel.beads.controls.textinput
for (var i:int = 0; i < numElements; i++)
{
ir = list.getElementAt(i) as ListItemRenderer;
- if (filterFunction(ir.data[filterProperty], filterText))
+ if (filterFunction(ir.text, filterText))
{
ir.visible = true;
lastActive = ir;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
index ade75e1..f5487d4 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/ListItemRenderer.as
@@ -61,6 +61,7 @@ package org.apache.royale.jewel.itemRenderers
private var _text:String = "";
+ [Bindable(event="textChange")]
/**
* The text of the renderer
*
@@ -76,14 +77,16 @@ package org.apache.royale.jewel.itemRenderers
public function set text(value:String):void
{
- _text = value;
-
- COMPILE::JS
- {
- if(textNode != null)
- {
- textNode.nodeValue = _text;
- }
+ if(value != _text) {
+ _text = value;
+ COMPILE::JS
+ {
+ if(textNode != null)
+ {
+ textNode.nodeValue = _text;
+ }
+ }
+ dispatchEvent(new Event('textChange'));
}
}