This is an automated email from the ASF dual-hosted git repository.
harbs 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 c01ebc2 Fixed classNames in MDL button
c01ebc2 is described below
commit c01ebc2cc946570006d8f5cea607182e16eaf0fe
Author: Harbs <[email protected]>
AuthorDate: Mon Feb 26 14:10:22 2018 +0200
Fixed classNames in MDL button
Any MDL Button which set the className on a specific button blew away any
settings that were set by the MDL button
I don;t know if similar changes need to be made in other MDL components
---
.../main/royale/org/apache/royale/mdl/Button.as | 73 +++++++++-------------
1 file changed, 31 insertions(+), 42 deletions(-)
diff --git
a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Button.as
b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Button.as
index 339d4ea..9aed576 100644
---
a/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Button.as
+++
b/frameworks/projects/MaterialDesignLite/src/main/royale/org/apache/royale/mdl/Button.as
@@ -27,7 +27,6 @@ package org.apache.royale.mdl
{
import org.apache.royale.core.WrappedHTMLElement;
import org.apache.royale.html.util.addElementToWrapper;
- import org.apache.royale.html.util.addOrReplaceClassName;
}
/**
@@ -114,11 +113,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-button--fab");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--fab");
- }
+ adjustTypeNames("mdl-button--fab", value);
}
}
}
@@ -142,17 +137,35 @@ package org.apache.royale.mdl
if (_raised != value)
{
_raised = value;
-
COMPILE::JS
{
- element.classList.remove("mdl-button--raised");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--raised");
- }
+ adjustTypeNames("mdl-button--raised", value);
}
}
}
+ COMPILE::JS
+ private function adjustTypeNames(type:String,add:Boolean):void
+ {
+ type = " " + type;
+ var typeLength:int = type.length;
+ var typeIdx:int = typeNames.indexOf(type);
+ var adjust:Boolean = false;
+ if(add && typeIdx == -1)
+ {
+ typeNames += type;
+ adjust = true;
+ }
+ else if(!add && typeIdx != -1)
+ {
+ typeNames = typeNames.substr(typeIdx,typeLength);
+ adjust = true;
+ }
+ if(adjust)
+ {
+ var cl:String = className;
+ setClassName((cl ? cl + " " : "") + typeNames);
+ }
+ }
private var _colored:Boolean = false;
/**
@@ -177,11 +190,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-button--colored");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--colored");
- }
+ adjustTypeNames("mdl-button--colored", value);
}
}
}
@@ -209,11 +218,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-button--accent");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--accent");
- }
+ adjustTypeNames("mdl-button--accent", value);
}
}
}
@@ -241,11 +246,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-button--primary");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--primary");
- }
+ adjustTypeNames("mdl-button--primary", value);
}
}
}
@@ -273,11 +274,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-button--mini-fab");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--mini-fab");
- }
+ adjustTypeNames("mdl-button--mini-fab", value);
}
}
}
@@ -305,11 +302,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-button--icon");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-button--icon");
- }
+ adjustTypeNames("mdl-button--icon", value);
}
}
}
@@ -336,11 +329,7 @@ package org.apache.royale.mdl
COMPILE::JS
{
- element.classList.remove("mdl-js-ripple-effect");
- if (value)
- {
- className = addOrReplaceClassName(className,
"mdl-js-ripple-effect");
- }
+ adjustTypeNames("mdl-js-ripple-effect", value);
}
}
}
--
To stop receiving notification emails like this one, please contact
[email protected].