Hi All,

I posted about 48 hours ago, hope other in the community
(Harbs?Yishay?Josh?Andrew?Piotr?Alina? any other user?...) can express
something about this in the next 24h so we I can know what way to choose.
Thanks in advance for your help on this!! :)

El vie., 20 dic. 2019 a las 16:28, Carlos Rovira (<[email protected]>)
escribió:

> Hi,
>
> this thread is to try to add more people to this discuss this topic with
> the essence of the discussion in the other thread. I hope this helps to
> decide what should we do, since seems Alex thinks in a way and Greg and I
> in another. So please express yourself to try to get a consensus on how to
> solve the following dilema:
>
> *PROBLEM: *
>
> "Setting UIBase.width to NaN results in JS platform as 'NaNpx' or 'NaN%'."
>
> In other words we have in UIBase this code:
>
> this.positioner.style.width = value.toString() + '%'; // in COMPILER::JS
>
> and value can be NaN
>
> *PROPOSED SOLUTIONS IN PRECEDENT DISCUSSION: *(since I'm rewording other
> thought, please let me know If in some case I'm wrong with it! )
>
>
>    - *Alex:* Thinks about this as Higher level abstraction. Not a bug
>    fix. Alex thinks we can left UIBase width and height methods untouched,
>    since NaN is not considered in all platforms. Instead if we need to do
>    specific pattern then create specific API/definition that rewrites
>    width, height, percentWidth, percentHeight, setWidth, setHeight. He
>    propose something in the line of:
>
> org.apache.royale.utils.sizeToContent(child:IUIBase);
>
>    - *Greg:* Thinks this is a normal bug since NaN can be set and result
>    is "NaNpx" or "NaN%". So we are letting users to assign width = NaN, and
>    the result will made an unwanted result in JS platform due to the code
>    above. SWF is not affected since SWF does not allow NaN, and we are only
>    fixing a bug in JS platform.
>
>
>    - *Me: *While I'm in favor of high-level abstraction over platform
>    specific patterns, sincerely I don't think this problem is about that. As
>    Greg, I think this is a bug. Moreover, I think we need to address at UIBase
>    level since is the central point instead to add a new class definition that
>    rewrites all UIBase methods just to add "isNaN(value) ? null". Basic,
>    Express, Jewel, MXRoyale, need to address this inconsistency, so don't
>    think add more definitions that duplicate 99% of the code is the right
>    solution. All standard browsers accept to assign null to a property to
>    remove it. So for me NaN (in JS) means "remove the property". I tested a
>    solution code by this
>
> this.positioner.style.width = isNaN(value) ? null : value.toString() +
> 'px'; //IN COMPILER::JS
>
>
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to