Why did you switch to input?

IIRC, there are behavioral differences between button and input.

> On Jul 12, 2020, at 5:12 PM, [email protected] wrote:
> 
> This is an automated email from the ASF dual-hosted git repository.
> 
> carlosrovira 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 4377b0b  basic-imagebutton: fix control nesting  img inside a button 
> when there is html input image
> 4377b0b is described below
> 
> commit 4377b0b3c4e7521d132a3cb72a18bedcc5aacb6a
> Author: Carlos Rovira <[email protected]>
> AuthorDate: Sun Jul 12 16:12:20 2020 +0200
> 
>    basic-imagebutton: fix control nesting  img inside a button when there is 
> html input image
> ---
> .../main/royale/org/apache/royale/html/ImageButton.as | 19 +++++++++++--------
> 1 file changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git 
> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageButton.as
>  
> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageButton.as
> index 5b3c2d3..407ceb3 100644
> --- 
> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageButton.as
> +++ 
> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ImageButton.as
> @@ -60,8 +60,8 @@ package org.apache.royale.html
>               COMPILE::JS
>         override protected function createElement():WrappedHTMLElement
>         {
> -                     addElementToWrapper(this,'button');
> -            element.setAttribute('type', 'button');
> +                     addElementToWrapper(this,'input');
> +            element.setAttribute('type', 'image');
>             return element;
>         }
> 
> @@ -94,16 +94,19 @@ package org.apache.royale.html
>             {
>                 if(!_imageElement)
>                 {
> -                    _imageElement = document.createElement("img") as 
> HTMLImageElement;
> -                    element.appendChild(_imageElement);
> -                }                
> -                (_imageElement as HTMLImageElement).src = url;
> +                    (element as HTMLInputElement).src = url;
> +                    _imageElement = (element as HTMLInputElement);
> +                }
> +                if (_imageElement && url)
> +                {
> +                    (_imageElement as HTMLInputElement).src = url;
> +                }
>             }
> 
>                       dispatchEvent(new Event("srcChanged"));
>         }
> 
> -             COMPILE::JS{
> +             COMPILE::JS
>         private var _imageElement:Element;
>               /**
>                *  Element image. HTMLImageElement.
> @@ -115,10 +118,10 @@ package org.apache.royale.html
>          *  @royaleignorecoercion 
> org.apache.royale.core.IImageButton#imageElement
>          *  @royaleignorecoercion Element
>          */
> +        COMPILE::JS
>               public function get imageElement():Element
>               {
>                       return _imageElement;
>               }
> -        }
>       }
> }
> 

Reply via email to