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 3580722  Allow for empty selection.
     new 160d3bb  Merge branch 'develop' of 
https://github.com/apache/royale-asjs into develop
3580722 is described below

commit 3580722bcf0818a20ae0f346154ce889f8a16843
Author: DESKTOP-RH4S838\Yishay <[email protected]>
AuthorDate: Tue May 14 11:24:07 2019 +0300

    Allow for empty selection.
---
 .../Basic/src/main/resources/basic-manifest.xml    |  2 +
 .../royale/org/apache/royale/html/ColorPicker.as   |  4 +-
 .../ColorPickerWithEmptyView.as}                   | 47 +++++++++-------------
 .../html/beads/models/ArrayColorSelectionModel.as  |  6 +--
 .../apache/royale/html/beads/models/ColorModel.as  |  4 +-
 .../royale/org/apache/royale/core/IColorModel.as   |  4 +-
 6 files changed, 31 insertions(+), 36 deletions(-)

diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml 
b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
index 960d772..41224a4 100644
--- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
@@ -54,6 +54,8 @@
     <component id="HueSelector" class="org.apache.royale.html.HueSelector"/>
     <component id="ColorPickerPopUpWithPalette" 
class="org.apache.royale.html.supportClasses.ColorPickerPopUpWithPalette"/>
     <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="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/ColorPicker.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
index 99fae63..a73f84b 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
@@ -48,12 +48,12 @@ package org.apache.royale.html
             typeNames = "ColorPicker";
                }
 
-               public function get color():uint 
+               public function get color():Number 
                {
                        return (model as IColorModel).color;
                }
                
-               public function set color(value:uint):void 
+               public function set color(value:Number):void 
                {
                        (model as IColorModel).color = value;
                }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerWithEmptyView.as
similarity index 62%
copy from 
frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
copy to 
frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerWithEmptyView.as
index 99fae63..c2a80d2 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/ColorPicker.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerWithEmptyView.as
@@ -16,46 +16,39 @@
 //  limitations under the License.
 //
 
////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.html
+package org.apache.royale.html.beads
 {
        import org.apache.royale.core.IColorModel;
-       import org.apache.royale.core.UIBase;
-
-       [Event(name="change", type="org.apache.royale.events.Event")]
+       import org.apache.royale.utils.CSSUtils;
+       
        /**
-        *  The ColorPicker class is a component that lets you select a color
-        * 
+        *  The ColorPickerWithEmptyView overrides ColorPickerView methods to 
visibly indicate that a selection is empty
+        *  
+        *  @viewbead
         *  @langversion 3.0
         *  @playerversion Flash 10.2
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public class ColorPicker extends UIBase
+       public class ColorPickerWithEmptyView extends ColorPickerView
        {
-               /**
-                *  Constructor.
-                *
-                *  @langversion 3.0
-                *  @playerversion Flash 10.2
-                *  @playerversion AIR 2.6
-                *  @productversion Royale 0.9.6
-                */
-               private var _color:uint;
-               public function ColorPicker()
+               public function ColorPickerWithEmptyView()
                {
                        super();
-            
-            typeNames = "ColorPicker";
-               }
-
-               public function get color():uint 
-               {
-                       return (model as IColorModel).color;
                }
                
-               public function set color(value:uint):void 
+               /**
+                * @private
+                * @royaleignorecoercion org.apache.royale.core.IColorModel
+                */
+               override protected function colorChangeAction():void
                {
-                       (model as IColorModel).color = value;
+                       var model:IColorModel = 
_strand.getBeadByType(IColorModel) as IColorModel;
+                       var isEmpty:Boolean = isNaN(model.color);
+                       COMPILE::JS 
+                       {
+                               
selectedColorDisplay.element.style.backgroundColor = isEmpty ? "transparent" : 
CSSUtils.attributeFromColor(model.color);
+                       }               
                }
        }
-}
+}
\ No newline at end of file
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 b690790..b724c23 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
@@ -52,11 +52,11 @@ package org.apache.royale.html.beads.models
                        dispatchEvent(new Event("change"));
                }
                
-               public function get color():uint
+               public function get color():Number
                {
-                       return uint(selectedItem);
+                       return Number(selectedItem);
                }
-               public function set color(value:uint):void
+               public function set color(value:Number):void
                {
                        selectedItem = value;
                }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
index 22b8ca5..03a31cc 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/models/ColorModel.as
@@ -61,7 +61,7 @@ package org.apache.royale.html.beads.models
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.9.6
          */
-        public function get color():uint
+        public function get color():Number
                {
                        return _color;
                }
@@ -69,7 +69,7 @@ package org.apache.royale.html.beads.models
         /**
          *  @private
          */
-               public function set color(value:uint):void
+               public function set color(value:Number):void
                {
                        _color = value;
                        dispatchEvent(new Event("change"));
diff --git 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
index 59d2cf2..e2b289f 100644
--- 
a/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
+++ 
b/frameworks/projects/Core/src/main/royale/org/apache/royale/core/IColorModel.as
@@ -37,8 +37,8 @@ package org.apache.royale.core
          *  @playerversion AIR 2.6
          *  @productversion Royale 0.9.6
          */
-        function get color():uint;
-        function set color(value:uint):void;
+        function get color():Number;
+        function set color(value:Number):void;
                
        }
 }

Reply via email to