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

yishayw pushed a commit to branch color_picker
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/color_picker by this push:
     new f32314b  Make sure layout is called on palette after it's added to DOM
f32314b is described below

commit f32314be57989846054642e5fb71535620e2f35b
Author: DESKTOP-RH4S838\Yishay <[email protected]>
AuthorDate: Sun May 12 10:53:39 2019 +0300

    Make sure layout is called on palette after it's added to DOM
---
 .../apache/royale/html/beads/ColorPickerView.as    |  3 +--
 .../royale/html/supportClasses/ColorPickerPopUp.as | 13 ++++++++++++
 .../supportClasses/ColorPickerPopUpWithPalette.as  | 24 ++++++++++++++--------
 .../html/supportClasses/IColorPickerPopUp.as       |  3 ++-
 4 files changed, 32 insertions(+), 11 deletions(-)

diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerView.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerView.as
index 138691e..9ea3a35 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerView.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ColorPickerView.as
@@ -144,8 +144,7 @@ package org.apache.royale.html.beads
                        host.addElement(selectedColorDisplay);
                        host.addElement(button);
                        
-                       var popUpClass:Class = 
ValuesManager.valuesImpl.getValue(_strand, "iPopUp") as Class;
-                       list = new popUpClass() as IUIBase;
+                       list = _strand.getBeadByType(IColorPickerPopUp) as 
IUIBase;
                        list.visible = false;
                        
                        var model:IEventDispatcher = (_strand as 
IStrandWithModel).model as IEventDispatcher;
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
index d4c3d7b..fd18bbd 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUp.as
@@ -20,6 +20,7 @@ package org.apache.royale.html.supportClasses
 {
        import org.apache.royale.core.IColorModel;
        import org.apache.royale.core.IColorSpectrumModel;
+       import org.apache.royale.core.IStrand;
        import org.apache.royale.core.UIBase;
        import org.apache.royale.events.Event;
        import org.apache.royale.events.IEventDispatcher;
@@ -87,5 +88,17 @@ package org.apache.royale.html.supportClasses
                        (model as IColorModel).color = 
colorSpectrum.hsvModifiedColor;
                }
                
+               /**
+                *  @copy org.apache.royale.core.IBead#strand
+                *  
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.0
+                */
+               public function set strand(value:IStrand):void
+               {
+               }
+               
        }
 }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUpWithPalette.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUpWithPalette.as
index 4c9273c..bcaf3df 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUpWithPalette.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/ColorPickerPopUpWithPalette.as
@@ -18,14 +18,7 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.html.supportClasses
 {
-       import org.apache.royale.core.IColorModel;
-       import org.apache.royale.core.IColorSpectrumModel;
-       import org.apache.royale.core.UIBase;
        import org.apache.royale.events.Event;
-       import org.apache.royale.events.IEventDispatcher;
-       import org.apache.royale.html.HueSelector;
-       import org.apache.royale.utils.hsvToHex;
-       import org.apache.royale.utils.loadBeadFromValuesManager;
 
        /**
         *  The ColorPickerPopUpWithPalette class is used in ColorPicker. It 
contains a set of controls for picking a color, incluse a color palette.
@@ -59,7 +52,22 @@ package org.apache.royale.html.supportClasses
                        colorPalette.y = colorSpectrum.height + 10;
                        colorPalette.x = colorSpectrum.x;
                        colorPalette.width =  300;
-                       addElement(colorPalette);
+               }
+               
+               override public function set model(value:Object):void
+               {
+                       super.model = value;
+                       colorPalette.model = value;
+                       if (getElementIndex(colorPalette) < 0)
+                       {
+                               addElement(colorPalette);
+                       }
+               }
+               
+               override public function addedToParent():void
+               {
+                       super.addedToParent();
+                       colorPalette.dispatchEvent(new Event('layoutNeeded'));
                }
        }
 }
diff --git 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/IColorPickerPopUp.as
 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/IColorPickerPopUp.as
index e79599a..ca1ab5e 100644
--- 
a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/IColorPickerPopUp.as
+++ 
b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/supportClasses/IColorPickerPopUp.as
@@ -19,6 +19,7 @@
 package org.apache.royale.html.supportClasses
 {
        import org.apache.royale.core.IPopUp;
+       import org.apache.royale.core.IStrand;
 
        /**
         * All color picker pop-ups must implement this interface.
@@ -28,7 +29,7 @@ package org.apache.royale.html.supportClasses
         *  @playerversion AIR 2.6
         *  @productversion Royale 0.9.6
         */
-       public interface IColorPickerPopUp extends IPopUp
+       public interface IColorPickerPopUp extends IPopUp, IStrand
        {
                /**
                 * The model being used with the IColorPickerPopup.

Reply via email to