You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ha...@apache.org on 2017/03/26 13:02:00 UTC
[08/40] git commit: [flex-asjs] [refs/heads/tlf] - FLEX-35269 - Fix
Tooltip - to be able to add it dynamically to component check whether his
parent exits - if not add it to the parent after "beadsAdded" and make
upgrade
FLEX-35269 - Fix Tooltip - to be able to add it dynamically to component check whether his parent exits - if not add it to the parent after "beadsAdded" and make upgrade
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/77f7ae2c
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/77f7ae2c
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/77f7ae2c
Branch: refs/heads/tlf
Commit: 77f7ae2c99f3f5150f36d19413e95fd33b2aac23
Parents: 4826856
Author: piotrz <pi...@apache.org>
Authored: Sat Mar 18 17:13:21 2017 +0100
Committer: piotrz <pi...@apache.org>
Committed: Sat Mar 18 17:13:21 2017 +0100
----------------------------------------------------------------------
.../flex/org/apache/flex/mdl/beads/Tooltip.as | 72 ++++++++++++++++----
1 file changed, 58 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/77f7ae2c/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/Tooltip.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/Tooltip.as b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/Tooltip.as
index 9cf89db..1c30aa2 100644
--- a/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/Tooltip.as
+++ b/frameworks/projects/MaterialDesignLite/src/main/flex/org/apache/flex/mdl/beads/Tooltip.as
@@ -18,6 +18,8 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.mdl.beads
{
+ import org.apache.flex.events.Event;
+
import org.apache.flex.core.IBead;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.UIBase;
@@ -56,6 +58,11 @@ package org.apache.flex.mdl.beads
}
+ private var _host:UIBase;
+
+ COMPILE::JS
+ private var _tooltipDiv:HTMLDivElement;
+
private var _text:String = "";
/**
* The text of the tooltip
@@ -205,27 +212,64 @@ package org.apache.flex.mdl.beads
{
_strand = value;
- var host:UIBase = value as UIBase;
-
+ _host = value as UIBase;
COMPILE::JS
- {
- var element:HTMLElement = host.element as HTMLElement;
- var divElemet:HTMLDivElement = document.createElement("div") as HTMLDivElement;
+ {
+ _tooltipDiv = document.createElement("div") as HTMLDivElement;
- divElemet.classList.add("mdl-tooltip");
- divElemet.classList.toggle("mdl-tooltip--top", _topPosition);
- divElemet.classList.toggle("mdl-tooltip--left", _leftPosition);
- divElemet.classList.toggle("mdl-tooltip--right", _rightPosition);
- divElemet.classList.toggle("mdl-tooltip--bottom", _bottomPosition);
+ _tooltipDiv.classList.add("mdl-tooltip");
+ _tooltipDiv.classList.toggle("mdl-tooltip--top", _topPosition);
+ _tooltipDiv.classList.toggle("mdl-tooltip--left", _leftPosition);
+ _tooltipDiv.classList.toggle("mdl-tooltip--right", _rightPosition);
+ _tooltipDiv.classList.toggle("mdl-tooltip--bottom", _bottomPosition);
- divElemet.classList.toggle("mdl-tooltip--large", _large);
- divElemet.setAttribute('for', host.id);
+ _tooltipDiv.classList.toggle("mdl-tooltip--large", _large);
+ _tooltipDiv.setAttribute('for', _host.id);
var textNode:Text = document.createTextNode('');
textNode.nodeValue = _text;
- divElemet.appendChild(textNode);
+ _tooltipDiv.appendChild(textNode);
+
+ var isElementAdded:Boolean = addTooltipToParent();
+ if (!isElementAdded)
+ {
+ _host.addEventListener("beadsAdded", beadsAddedHandler);
+ }
+ }
+ }
+
+ COMPILE::JS
+ private function beadsAddedHandler(event:Event):void
+ {
+ var host:UIBase = _strand as UIBase;
+ host.removeEventListener("beadsAdded", beadsAddedHandler);
+
+ addTooltipToParent();
+ upgradeTooltip();
+ }
+
+ COMPILE::JS
+ private function addTooltipToParent():Boolean
+ {
+ var element:HTMLElement = _host.element as HTMLElement;
+
+ if (!element.parentElement)
+ {
+ return false;
+ }
+
+ element.parentElement.appendChild(_tooltipDiv);
+ return true;
+ }
+
+ COMPILE::JS
+ private function upgradeTooltip():void
+ {
+ var componentHandler:Object = window["componentHandler"];
- element.parentElement.appendChild(divElemet);
+ if (componentHandler && _tooltipDiv)
+ {
+ componentHandler["upgradeElement"](_tooltipDiv);
}
}
}