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"); + } + } + } + } + } +}
