Repository: flex-asjs Updated Branches: refs/heads/develop 8e4556d46 -> e863dd135
FLEX-35243 - In order to satisfy older versions of IE refix using classList.add and classList.toggle Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/e863dd13 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/e863dd13 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/e863dd13 Branch: refs/heads/develop Commit: e863dd1352e51903afce4d84bc6c6d9a70ae2c93 Parents: 8e4556d Author: piotrz <pio...@apache.org> Authored: Mon Jan 16 21:05:21 2017 +0100 Committer: piotrz <pio...@apache.org> Committed: Mon Jan 16 21:05:21 2017 +0100 ---------------------------------------------------------------------- .../org/apache/flex/html/ToggleTextButton.as | 34 ++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e863dd13/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as index b9d1050..a476f74 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/ToggleTextButton.as @@ -134,9 +134,7 @@ package org.apache.flex.html { _selected = value; - element.classList.toggle("toggleTextButton_Selected", _selected == true); - element.classList.toggle("toggleTextButton", _selected == false); - typeNames = element.className; + internalSelected(); dispatchEvent(new Event("change")); } @@ -148,9 +146,7 @@ package org.apache.flex.html { super.createElement(); element.addEventListener("click", clickHandler, false); - element.classList.toggle("toggleTextButton_Selected", _selected == true); - element.classList.toggle("toggleTextButton", _selected == false); - typeNames = element.className; + internalSelected(); return element; } @@ -166,5 +162,31 @@ package org.apache.flex.html { selected = !selected; } + + COMPILE::JS + private function internalSelected():void + { + var isToggleTextButtonSelected:Boolean = element.classList.contains("toggleTextButton_Selected"); + if (!isToggleTextButtonSelected && _selected == true) + { + element.classList.add("toggleTextButton_Selected"); + } + else if (isToggleTextButtonSelected && _selected == false) + { + element.classList.toggle("toggleTextButton_Selected"); + } + + var isToggleTextButton:Boolean = element.classList.contains("toggleTextButton"); + if (!isToggleTextButton && _selected == false) + { + element.classList.add("toggleTextButton"); + } + else if (isToggleTextButton && _selected == true) + { + element.classList.toggle("toggleTextButton"); + } + + typeNames = element.className; + } } }