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/06/22 09:50:30 UTC
git commit: [flex-asjs] [refs/heads/tlf] - Use CSSUtils.toNumber()
Repository: flex-asjs
Updated Branches:
refs/heads/tlf 4f09e30f5 -> de093c817
Use CSSUtils.toNumber()
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/de093c81
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/de093c81
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/de093c81
Branch: refs/heads/tlf
Commit: de093c81727680a9bb1521d9258cd90d0c0b40cd
Parents: 4f09e30
Author: Harbs <ha...@in-tools.com>
Authored: Thu Jun 22 12:50:26 2017 +0300
Committer: Harbs <ha...@in-tools.com>
Committed: Thu Jun 22 12:50:26 2017 +0300
----------------------------------------------------------------------
.../org/apache/flex/core/ApplicationBase.as | 13 ++++++---
.../main/flex/org/apache/flex/core/UIBase.as | 29 ++++++++++----------
.../main/flex/org/apache/flex/utils/CSSUtils.as | 7 +++--
3 files changed, 28 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/de093c81/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
index 8a54c91..da1aa16 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/ApplicationBase.as
@@ -23,6 +23,11 @@ package org.apache.flex.core
import flash.system.ApplicationDomain;
import flash.utils.getQualifiedClassName;
}
+ COMPILE::JS
+ {
+ import org.apache.flex.utils.CSSUtils;
+ }
+
/**
* This is a platform-dependent base class
@@ -116,10 +121,10 @@ package org.apache.flex.core
{
var pixels:Number;
var strpixels:String = element.style.width as String;
- if (strpixels !== null && strpixels.indexOf('%') != -1)
+ if(strpixels == null)
pixels = NaN;
else
- pixels = parseFloat(strpixels);
+ pixels = CSSUtils.toNumber(strpixels);
if (isNaN(pixels)) {
pixels = element.offsetWidth;
if (pixels === 0 && element.scrollWidth !== 0) {
@@ -154,10 +159,10 @@ package org.apache.flex.core
{
var pixels:Number;
var strpixels:String = element.style.height as String;
- if (strpixels !== null && strpixels.indexOf('%') != -1)
+ if(strpixels == null)
pixels = NaN;
else
- pixels = parseFloat(strpixels);
+ pixels = CSSUtils.toNumber(strpixels);
if (isNaN(pixels)) {
pixels = element.offsetHeight;
if (pixels === 0 && element.scrollHeight !== 0) {
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/de093c81/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
index 8d08465..07dffa5 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
@@ -22,17 +22,20 @@ package org.apache.flex.core
{
import flash.display.DisplayObject;
import flash.display.Sprite;
- import flash.display.Stage;
+ import flash.display.Stage;
+ import org.apache.flex.events.utils.MouseEventConverter;
}
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.events.MouseEvent;
import org.apache.flex.events.ValueChangeEvent;
- COMPILE::SWF {
- import org.apache.flex.events.utils.MouseEventConverter;
- }
import org.apache.flex.utils.StringUtil;
+
+ COMPILE::JS
+ {
+ import org.apache.flex.utils.CSSUtils;
+ }
/**
* Set a different class for click events so that
@@ -368,13 +371,11 @@ package org.apache.flex.core
public function get width():Number
{
var pixels:Number;
- var strpixels:String = positioner.style.width as String;
- if (strpixels !== null && strpixels.indexOf('%') != -1)
+ var strpixels:String = element.style.width as String;
+ if(strpixels == null)
pixels = NaN;
- else if (strpixels === "")
- pixels = NaN;
else
- pixels = parseFloat(strpixels);
+ pixels = CSSUtils.toNumber(strpixels);
if (isNaN(pixels)) {
pixels = positioner.offsetWidth;
if (pixels == 0 && positioner.scrollWidth != 0) {
@@ -462,13 +463,11 @@ package org.apache.flex.core
public function get height():Number
{
var pixels:Number;
- var strpixels:String = positioner.style.height as String;
- if (strpixels !== null && strpixels.indexOf('%') !== -1)
+ var strpixels:String = element.style.height as String;
+ if(strpixels == null)
pixels = NaN;
- else if (strpixels === "")
- pixels = NaN;
else
- pixels = parseFloat(strpixels);
+ pixels = CSSUtils.toNumber(strpixels);
if (isNaN(pixels)) {
pixels = positioner.offsetHeight;
if (pixels == 0 && positioner.scrollHeight != 0) {
@@ -1316,7 +1315,7 @@ package org.apache.flex.core
if (value is String)
{
var s:String = String(value);
- if (s.indexOf("%") !== -1)
+ if (s.indexOf("%") > -1)
_percentWidth = Number(s.substring(0, s.length - 1));
else
{
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/de093c81/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/CSSUtils.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/CSSUtils.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/CSSUtils.as
index 39dc818..0cce361 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/CSSUtils.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/CSSUtils.as
@@ -69,12 +69,15 @@ package org.apache.flex.utils
*/
public static function toNumber(str:String, reference:Number = 0):Number
{
+ //str must be non-null
+ if(str === "")
+ return NaN;
var c:int = str.indexOf("px");
- if (c !== -1)
+ if (c > -1)
return Number(str.substr(0, c));
c = str.indexOf("%");
- if (c !== -1)
+ if (c > -1)
return Number(str.substr(0, c)) * reference / 100;
return Number(str);