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 2020/03/30 21:22:16 UTC

[royale-asjs] branch develop updated: jewel-viewport: more fixes and delay call to setScrollStyle to initComplete, since we need className already set

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 4bd1729  jewel-viewport: more fixes and delay call to setScrollStyle to initComplete, since we need className already set
4bd1729 is described below

commit 4bd1729b563993f6f57858ae36d5dadf1b99cdeb
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Mon Mar 30 23:22:11 2020 +0200

    jewel-viewport: more fixes and delay call to setScrollStyle to initComplete, since we need className already set
---
 .../apache/royale/jewel/supportClasses/Viewport.as | 26 +++++++++++++---------
 .../supportClasses/scrollbar/ScrollingViewport.as  |  5 +++--
 2 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as
index 968c8ab..cb4c708 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/Viewport.as
@@ -66,13 +66,16 @@ package org.apache.royale.jewel.supportClasses
 			if (!contentArea)
 				contentArea = value as UIBase;
 			
-			setScrollStyle();
+			contentArea.addEventListener("initComplete", setScrollStyle);
 		}
 		
 		/**
-		 *  Subclasses override this method to change scrolling behavior
-		 *  We use classList, since we can affect UIBase components (not only StyledUIBase)
-		 *  like for example and html:Div or html:Pre
+		 *  Subclasses override this method to change scrolling behavior.
+		 *  
+		 *  Since we can affect UIBase components (not only StyledUIBase)
+		 *  (for example and html:Div or html:Pre)
+		 *  we use className to set (we need to run computeFinalClassNames)
+		 *  and classList to remove.
 		 * 
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
@@ -83,10 +86,14 @@ package org.apache.royale.jewel.supportClasses
 		override protected function setScrollStyle():void
 		{
 			contentArea.element.classList.add("viewport");
-			clipContent = true;
+
+			if(_clipContent)
+				contentArea.element.classList.add("clipped");
+			else
+				contentArea.element.classList.remove("clipped");
 		}
 
-		private var _clipContent:Boolean;
+		private var _clipContent:Boolean = true;
 		/**
 		 *  Whether to apply a clip mask if the positions and/or sizes of this container's children extend outside the borders of this container.
 		 *  
@@ -108,13 +115,10 @@ package org.apache.royale.jewel.supportClasses
 			if(_clipContent != value)
 			{
 				_clipContent = value;
-
 				COMPILE::JS
 				{
-				if(_clipContent)
-					contentArea.element.classList.add("clipped");
-				else
-					contentArea.element.classList.remove("clipped");
+				if(contentArea)
+					setScrollStyle();
 				}
 			}
 		}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as
index 899b9fa..1a9b00e 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/scrollbar/ScrollingViewport.as
@@ -116,13 +116,14 @@ package org.apache.royale.jewel.supportClasses.scrollbar
 		 *  @playerversion AIR 2.6
 		 *  @productversion Royale 0.9.7
 		 */
+		COMPILE::JS
 		override protected function setScrollStyle():void
 		{
 			super.setScrollStyle();
 
 			_scroll ?
-				contentArea.positioner.classList.add("scroll") :
-				contentArea.positioner.classList.remove("scroll");
+				contentArea.element.classList.add("scroll"):
+				contentArea.element.classList.remove("scroll");
 		}
 		
 		/**