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

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


The following commit(s) were added to refs/heads/feature/jewel_positioner by 
this push:
     new 318c8f4  fix jewel checkbox and radiobutton positioner and disabled 
styles
318c8f4 is described below

commit 318c8f4d821dca62a34f98b29a43d63c7dd8e7bb
Author: Carlos Rovira <[email protected]>
AuthorDate: Sun Mar 17 19:33:04 2019 +0100

    fix jewel checkbox and radiobutton positioner and disabled styles
---
 .../projects/Jewel/src/main/resources/defaults.css | 10 +---
 .../royale/org/apache/royale/jewel/CheckBox.as     | 60 +++++++++++-----------
 .../royale/org/apache/royale/jewel/RadioButton.as  | 30 +++++++----
 .../main/royale/org/apache/royale/jewel/Slider.as  |  5 +-
 .../Jewel/src/main/sass/components/_checkbox.sass  |  6 +--
 .../src/main/sass/components/_radiobutton.sass     |  6 +--
 6 files changed, 56 insertions(+), 61 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/resources/defaults.css 
b/frameworks/projects/Jewel/src/main/resources/defaults.css
index e991d44..fe5f79e 100644
--- a/frameworks/projects/Jewel/src/main/resources/defaults.css
+++ b/frameworks/projects/Jewel/src/main/resources/defaults.css
@@ -264,7 +264,6 @@ j|Card {
   margin: 0;
   padding: 0;
   height: auto;
-  cursor: pointer;
 }
 .jewel.checkbox input {
   -webkit-appearance: none;
@@ -303,13 +302,11 @@ j|Card {
 .jewel.checkbox input:focus + span::before, .jewel.checkbox 
input:checked:focus + span::before, .jewel.checkbox input:checked:active:focus 
+ span::before {
   outline: none;
 }
-.jewel.checkbox input[disabled] {
-  cursor: unset;
-}
 .jewel.checkbox input[disabled] + span {
   cursor: unset;
 }
 .jewel.checkbox span {
+  cursor: pointer;
   margin: 0;
   vertical-align: top;
   line-height: 24px;
@@ -3257,7 +3254,6 @@ j|PopUp {
   margin: 0;
   padding: 0;
   height: 22px;
-  cursor: pointer;
 }
 .jewel.radiobutton input {
   -webkit-appearance: none;
@@ -3296,13 +3292,11 @@ j|PopUp {
 .jewel.radiobutton input:focus + span::before, .jewel.radiobutton 
input:checked:focus + span::before, .jewel.radiobutton 
input:checked:active:focus + span::before {
   outline: none;
 }
-.jewel.radiobutton input[disabled] {
-  cursor: unset;
-}
 .jewel.radiobutton input[disabled] + span {
   cursor: unset;
 }
 .jewel.radiobutton span {
+  cursor: pointer;
   margin: 0;
   vertical-align: top;
   line-height: 24px;
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as
index 656645e..cbd7d4d 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/CheckBox.as
@@ -18,25 +18,22 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.royale.jewel
 {
-    import org.apache.royale.core.IToggleButtonModel;
-    import org.apache.royale.events.Event;
-    import org.apache.royale.jewel.supportClasses.checkbox.CheckBoxIcon;
-    import org.apache.royale.utils.ClassSelectorList;
-
     COMPILE::SWF
     {
-        import org.apache.royale.events.MouseEvent;
-        import org.apache.royale.core.UIButtonBase;
-        import org.apache.royale.core.IStrand;
-        import org.apache.royale.core.ISelectable;
+    import org.apache.royale.core.ISelectable;
+    import org.apache.royale.core.IStrand;
+    import org.apache.royale.core.UIButtonBase;
+    import org.apache.royale.events.MouseEvent;
     }
-
     COMPILE::JS
     {
-        import org.apache.royale.core.WrappedHTMLElement;
-        import org.apache.royale.html.util.addElementToWrapper;
-        import org.apache.royale.core.StyledUIBase;
+    import org.apache.royale.core.StyledUIBase;
+    import org.apache.royale.core.WrappedHTMLElement;
+    import org.apache.royale.html.util.addElementToWrapper;
     }
+    import org.apache.royale.core.IToggleButtonModel;
+    import org.apache.royale.events.Event;
+    import org.apache.royale.utils.ClassSelectorList;
 
     //--------------------------------------
     //  Events
@@ -196,7 +193,6 @@ package org.apache.royale.jewel
         }
 
         private var _label:WrappedHTMLElement;
-               private var _icon:CheckBoxIcon;
 
                private static var _checkNumber:Number = 0;
         
@@ -205,36 +201,40 @@ package org.apache.royale.jewel
 
         COMPILE::JS
         protected var checkbox:HTMLSpanElement;
-
-        COMPILE::JS
-        protected var label:HTMLLabelElement;
         
         /**
          * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         * @royaleignorecoercion HTMLLabelElement
          * @royaleignorecoercion HTMLInputElement
          * @royaleignorecoercion HTMLSpanElement
-         * @royaleignorecoercion Text
          */
         COMPILE::JS
         override protected function createElement():WrappedHTMLElement
         {
-            var label:HTMLLabelElement = document.createElement('label') as 
HTMLLabelElement;
-            
             input = addElementToWrapper(this,'input') as HTMLInputElement;
-            input.type = 'checkbox';    
-            label.appendChild(input);
-            
+            input.type = 'checkbox';
             checkbox = document.createElement('span') as HTMLSpanElement;
-            label.appendChild(checkbox);
-            
-            positioner = label as WrappedHTMLElement;
-            positioner.royale_wrapper = this;
-            //(input as WrappedHTMLElement).royale_wrapper = this;
-            //(checkbox as WrappedHTMLElement).royale_wrapper = this;
+            positioner = document.createElement('label') as 
WrappedHTMLElement;   
             return element;
         }
 
+        COMPILE::JS
+               private var _positioner:WrappedHTMLElement;
+
+               COMPILE::JS
+               override public function get positioner():WrappedHTMLElement
+               {
+                       return _positioner;
+               }
+
+               COMPILE::JS
+               override public function set 
positioner(value:WrappedHTMLElement):void
+               {
+                       _positioner = value;
+            _positioner.royale_wrapper = this;
+                       _positioner.appendChild(element);
+            _positioner.appendChild(checkbox);
+               }
+
         /**
          *  The text label for the CheckBox.
          *
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/RadioButton.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/RadioButton.as
index efb8dc0..74d2d88 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/RadioButton.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/RadioButton.as
@@ -310,38 +310,48 @@ package org.apache.royale.jewel
 
         private var radio:HTMLSpanElement;
         private var icon:HTMLInputElement;
-        private var label:HTMLLabelElement;
         private var textNode:Text;
 
         /**
          * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         * @royaleignorecoercion HTMLLabelElement
          * @royaleignorecoercion HTMLInputElement
          * @royaleignorecoercion HTMLSpanElement
          * @royaleignorecoercion Text
          */
         override protected function createElement():WrappedHTMLElement
         {
-            label = document.createElement('label') as HTMLLabelElement;
-
             icon = addElementToWrapper(this, 'input') as HTMLInputElement;
             icon.type = 'radio';
             icon.id = '_radio_' + Math.random();
             icon.value = String(value);
-            label.appendChild(icon);
-
+            
             textNode = document.createTextNode('') as Text;
-
             radio = document.createElement('span') as HTMLSpanElement;
             radio.appendChild(textNode);
-            label.appendChild(radio);
             
-            positioner = label as WrappedHTMLElement;
-            positioner.royale_wrapper = this;
+            positioner = document.createElement('label') as WrappedHTMLElement;
             
             return element;
         }
 
+        COMPILE::JS
+               private var _positioner:WrappedHTMLElement;
+
+               COMPILE::JS
+               override public function get positioner():WrappedHTMLElement
+               {
+                       return _positioner;
+               }
+
+               COMPILE::JS
+               override public function set 
positioner(value:WrappedHTMLElement):void
+               {
+                       _positioner = value;
+            _positioner.royale_wrapper = this;
+                       _positioner.appendChild(element);
+            _positioner.appendChild(radio);
+               }
+
         override public function addEventListener(type:String, 
handler:Function, opt_capture:Boolean = false, opt_handlerScope:Object = 
null):void
         {
             if (type == MouseEvent.CLICK)
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Slider.as 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Slider.as
index eea650a..8394d92 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Slider.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Slider.as
@@ -20,12 +20,11 @@ package org.apache.royale.jewel
 {
        import org.apache.royale.core.IRangeModel;
        import org.apache.royale.core.StyledUIBase;
-       import org.apache.royale.events.Event;
 
     COMPILE::JS
     {
-        import org.apache.royale.core.WrappedHTMLElement;
-               import org.apache.royale.html.util.addElementToWrapper;
+       import org.apache.royale.core.WrappedHTMLElement;
+       import org.apache.royale.html.util.addElementToWrapper;
     }
 
        //--------------------------------------
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_checkbox.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_checkbox.sass
index 6f26052..8c24493 100644
--- a/frameworks/projects/Jewel/src/main/sass/components/_checkbox.sass
+++ b/frameworks/projects/Jewel/src/main/sass/components/_checkbox.sass
@@ -33,12 +33,10 @@ $checkbox-button-yoffset: 0px
 
        // width: 100%
        height: auto //$checkbox-button-size
-       cursor: pointer
 
        // -- INPUT
        input
                +appear(none)
-               // cursor: pointer
                display: inline-flex
 
                margin: 0
@@ -79,14 +77,12 @@ $checkbox-button-yoffset: 0px
                        outline: none
 
                &[disabled]
-                       cursor: unset
-
                        & + span
                                cursor: unset
 
        // -- LABEL
        span
-               // cursor: pointer
+               cursor: pointer
 
                margin: 0
                vertical-align: top
diff --git 
a/frameworks/projects/Jewel/src/main/sass/components/_radiobutton.sass 
b/frameworks/projects/Jewel/src/main/sass/components/_radiobutton.sass
index aa95a98..1e65a51 100644
--- a/frameworks/projects/Jewel/src/main/sass/components/_radiobutton.sass
+++ b/frameworks/projects/Jewel/src/main/sass/components/_radiobutton.sass
@@ -33,12 +33,10 @@ $radiobutton-button-yoffset: 0px
 
        // width: 100%
        height: $radiobutton-button-size
-       cursor: pointer
 
        // -- INPUT
        input
                +appear(none)
-               // cursor: pointer
                display: inline-flex
 
                margin: 0
@@ -79,14 +77,12 @@ $radiobutton-button-yoffset: 0px
                        outline: none
                        
                &[disabled]
-                       cursor: unset
-
                        & + span
                                cursor: unset
                                
        // -- LABEL
        span
-               // cursor: pointer
+               cursor: pointer
 
                margin: 0
                vertical-align: top

Reply via email to