Skip to content

Commit a752d24

Browse files
committed
Closes #8: Added support for setting visibility of side menu and button
1 parent 3cbff9a commit a752d24

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,9 @@ public AppToolbar getAppToolbar() {
5959
public void setToolbarIconButtons(MenuItem[] menuItems) {
6060
appToolbar.setToolbarIconButtons(menuItems);
6161
}
62+
63+
public void setMenuIconVisible(boolean visible) {
64+
appToolbar.setMenuIconVisible(visible);
65+
}
6266

6367
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,15 @@ public void clearMenuItems() {
6767
public void setToolbarIconButtons(MenuItem... menuItems) {
6868
header.setToolbarIconButtons(menuItems);
6969
}
70+
71+
public void setMenuVisible(boolean visible) {
72+
drawer.setVisible(visible);
73+
header.setMenuIconVisible(visible);
74+
}
75+
76+
public boolean isMenuVisible() {
77+
return drawer.isVisible();
78+
}
7079

7180
@Override
7281
public void configurePage(InitialPageSettings settings) {

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,9 @@ private List<PaperIconButton> createToolbarIconButtons(MenuItem[] menuItems) {
7070
return result;
7171
}
7272

73+
public void setMenuIconVisible(boolean visible) {
74+
menu.setVisible(visible);
75+
}
76+
7377

7478
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import com.flowingcode.addons.applayout.menu.MenuItem;
2424
import com.vaadin.flow.component.html.H3;
25-
import com.vaadin.flow.component.icon.VaadinIcon;
2625
import com.vaadin.flow.component.notification.Notification;
2726
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
2827
import com.vaadin.flow.router.Route;
@@ -45,6 +44,7 @@ public DemoView() {
4544
app.setMenuItems(createMenuItems());
4645

4746
app.setToolbarIconButtons(new MenuItem("Delete", "delete", () -> Notification.show("Delete action")),
47+
new MenuItem("Hide/Show Menu", "clear", () -> app.setMenuVisible(!app.isMenuVisible())),
4848
new MenuItem("Search", "search", () -> Notification.show("Search action")),
4949
new MenuItem("Close", "close", () -> Notification.show("Close action")));
5050

@@ -55,7 +55,7 @@ private MenuItem[] createMenuItems() {
5555
MenuItem mi = new MenuItem("Say hello", "star", () -> showContent("Hello!"));
5656
return new MenuItem[] {mi ,
5757
new MenuItem("About", "cloud", () -> showContent("About")),
58-
new MenuItem("Clear Items", "star", () -> app.clearMenuItems()),
58+
new MenuItem("Clear Items", "clear", () -> app.clearMenuItems()),
5959
new MenuItem("Change Text & Icon", "cloud", () -> {
6060
if (mi.getIcon().equals("star")) {
6161
mi.setIcon("cloud");

0 commit comments

Comments
 (0)