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

commit 509b4475fbab8223b827feb11f1c4ddab64a8df8
Author: Carlos Rovira <[email protected]>
AuthorDate: Mon Jun 15 18:11:38 2020 +0200

    jewel-responsive-label-visibiility: add resoposive visibility for text 
labelsin buttons
---
 .../Jewel/src/main/resources/jewel-manifest.xml    |   1 +
 .../controls/button/ResponsiveLabelVisibility.as   | 102 +++++++++++++++++++++
 2 files changed, 103 insertions(+)

diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml 
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index 34acdaa..fecfbc0 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -170,6 +170,7 @@
     <component id="ResponsiveDrawer" 
class="org.apache.royale.jewel.beads.controls.drawer.ResponsiveDrawer"/>
     
     <component id="InputButtonSize" 
class="org.apache.royale.jewel.beads.controls.button.InputButtonSize"/>
+    <component id="ResponsiveLabelVisibility" 
class="org.apache.royale.jewel.beads.controls.button.ResponsiveLabelVisibility"/>
 
     <component id="MultiLine" 
class="org.apache.royale.jewel.beads.controls.MultiLine"/>
     <component id="NavigationActionNotifier" 
class="org.apache.royale.jewel.beads.controls.NavigationActionNotifier"/>
diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/button/ResponsiveLabelVisibility.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/button/ResponsiveLabelVisibility.as
new file mode 100644
index 0000000..bc805ab
--- /dev/null
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/button/ResponsiveLabelVisibility.as
@@ -0,0 +1,102 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.button
+{      
+       import org.apache.royale.core.ITextButton;
+       import org.apache.royale.jewel.beads.layouts.ResponsiveVisibility;
+       import org.apache.royale.jewel.Button;
+       
+       /**
+        *  The ResponsiveLabelVisibility bead class is a specialty bead that 
+        *  can be used to show or hide the label text of a Button depending on 
responsive
+        *  rules.
+        *  
+        *  @langversion 3.0
+        *  @playerversion Flash 10.2
+        *  @playerversion AIR 2.6
+        *  @productversion Royale 0.10.0
+        */
+       public class ResponsiveLabelVisibility extends ResponsiveVisibility
+       {
+               /**
+                *  constructor.
+                *
+                *  @langversion 3.0
+                *  @playerversion Flash 10.2
+                *  @playerversion AIR 2.6
+                *  @productversion Royale 0.10.0
+                */
+               public function ResponsiveLabelVisibility()
+               {
+               }
+               
+               override protected function showOrHideHost():void
+               {
+                       COMPILE::JS
+                       {
+                       // var button:ITextButton = _strand as ITextButton;
+                       var button:Button = _strand as Button;
+                       if (button)
+            {
+                               var spanLabel:HTMLSpanElement = 
button.spanLabel;
+                               spanLabel.classList.remove("visible-phone");
+                               spanLabel.classList.remove("hidden-phone");
+                               spanLabel.classList.remove("visible-tablet");
+                               spanLabel.classList.remove("hidden-tablet");
+                               spanLabel.classList.remove("visible-desktop");
+                               spanLabel.classList.remove("hidden-desktop");
+                               
spanLabel.classList.remove("visible-widescreen");
+                               spanLabel.classList.remove("hidden-widescreen");
+
+                               if(phoneVisible != null)
+                               {
+                                       if(phoneVisible)
+                                               
spanLabel.classList.add("visible-phone");
+                                       else
+                                               
spanLabel.classList.add("hidden-phone");
+                               }
+
+                               if(tabletVisible != null)
+                               {
+                                       if(tabletVisible)
+                                               
spanLabel.classList.add("visible-tablet");
+                                       else
+                                               
spanLabel.classList.add("hidden-tablet");
+                               }
+                               
+                               if(desktopVisible != null)
+                               {
+                                       if(desktopVisible)
+                                               
spanLabel.classList.add("visible-desktop");
+                                       else
+                                               
spanLabel.classList.add("hidden-desktop");
+                               }
+
+                               if(wideScreenVisible != null)
+                               {
+                                       if(wideScreenVisible)
+                                               
spanLabel.classList.add("visible-widescreen");
+                                       else
+                                               
spanLabel.classList.add("hidden-widescreen");
+                               }
+                       }
+               }
+               }
+       }
+}

Reply via email to