You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2019/02/18 12:50:11 UTC

[royale-asjs] branch develop updated: jewel combobox: ComboBoxDisabled bead added

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 <ca...@apache.org>
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></ [...]