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 2018/07/04 10:11:00 UTC
[royale-asjs] branch develop updated: fix ClassSelectorList toggle
method for IE11 since doesn't allow second param and fix contains in
StyledUIBase
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 404ba21 fix ClassSelectorList toggle method for IE11 since doesn't allow second param and fix contains in StyledUIBase
404ba21 is described below
commit 404ba21d9301cbb88c8d88069f029ccd25f56ba3
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Jul 4 12:10:56 2018 +0200
fix ClassSelectorList toggle method for IE11 since doesn't allow second param
and fix contains in StyledUIBase
---
.../royale/org/apache/royale/core/StyledUIBase.as | 4 +-
.../org/apache/royale/utils/ClassSelectorList.as | 8 ++-
.../apache/royale/jewel/ApplicationMainContent.as | 16 ++---
.../main/royale/org/apache/royale/jewel/Button.as | 68 +++++++++++++++++++++-
.../royale/org/apache/royale/jewel/Container.as | 8 +--
.../main/royale/org/apache/royale/jewel/Group.as | 8 +--
.../org/apache/royale/jewel/SectionContent.as | 5 +-
.../royale/org/apache/royale/jewel/ToggleButton.as | 17 +++---
.../royale/jewel/itemRenderers/ListItemRenderer.as | 5 +-
.../royale/jewel/supportClasses/TextInputBase.as | 9 +--
10 files changed, 105 insertions(+), 43 deletions(-)
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/StyledUIBase.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/StyledUIBase.as
index 3f90a94..0a67d2b 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/StyledUIBase.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/StyledUIBase.as
@@ -47,8 +47,8 @@ package org.apache.royale.core
*/
public function StyledUIBase()
{
- super();
classSelectorList = new ClassSelectorList(this);
+ super();
}
COMPILE::JS
@@ -147,7 +147,7 @@ package org.apache.royale.core
{
COMPILE::JS
{
- return classSelectorList.contains(name);
+ return classSelectorList.contains(name);
}
COMPILE::SWF
{//not implemented
diff --git a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as
index edbe151..4a06468 100644
--- a/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as
+++ b/frameworks/projects/Core/src/main/royale/org/apache/royale/utils/ClassSelectorList.as
@@ -104,7 +104,13 @@ package org.apache.royale.utils
{
COMPILE::JS
{
- component.positioner.classList.toggle(name, value);
+ //IE11 does not support second value so instead of
+ //component.positioner.classList.toggle(name, value);
+ if(value)
+ component.positioner.classList.add(name);
+ else
+ component.positioner.classList.remove(name);
+
if (!component.parent && value)
startIndex++;
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
index e47e169..0e267c1 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
@@ -94,12 +94,12 @@ package org.apache.royale.jewel
*/
public function showContent(id:String):void
{
- for (var i:int = 0; i < numElements; i++)
+ try
{
- var content:IActivable = getElementAt(i) as IActivable;
-
- try
+ for (var i:int = 0; i < numElements; i++)
{
+ var content:IActivable = getElementAt(i) as IActivable;
+
if(content.id == id)
{
content.isActive = true;
@@ -109,10 +109,10 @@ package org.apache.royale.jewel
content.isActive = false;
}
}
- catch (error:Error)
- {
- throw new Error ("One or more content in ApplicationMainContent is not implementing IActivable interface.");
- }
+ }
+ catch (error:Error)
+ {
+ throw new Error ("One or more content in ApplicationMainContent is not implementing IActivable interface.");
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Button.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Button.as
index 1630850..72287e6 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Button.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Button.as
@@ -29,6 +29,7 @@ package org.apache.royale.jewel
COMPILE::SWF
{
import org.apache.royale.core.UIButtonBase;
+ import org.apache.royale.utils.IClassSelectorListSupport;
}
COMPILE::JS
@@ -171,7 +172,7 @@ package org.apache.royale.jewel
* @productversion Royale 0.9.3
*/
COMPILE::SWF
- public class Button extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase, IIconSupport
+ public class Button extends UIButtonBase implements IStrand, IEventDispatcher, IUIBase, IIconSupport, IClassSelectorListSupport
{
public static const PRIMARY:String = "primary";
public static const SECONDARY:String = "secondary";
@@ -289,6 +290,71 @@ package org.apache.royale.jewel
classSelectorList.toggle("icon", (_icon != null));
// todo set up icon on swf
}
+
+ /**
+ * Add a class selector to the list.
+ *
+ * @param name Name of selector to add.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.3
+ */
+ public function addClass(name:String):void
+ {
+ // To implement.need to implement this interface or extensions will not compile
+ }
+
+ /**
+ * Removes a class selector from the list.
+ *
+ * @param name Name of selector to remove.
+ *
+ * @royaleignorecoercion HTMLElement
+ * @royaleignorecoercion DOMTokenList
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.3
+ */
+ public function removeClass(name:String):void
+ {
+ // To implement.need to implement this interface or extensions will not compile
+ }
+
+ /**
+ * Add or remove a class selector to/from the list.
+ *
+ * @param name Name of selector to add or remove.
+ * @param value True to add, False to remove.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.3
+ */
+ public function toggleClass(name:String, value:Boolean):void
+ {
+ // To implement.need to implement this interface or extensions will not compile
+ }
+
+ /**
+ * Search for the name in the element class list
+ *
+ * @param name Name of selector to find.
+ * @return return true if the name is found or false otherwise.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.3
+ */
+ public function containsClass(name:String):Boolean
+ {
+ return false;
+ }
}
/**
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Container.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Container.as
index 3d2f347..f9ddfb7 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Container.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Container.as
@@ -165,14 +165,14 @@ package org.apache.royale.jewel
*/
public function containsClass(name:String):Boolean
{
- COMPILE::SWF
- {//not implemented
- return false;
- }
COMPILE::JS
{
return classSelectorList.contains(name);
}
+ COMPILE::SWF
+ {//not implemented
+ return false;
+ }
}
private var _mxmlDescriptor:Array;
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Group.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Group.as
index fa51adf..278ea2c 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Group.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Group.as
@@ -131,14 +131,14 @@ package org.apache.royale.jewel
*/
public function containsClass(name:String):Boolean
{
- COMPILE::SWF
- {//not implemented
- return false;
- }
COMPILE::JS
{
return classSelectorList.contains(name);
}
+ COMPILE::SWF
+ {//not implemented
+ return false;
+ }
}
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/SectionContent.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/SectionContent.as
index 101a3b7..59b5780 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/SectionContent.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/SectionContent.as
@@ -84,10 +84,7 @@ package org.apache.royale.jewel
{
_isActive = value;
- COMPILE::JS
- {
- toggleClass("is-active", _isActive);
- }
+ toggleClass("is-active", _isActive);
}
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ToggleButton.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ToggleButton.as
index 0bbf46e..1aef80c 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ToggleButton.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ToggleButton.as
@@ -154,8 +154,10 @@ package org.apache.royale.jewel
{
selected = !selected;
}
+
COMPILE::SWF
private var savedClassName:String;
+
private function internalSelected():void
{
COMPILE::SWF
@@ -172,15 +174,12 @@ package org.apache.royale.jewel
className = (name ? " " + name : "");
}
}
- COMPILE::JS
- {
- var isToggleTextButtonSelected:Boolean = element.classList.contains("selected");
- //sync the class with the state
- if(isToggleTextButtonSelected != _selected)
- toggleClass("selected", _selected);
-
- }
-
+
+ var isToggleTextButtonSelected:Boolean = containsClass("selected");
+ //sync the class with the state
+ if(isToggleTextButtonSelected != _selected)
+ toggleClass("selected", _selected);
+
if(icon && icon is ISelectable)
{
var selectableIcon:ISelectable = icon as ISelectable;
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 9777945..7bfca40 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
@@ -137,10 +137,7 @@ package org.apache.royale.jewel.itemRenderers
//else
// useColor = backgroundColor;
- COMPILE::JS
- {
- toggleClass("selected", selected);
- }
+ toggleClass("selected", selected);
}
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/TextInputBase.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/TextInputBase.as
index d50a1e3..9951828 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/TextInputBase.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/TextInputBase.as
@@ -248,12 +248,9 @@ package org.apache.royale.jewel.supportClasses
{
_isInvalid = value;
- COMPILE::JS
- {
- toggleClass("is-invalid", _isInvalid);
- //positioner.classList.toggle("is-invalid", _isInvalid);
- //typeNames = positioner.className;
- }
+ toggleClass("is-invalid", _isInvalid);
+ //positioner.classList.toggle("is-invalid", _isInvalid);
+ //typeNames = positioner.className;
}
}
}