Skip to content

Commit 4f519c2

Browse files
mlopezFCjavier-godoy
authored andcommitted
feat: add support for drawerBelowHeader feature
1 parent b7ac448 commit 4f519c2

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

src/main/java/com/flowingcode/addons/applayout/AppLayout.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,14 @@ public void setSwipeOpen(boolean swipeOpen) {
183183
public void setDrawerPersistent(boolean drawerPersistent) {
184184
this.getElement().setAttribute("drawerPersistent", drawerPersistent);
185185
}
186+
187+
/**
188+
* Sets the drawerBelowHeader attribute so the drawer will be show below
189+
* the header of the applayout
190+
* @param drawerBelowHeader
191+
*/
192+
public void setDrawerBelowHeader(boolean drawerBelowHeader) {
193+
this.getElement().setAttribute("drawerBelowHeader", drawerBelowHeader);
194+
}
195+
186196
}

src/test/java/com/flowingcode/addons/applayout/ApplayoutDemoView.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ private void applySettings() {
8787
app.setFixed(settings.isFixed());
8888
app.setReveals(settings.isReveals());
8989
app.setDrawerPersistent(settings.isDrawerPersistent());
90+
app.setDrawerBelowHeader(settings.isDrawerBelowHeader());
9091

9192
if (settings.isCompact()) {
9293
app.addClassName("compact");
@@ -107,6 +108,7 @@ private void openSettings() {
107108
Checkbox cbReveals = new Checkbox("Reveals");
108109
Checkbox cbCompact = new Checkbox("Compact");
109110
Checkbox cbPersistent = new Checkbox("Drawer Persistent");
111+
Checkbox cbBelowHeader = new Checkbox("Drawer Below Header");
110112

111113
cbMenuVisible.getElement().setAttribute("title", "Toggle visibility of the hamburguer icon.");
112114
cbSwipeOpen
@@ -127,6 +129,9 @@ private void openSettings() {
127129
cbPersistent
128130
.getElement()
129131
.setAttribute("title", "When enabled, the drawer will be opened in a non-modal way");
132+
cbBelowHeader
133+
.getElement()
134+
.setAttribute("title", "When enabled, the drawer will be placed below the header");
130135

131136
Binder<DemoSettings> binder = new Binder<>();
132137
binder.forField(cbMenuVisible).bind(DemoSettings::isMenuVisible, DemoSettings::setMenuVisible);
@@ -135,10 +140,11 @@ private void openSettings() {
135140
binder.forField(cbReveals).bind(DemoSettings::isReveals, DemoSettings::setReveals);
136141
binder.forField(cbCompact).bind(DemoSettings::isCompact, DemoSettings::setCompact);
137142
binder.forField(cbPersistent).bind(DemoSettings::isDrawerPersistent, DemoSettings::setDrawerPersistent);
143+
binder.forField(cbBelowHeader).bind(DemoSettings::isDrawerBelowHeader, DemoSettings::setDrawerBelowHeader);
138144
binder.setBean(this.settings);
139145

140146
VerticalLayout content =
141-
new VerticalLayout(cbMenuVisible, cbSwipeOpen, cbFixed, cbReveals, cbCompact, cbPersistent);
147+
new VerticalLayout(cbMenuVisible, cbSwipeOpen, cbFixed, cbReveals, cbCompact, cbPersistent, cbBelowHeader);
142148
content.setSpacing(false);
143149

144150
HorizontalLayout buttons = new HorizontalLayout();

src/test/java/com/flowingcode/addons/applayout/DemoSettings.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public class DemoSettings {
3535

3636
private boolean drawerPersistent;
3737

38+
private boolean drawerBelowHeader;
39+
3840
public boolean isEnabled() {
3941
return enabled;
4042
}
@@ -90,4 +92,13 @@ public boolean isDrawerPersistent() {
9092
public void setDrawerPersistent(boolean drawerPersistent) {
9193
this.drawerPersistent = drawerPersistent;
9294
}
95+
96+
public boolean isDrawerBelowHeader() {
97+
return drawerBelowHeader;
98+
}
99+
100+
public void setDrawerBelowHeader(boolean drawerBelowHeader) {
101+
this.drawerBelowHeader = drawerBelowHeader;
102+
}
103+
93104
}

0 commit comments

Comments
 (0)