blob: 78b339349154bb2e90d1c4af5047dfa5135fb9e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
package com.vaadin.tests.components;
import com.vaadin.annotations.Widgetset;
import com.vaadin.server.BrowserWindowOpener;
import com.vaadin.server.ClassResource;
import com.vaadin.server.ConnectorResource;
import com.vaadin.server.ExternalResource;
import com.vaadin.server.FileDownloader;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.embedded.EmbeddedPdf;
import com.vaadin.tests.extensions.EventTriggerExtension;
import com.vaadin.tests.widgetset.TestingWidgetSet;
import com.vaadin.ui.Button;
import com.vaadin.ui.MenuBar;
import com.vaadin.ui.MenuBar.MenuItem;
@Widgetset(TestingWidgetSet.NAME)
public class MenuBarDownloadBrowserOpenerUI extends AbstractTestUIWithLog {
@Override
protected void setup(VaadinRequest request) {
ConnectorResource downloadResource = new ClassResource(
EmbeddedPdf.class, "test.pdf");
ExternalResource openResource = new ExternalResource(
"https://vaadin.com");
MenuBar menuBar = new MenuBar();
MenuItem download = menuBar.addItem("Download");
MenuItem saveAsNoLog = download.addItem("Save as without logging...");
MenuItem saveAsLog = download.addItem("Save as with logging...",
item -> log("Download triggered"));
FileDownloader fd = new FileDownloader(downloadResource);
fd.extend(saveAsNoLog);
FileDownloader fd2 = new FileDownloader(downloadResource);
fd2.extend(saveAsLog);
MenuItem open = menuBar.addItem("Open");
MenuItem openNoLog = open.addItem("Open without logging...");
MenuItem openLog = open.addItem("Open with logging...",
item -> log("Open triggered"));
BrowserWindowOpener bwo = new BrowserWindowOpener(openResource);
bwo.extend(openNoLog);
BrowserWindowOpener bwo2 = new BrowserWindowOpener(openResource);
bwo2.extend(openLog);
addComponent(menuBar);
addComponent(new Button("Remove downloaders and openers", event -> {
fd.remove();
fd2.remove();
bwo.remove();
bwo2.remove();
}));
setupTestExtension(menuBar);
}
private void setupTestExtension(MenuBar menuBar) {
EventTriggerExtension triggerable1 = new EventTriggerExtension();
EventTriggerExtension triggerable2 = new EventTriggerExtension();
MenuItem testExtension = menuBar.addItem("TestExtension");
MenuItem runMe = testExtension.addItem("RunMe");
triggerable1.extend(runMe);
testExtension.addItem("AddTrigger", c -> triggerable2.extend(runMe));
testExtension.addItem("RemoveTrigger", c -> triggerable2.remove());
}
}
|