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'));
 			}
 		}