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 a1b31d6  jewel combobox: ComboBoxDisabled bead added
a1b31d6 is described below

commit a1b31d607b5dd4ec9f5860dc64e11453f997a00a
Author: Carlos Rovira <[email protected]>
AuthorDate: Mon Feb 18 13:50:00 2019 +0100

    jewel combobox: ComboBoxDisabled bead added
---
 .../src/main/royale/ComboBoxPlayGround.mxml        | 20 ++++++-
 .../Jewel/src/main/resources/jewel-manifest.xml    |  1 +
 .../apache/royale/jewel/beads/controls/Disabled.as |  4 +-
 .../beads/controls/combobox/ComboBoxDisabled.as    | 68 ++++++++++++++++++++++
 .../JewelTheme/src/main/resources/defaults.css     |  7 +++
 .../main/sass/components-primary/_combobox.sass    |  7 +++
 6 files changed, 104 insertions(+), 3 deletions(-)

diff --git 
a/examples/royale/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml 
b/examples/royale/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml
index f2da488..214cf59 100644
--- a/examples/royale/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml
+++ b/examples/royale/TourDeJewel/src/main/royale/ComboBoxPlayGround.mxml
@@ -197,7 +197,7 @@ limitations under the License.
        <j:Grid gap="true">
                <j:GridCell desktopNumerator="1" desktopDenominator="1" 
tabletNumerator="1" tabletDenominator="1" phoneNumerator="1" 
phoneDenominator="1">
                        <j:Card>
-                               <html:H3 text="Jewel ComboBox"/>
+                               <html:H3 text="Reposition popup"/>
 
                                <!-- PopUp 2-->
                                <j:Label text="Click the button below to 
display a non modal PopUp"/>
@@ -208,6 +208,24 @@ limitations under the License.
                        </j:Card>
                </j:GridCell>
        </j:Grid>
+       
+       <j:Grid gap="true">
+               <j:GridCell desktopNumerator="1" desktopDenominator="1" 
tabletNumerator="1" tabletDenominator="1" phoneNumerator="1" 
phoneDenominator="1">
+                       <j:Card>
+                               <html:H3 text="Jewel ComboBox Disabled"/>
+
+                               <j:HGroup gap="3" 
itemsVerticalAlign="itemsCentered">
+                                       <j:ComboBox labelField="label" 
dataProvider="{listModel.avengers}">
+                                               <j:beads>
+                                                       <j:ComboBoxDisabled 
disabled="{disable_cmb.selected}"/>
+                                                       <j:ComboBoxTextPrompt 
prompt="Disabled..."/>
+                                               </j:beads>
+                                       </j:ComboBox>
+                                       <j:CheckBox localId="disable_cmb" 
text="Disable ComboBox?" selected="true"/>
+                               </j:HGroup>
+                       </j:Card>
+               </j:GridCell>
+       </j:Grid>
 
        <!-- <j:HGroup gap="3" itemsVerticalAlign="itemsCentered">
                <j:ComboBox width="10" labelField="label" 
dataProvider="{listModel.avengers}"/>
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 0a91f95..4921b8e 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -138,6 +138,7 @@
     <component id="LowerCase" 
class="org.apache.royale.jewel.beads.controls.textinput.LowerCase"/>
     <component id="ComboUpperCase" 
class="org.apache.royale.jewel.beads.controls.combobox.ComboUpperCase"/>
     <component id="ComboLowerCase" 
class="org.apache.royale.jewel.beads.controls.combobox.ComboLowerCase"/>
+    <component id="ComboBoxDisabled" 
class="org.apache.royale.jewel.beads.controls.combobox.ComboBoxDisabled"/>
 
     <component id="BasicLayout" 
class="org.apache.royale.jewel.beads.layouts.BasicLayout"/>
     <component id="NullLayout" 
class="org.apache.royale.jewel.beads.layouts.NullLayout"/>
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/Disabled.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/Disabled.as
index fab635e..1450f54 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/Disabled.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/Disabled.as
@@ -67,7 +67,7 @@ package org.apache.royale.jewel.beads.controls
             }
         }
 
-               private var _strand:IStrand;
+               protected var _strand:IStrand;
                
                /**
                 *  @copy org.apache.royale.core.IBead#strand
@@ -90,7 +90,7 @@ package org.apache.royale.jewel.beads.controls
                }
 
                COMPILE::JS
-               private function updateHost():void
+               protected function updateHost():void
                {
                        var host:UIBase = _strand as UIBase;
 
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
new file mode 100644
index 0000000..b0d5b08
--- /dev/null
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/combobox/ComboBoxDisabled.as
@@ -0,0 +1,68 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.royale.jewel.beads.controls.combobox
+{
+COMPILE::JS
+{
+       import org.apache.royale.core.UIBase;
+}
+       import org.apache.royale.jewel.beads.controls.Disabled;
+       import org.apache.royale.jewel.beads.views.ComboBoxView;
+       
+       /**
+        *  The ComboBoxDisabled bead class is a specialty bead that can be 
used to disable a Jewel ComboBox.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.9.4
+        */
+       public class ComboBoxDisabled extends Disabled
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.9.4
+                */
+               public function ComboBoxDisabled()
+               {
+               }
+
+               COMPILE::JS
+               override protected function updateHost():void
+               {
+                       super.updateHost();
+
+                       var view:ComboBoxView = (_strand as UIBase).view as 
ComboBoxView;
+
+                       if (view) {
+                if(disabled) {
+                                       
view.textinput.element.setAttribute('disabled', '');
+                                       
view.button.element.setAttribute('disabled', '');
+                               } else {
+                                       
view.textinput.element.removeAttribute('disabled');
+                                       
view.button.element.removeAttribute('disabled');
+                               }
+            }
+               }
+       }
+}
diff --git a/frameworks/themes/JewelTheme/src/main/resources/defaults.css 
b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
index c53584b..5a0c28a 100644
--- a/frameworks/themes/JewelTheme/src/main/resources/defaults.css
+++ b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
@@ -281,6 +281,13 @@ j|Card {
   background-size: 66%;
   background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' 
xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' 
fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, 
-1.000000)' fill='%233CADF1' fill-rule='nonzero'%3E%3Cg 
transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon 
transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, 
-4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 
7'%3E%3C/polygon%3E%3C/g [...]
 }
+.jewel.combobox .jewel.button[disabled] {
+  border-left: 0px !important;
+}
+.jewel.combobox .jewel.button[disabled]::after {
+  background-size: 66%;
+  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 8' version='1.1' 
xmlns='http://www.w3.org/2000/svg'%3E%3Cg stroke='none' stroke-width='1' 
fill='none' fill-rule='evenodd'%3E%3Cg transform='translate(0.000000, 
-1.000000)' fill='%23cccccc' fill-rule='nonzero'%3E%3Cg 
transform='translate(-2.000000, 0.000000)'%3E%3Cpolygon 
transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, 
-4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 
7'%3E%3C/polygon%3E%3C/g [...]
+}
 
 .jewel.datechooser .jewel.table {
   background: white;
diff --git 
a/frameworks/themes/JewelTheme/src/main/sass/components-primary/_combobox.sass 
b/frameworks/themes/JewelTheme/src/main/sass/components-primary/_combobox.sass
index 0cee2b3..ab89a6d 100644
--- 
a/frameworks/themes/JewelTheme/src/main/sass/components-primary/_combobox.sass
+++ 
b/frameworks/themes/JewelTheme/src/main/sass/components-primary/_combobox.sass
@@ -40,3 +40,10 @@ $combobox-border-radius: $border-radius
         &::after
             background-size: 66%
             background: encodeSVG("<svg viewBox='0 0 12 8' version='1.1' 
xmlns='http://www.w3.org/2000/svg'><g stroke='none' stroke-width='1' 
fill='none' fill-rule='evenodd'><g transform='translate(0.000000, -1.000000)' 
fill='#{$primary-color}' fill-rule='nonzero'><g transform='translate(-2.000000, 
0.000000)'><polygon transform='translate(8.000000, 4.705000) scale(1, -1) 
translate(-8.000000, -4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 
2 7'></polygon></g></g></g></svg>") no- [...]
+        
+        &[disabled]
+            border-left: 0px !important
+
+            &::after
+                background-size: 66%
+                background: encodeSVG("<svg viewBox='0 0 12 8' version='1.1' 
xmlns='http://www.w3.org/2000/svg'><g stroke='none' stroke-width='1' 
fill='none' fill-rule='evenodd'><g transform='translate(0.000000, -1.000000)' 
fill='#{darken($disabled-color, 15%)}' fill-rule='nonzero'><g 
transform='translate(-2.000000, 0.000000)'><polygon 
transform='translate(8.000000, 4.705000) scale(1, -1) translate(-8.000000, 
-4.705000) ' points='3.41 8.41 8 3.83 12.59 8.41 14 7 8 1 2 7'></polygon></g></ 
[...]

Reply via email to