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 d4b0969 jewel-drawer: New DrawerFooter component
d4b0969 is described below
commit d4b096983b6d951abc766d2c127b11c77bbd73a4
Author: Carlos Rovira <[email protected]>
AuthorDate: Mon Feb 17 21:54:12 2020 +0100
jewel-drawer: New DrawerFooter component
---
.../projects/Jewel/src/main/resources/defaults.css | 7 +++
.../Jewel/src/main/resources/jewel-manifest.xml | 1 +
.../jewel/supportClasses/drawer/DrawerFooter.as | 52 ++++++++++++++++++++++
.../Jewel/src/main/sass/components/_drawer.sass | 8 ++++
.../JewelTheme/src/main/resources/defaults.css | 30 +++++++++++++
.../src/main/sass/components-primary/_drawer.sass | 51 ++++++++++++++++++++-
6 files changed, 148 insertions(+), 1 deletion(-)
diff --git a/frameworks/projects/Jewel/src/main/resources/defaults.css
b/frameworks/projects/Jewel/src/main/resources/defaults.css
index 7adba5d..2e72257 100644
--- a/frameworks/projects/Jewel/src/main/resources/defaults.css
+++ b/frameworks/projects/Jewel/src/main/resources/defaults.css
@@ -777,6 +777,13 @@ j|Divider {
touch-action: pan-y;
}
+.jewel.drawerfooter {
+ display: flex;
+ position: relative;
+ width: 100%;
+ height: 66px;
+}
+
j|DrawerBase {
IBeadLayout:
ClassReference("org.apache.royale.jewel.beads.layouts.NullLayout");
}
diff --git a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
index e5e11b7..4df1ef8 100644
--- a/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
+++ b/frameworks/projects/Jewel/src/main/resources/jewel-manifest.xml
@@ -135,6 +135,7 @@
<component id="Drawer" class="org.apache.royale.jewel.Drawer"/>
<component id="DrawerHeader"
class="org.apache.royale.jewel.supportClasses.drawer.DrawerHeader"/>
<component id="DrawerContent"
class="org.apache.royale.jewel.supportClasses.drawer.DrawerContent"/>
+ <component id="DrawerFooter"
class="org.apache.royale.jewel.supportClasses.drawer.DrawerFooter"/>
<component id="HideDrawerOnMouseDown"
class="org.apache.royale.jewel.beads.controls.drawer.HideDrawerOnMouseDown"/>
diff --git
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerFooter.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerFooter.as
new file mode 100644
index 0000000..7bcc4d3
--- /dev/null
+++
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/supportClasses/drawer/DrawerFooter.as
@@ -0,0 +1,52 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// 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.supportClasses.drawer
+{
+ import org.apache.royale.jewel.supportClasses.bar.BarRow;
+
+ /**
+ * The DrawerFooter class is a Bar component to use as the last
content in a Drawer.
+ * for different items like
+ * a title, navigation icon, and/or icon buttons.
+ * Normaly is located at the top or bottom of a container and use to
fill all
+ * horizontal availale space. It's responsive as screen size changes
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public class DrawerFooter extends BarRow
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion Royale 0.9.7
+ */
+ public function DrawerFooter()
+ {
+ super();
+
+ typeNames = "jewel drawerfooter"
+ }
+ }
+}
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_drawer.sass
b/frameworks/projects/Jewel/src/main/sass/components/_drawer.sass
index 985108c..ebfec06 100644
--- a/frameworks/projects/Jewel/src/main/sass/components/_drawer.sass
+++ b/frameworks/projects/Jewel/src/main/sass/components/_drawer.sass
@@ -22,6 +22,7 @@
// Drawer variables
$drawer-float-width-offset: 60px
$drawer-float-max-width: 310px
+$drawerfooter-bar-row-height: 66px
.jewel.drawer
@@ -124,6 +125,11 @@ $drawer-float-max-width: 310px
-webkit-overflow-scrolling: touch //Momentum (innercial) Scrolling on iOS
touch-action: pan-y
+.jewel.drawerfooter
+ display: flex
+ position: relative
+ width: 100%
+ height: $drawerfooter-bar-row-height
j|DrawerBase
@@ -137,3 +143,5 @@ j|DrawerHeader
j|DrawerContent
IBeadLayout:
ClassReference("org.apache.royale.jewel.beads.layouts.NullLayout")
+
+j|DrawerFooter
\ No newline at end of file
diff --git a/frameworks/themes/JewelTheme/src/main/resources/defaults.css
b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
index 2df61a5..6cf1946 100644
--- a/frameworks/themes/JewelTheme/src/main/resources/defaults.css
+++ b/frameworks/themes/JewelTheme/src/main/resources/defaults.css
@@ -515,6 +515,36 @@ j|Card {
padding: 16px;
}
+.jewel.drawerfooter {
+ background: linear-gradient(#404040, #262626);
+ border-top: 1px solid #595959;
+ border-bottom: 1px solid black;
+ color: #FFFFFF;
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.7);
+}
+.jewel.drawerfooter .jewel.barsection {
+ padding: 8px 12px;
+}
+.jewel.drawerfooter .jewel.barsection button {
+ background: transparent;
+ box-shadow: none;
+ border: none;
+ padding: 12px;
+ fill: #FFFFFF;
+ color: inherit;
+ text-shadow: 0 -1px 0 rgba(10, 90, 138, 0.7);
+}
+.jewel.drawerfooter .jewel.barsection button:hover, .jewel.drawerfooter
.jewel.barsection button:hover:focus, .jewel.drawerfooter .jewel.barsection
button:active, .jewel.drawerfooter .jewel.barsection button:active:focus,
.jewel.drawerfooter .jewel.barsection button:focus {
+ background: transparent;
+ box-shadow: none;
+ border: none;
+}
+.jewel.drawerfooter .jewel.barsection button[disabled] {
+ background: transparent;
+ box-shadow: none;
+ border: none;
+}
+
.jewel.dropdownlist {
background-color: white;
border: 1px solid #b3b3b3;
diff --git
a/frameworks/themes/JewelTheme/src/main/sass/components-primary/_drawer.sass
b/frameworks/themes/JewelTheme/src/main/sass/components-primary/_drawer.sass
index 4270818..3d67417 100644
--- a/frameworks/themes/JewelTheme/src/main/sass/components-primary/_drawer.sass
+++ b/frameworks/themes/JewelTheme/src/main/sass/components-primary/_drawer.sass
@@ -97,10 +97,59 @@ $drawer-fixed-width: 240px
// DrawerContent
.jewel.drawercontent
+// DrawerFooter
+$drawerfooter-bar-section-vertical-padding: 8px
+$drawerfooter-bar-section-horizontal-padding: 12px
+$drawerfooter-bar-button-padding: 12px
+
+.jewel.drawerfooter
+ @if $flat
+ background: $footer-color
+ border: 0px solid
+ @else
+ background: linear-gradient(lighten($footer-color, 5%),
darken($footer-color, 5%))
+ border-top: 1px solid lighten($footer-color, 15%)
+ border-bottom: 1px solid darken($footer-color, 20%)
+ // box-shadow: 0px 0px 6px 1px rgba(.7, .7, .7, .7)
+
+ color: $font-theme-color
+
+ @if not $flat //and $text-color == $font-theme-color
+ text-shadow: 0 -1px 0 rgba(darken($footer-color, 30%), .7)
+ @else
+ text-shadow: none
+
+ .jewel.barsection
+ padding: $drawerfooter-bar-section-vertical-padding
$drawerfooter-bar-section-horizontal-padding
+
+ button
+ background: transparent
+ box-shadow: none
+ border: none
+ padding: $drawerfooter-bar-button-padding
+ fill: $font-theme-color
+ color: inherit
+
+ @if not $flat //and $text-color == $font-theme-color
+ text-shadow: 0 -1px 0 rgba(darken($primary-color, 30%), .7)
+ @else
+ text-shadow: none
+
+ &:hover, &:hover:focus, &:active, &:active:focus, &:focus
+ background: transparent
+ box-shadow: none
+ border: none
+
+ &[disabled]
+ background: transparent
+ box-shadow: none
+ border: none
j|Drawer
j|DrawerHeader
-j|DrawerContent
\ No newline at end of file
+j|DrawerContent
+
+j|DrawerFooter
\ No newline at end of file