This is an automated email from the ASF dual-hosted git repository.

yishayw 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 4ddbef8  Thumb can disappear when selected color is empty.
4ddbef8 is described below

commit 4ddbef8b7b61c1f36bf889b0a63985a969711505
Author: DESKTOP-RH4S838\Yishay <[email protected]>
AuthorDate: Wed May 15 10:57:38 2019 +0300

    Thumb can disappear when selected color is empty.
---
 .../Basic/src/main/resources/basic-manifest.xml    |  1 +
 .../apache/royale/html/beads/ColorSpectrumView.as  |  2 +-
 ...mView.as => HideColorSpectrumThumbWhenEmpty.as} | 63 +++++-----------------
 .../html/beads/models/ArrayColorSelectionModel.as  |  2 +-
 4 files changed, 16 insertions(+), 52 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml 
b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 41224a4..a715ece 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -56,6 +56,7 @@
     <component id="ColorPickerPopUp" 
class="org.apache.royale.html.supportClasses.ColorPickerPopUp"/>
     <component id="ColorPickerView" 
class="org.apache.royale.html.beads.ColorPickerView"/>
     <component id="ColorPickerWithEmptyView" 
class="org.apache.royale.html.beads.ColorPickerWithEmptyView"/>
+    <component id="HideColorSpectrumThumbWhenEmpty" 
class="org.apache.royale.html.beads.HideColorSpectrumThumbWhenEmpty"/>
     <component id="CheckBox" class="org.apache.royale.html.CheckBox"/>
     <component id="CSSCheckBox" class="org.apache.royale.html.CSSCheckBox"/>
     <component id="RadioButton" class="org.apache.royale.html.RadioButton"/>
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
index 67d76bb..ac7b8ab 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
@@ -104,7 +104,7 @@ package org.apache.royale.html.beads
                        return _thumb;
                }
                
-               private function updateSpectrum():void
+               protected function updateSpectrum():void
                {
                        var color:String = 
CSSUtils.attributeFromColor(colorModel.baseColor);
                        COMPILE::JS
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/HideColorSpectrumThumbWhenEmpty.as
similarity index 51%
copy from 
frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
copy to 
frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/HideColorSpectrumThumbWhenEmpty.as
index 67d76bb..6eaeb91 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorSpectrumView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/HideColorSpectrumThumbWhenEmpty.as
@@ -17,33 +17,26 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.html.beads
 {
-    import org.apache.royale.core.BeadViewBase;
+    import org.apache.royale.core.IBead;
     import org.apache.royale.core.IColorSpectrumModel;
-    import org.apache.royale.core.IParent;
-    import org.apache.royale.core.IRenderedObject;
     import org.apache.royale.core.IStrand;
     import org.apache.royale.core.IStrandWithModel;
     import org.apache.royale.core.IUIBase;
     import org.apache.royale.events.Event;
     import org.apache.royale.events.IEventDispatcher;
-    import org.apache.royale.html.Button;
-    import org.apache.royale.html.TextButton;
-    import org.apache.royale.utils.CSSUtils;
-    import org.apache.royale.utils.HSV;
-    import org.apache.royale.utils.rgbToHsv;
        
     /**
-     *  The ColorSpectrumView class is the view for
-     *  the org.apache.royale.html.ColorSpectrum
+     *  The HideColorSpectrumThumbWhenEmpty bead can modifiy a color spectrum 
+        *  view to hide the thumb when it's empty
      *  
      *  @langversion 3.0
      *  @playerversion Flash 10.2
      *  @playerversion AIR 2.6
      *  @productversion Royale 0.9.6
      */
-       public class ColorSpectrumView extends BeadViewBase implements 
ISliderView
+       public class HideColorSpectrumThumbWhenEmpty implements IBead
        {
-               private var _thumb:TextButton;
+               private var _strand:IStrand;
         /**
          *  Constructor.
          *  
@@ -52,7 +45,7 @@ package org.apache.royale.html.beads
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.9.6
          */
-               public function ColorSpectrumView()
+               public function HideColorSpectrumThumbWhenEmpty()
                {
                        super();
                }
@@ -60,22 +53,16 @@ package org.apache.royale.html.beads
         /**
          *  @private
          */
-               override public function set strand(value:IStrand):void
+               public function set strand(value:IStrand):void
                {
-                       super.strand = value;
-                       _thumb = new TextButton();
-                       _thumb.className = "SliderThumb";
-                       _thumb.style = {"position" : "absolute", "padding" : 0};
-                       _thumb.text = '\u29BF';
-                       (value as IParent).addElement(_thumb);
+                       _strand = value;
                        (colorModel as 
IEventDispatcher).addEventListener("baseColorChange", changeHandler);
-                       (colorModel as 
IEventDispatcher).addEventListener("hsvModifiedColorChange", changeHandler);
-                       updateSpectrum();
+                       updateThumb();
                }
                
                private function changeHandler(e:Event):void
                {
-                       updateSpectrum();
+                       updateThumb();
                }
                
                /**
@@ -91,38 +78,14 @@ package org.apache.royale.html.beads
                        return _strand as IUIBase;
                }
 
-               /**
-                *  The thumb component.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.9.6
-                */
-               public function get thumb():IUIBase
-               {
-                       return _thumb;
-               }
-               
-               private function updateSpectrum():void
+               protected function updateThumb():void
                {
-                       var color:String = 
CSSUtils.attributeFromColor(colorModel.baseColor);
-                       COMPILE::JS
-                       {
-                               (host as 
IRenderedObject).element.style.background = "linear-gradient(to top, #000000, 
transparent), linear-gradient(to left, " + color + ", #ffffff)";
-                       }
-                       var hsvModifiedColor:uint = colorModel.hsvModifiedColor 
|| colorModel.baseColor;
-                       var r:uint = (hsvModifiedColor >> 16 ) & 255;
-                       var g:uint = (hsvModifiedColor >> 8 ) & 255;
-                       var b:uint = hsvModifiedColor & 255;
-                       var hsv:HSV = rgbToHsv(r,g,b);
-                       _thumb.x = (hsv.s / 100) * host.width - _thumb.width / 
2;
-                       _thumb.y = host.height - hsv.v * host.height / 100 - 
_thumb.height / 2;
+                       (_strand.getBeadByType(ISliderView) as 
ISliderView).thumb.visible = !isNaN(colorModel.baseColor);
                }
                
                private function get colorModel():IColorSpectrumModel
                {
-                       return (host as IStrandWithModel).model as 
IColorSpectrumModel;
+                       return (_strand as IStrandWithModel).model as 
IColorSpectrumModel;
                }
        }
 }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
index b724c23..ec95051 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ArrayColorSelectionModel.as
@@ -54,7 +54,7 @@ package org.apache.royale.html.beads.models
                
                public function get color():Number
                {
-                       return Number(selectedItem);
+                       return selectedItem == null ? NaN : 
Number(selectedItem);
                }
                public function set color(value:Number):void
                {

Reply via email to