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/02/20 09:52:11 UTC

[royale-asjs] branch develop updated: fix a regression in jewel item render that removes other content when filtering, also add "useDecoration" to enable/disable decorations

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 66a4878  fix a regression in jewel item render that removes other content when filtering, also add "useDecoration" to enable/disable decorations
66a4878 is described below

commit 66a4878b7cdac5ee4520359f9ae80807c7f1ffce
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Feb 20 10:52:01 2019 +0100

    fix a regression in jewel item render that removes other content when filtering, also add "useDecoration" to enable/disable decorations
---
 .../main/royale/itemRenderers/IconListItemRenderer.mxml  |  3 +--
 .../beads/controls/textinput/SearchFilterForList.as      | 12 +++++++++++-
 .../royale/jewel/itemRenderers/ListItemRenderer.as       | 16 +++++-----------
 .../royale/jewel/itemRenderers/TableItemRenderer.as      | 10 +---------
 4 files changed, 18 insertions(+), 23 deletions(-)

diff --git a/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml b/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml
index 7d40de4..d2193f5 100644
--- a/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/itemRenderers/IconListItemRenderer.mxml
@@ -20,7 +20,6 @@ limitations under the License.
 <j:ListItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:j="library://ns.apache.org/royale/jewel" 
     xmlns:js="library://ns.apache.org/royale/basic" 
-    xmlns:html="library://ns.apache.org/royale/html" 
     xmlns="http://www.w3.org/1999/xhtml">
 
     <fx:Script>
@@ -55,7 +54,7 @@ limitations under the License.
 
     <js:FontIcon text="{iconList ? iconList.icon : ''}" material="true" visible="{iconList ? iconList.icon != null : false}" click="clickCloseButton()"/>
 
-    <html:Span text="{text}"/>
+    <j:Label html="{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 68a38fa..f3828dd 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
@@ -63,6 +63,13 @@ package org.apache.royale.jewel.beads.controls.textinput
 		[Bindable]
 		public var filterFunction:Function = defaultFilterFunction;
 		
+		/**
+		 * enables label decoration when filter
+		 */
+		[Bindable]
+		public var useDecoration:Boolean = true;
+
+		
 		protected var _strand:IStrand;
 		/**
 		 *  @copy org.apache.royale.core.IBead#strand
@@ -166,7 +173,10 @@ package org.apache.royale.jewel.beads.controls.textinput
 					}
 
 					//decorate text
-					ir.text = filterText != "" ? decorateText(textData, textData.toUpperCase().indexOf(filterText.toUpperCase()), filterText.length) : textData;
+					if(useDecoration)
+					{
+						ir.text = filterText != "" ? decorateText(textData, textData.toUpperCase().indexOf(filterText.toUpperCase()), filterText.length) : textData;
+					}
                 } else {
                     ir.visible = false;
                 }
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 ed91789..63b75d8 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
@@ -81,16 +81,16 @@ package org.apache.royale.jewel.itemRenderers
 				_text = value;
 				COMPILE::JS
 				{
-				element.innerHTML = value;
+				if(MXMLDescriptor == null)
+				{
+					element.innerHTML = _text;
+				}
 				}
 				dispatchEvent(new Event('textChange'));
 			}
 		}
 
-		COMPILE::JS
-        protected var textNode:Text;
-
-		private var textAlign:TextAlign;
+        private var textAlign:TextAlign;
 
 		/**
 		 *  How text align in the itemRenderer instance.
@@ -135,12 +135,6 @@ package org.apache.royale.jewel.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
 			addElementToWrapper(this, 'li');
-            
-			if(MXMLDescriptor == null)
-			{
-				textNode = document.createTextNode('') as Text;
-				element.appendChild(textNode);
-			}
             return element;
         }
 
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as
index a729464..6e768c4 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/itemRenderers/TableItemRenderer.as
@@ -48,6 +48,7 @@ package org.apache.royale.jewel.itemRenderers
 			super();
 
 			typeNames = "jewel tableitem";
+			
 			if(MXMLDescriptor != null)
 			{
             	typeNames += " with-childs";
@@ -61,15 +62,6 @@ package org.apache.royale.jewel.itemRenderers
         override protected function createElement():WrappedHTMLElement
         {
 			addElementToWrapper(this, 'div');
-
-			if(MXMLDescriptor == null)
-			{
-				textNode = document.createTextNode('') as Text;
-				element.appendChild(textNode);
-			}
-            // itemRenderers should provide something for the background to handle
-            // the selection and highlight
-            // backgroundView = element;
             return element;
         }
 	}