blob: 60730a551f7093bd69491cbe686052ee89a23838 (
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
|
package com.vaadin.tests.components.link;
import java.util.concurrent.atomic.AtomicInteger;
import com.vaadin.server.ExternalResource;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUIWithLog;
import com.vaadin.ui.Button;
import com.vaadin.ui.JavaScriptFunction;
import com.vaadin.ui.Link;
import com.vaadin.ui.VerticalLayout;
import elemental.json.JsonArray;
public class LinkInsideDisabledContainer extends AbstractTestUIWithLog {
private final AtomicInteger clickCounter = new AtomicInteger(0);
public static final String CLICK_COUNT_TEXT = "Click count: ";
@Override
protected void setup(VaadinRequest request) {
VerticalLayout layout = new VerticalLayout();
final Link link = new Link(CLICK_COUNT_TEXT + 0,
new ExternalResource("javascript:__linkClicked()"));
getPage().getJavaScript().addFunction("__linkClicked",
new JavaScriptFunction() {
@Override
public void call(JsonArray arguments) {
log(CLICK_COUNT_TEXT + clickCounter.incrementAndGet());
}
});
final VerticalLayout vlayout = new VerticalLayout();
vlayout.addComponent(link);
vlayout.setId("testContainer");
layout.addComponent(vlayout);
Button toggleLinkButton = new Button("enable/disable link");
toggleLinkButton
.addClickListener(event -> link.setEnabled(!link.isEnabled()));
layout.addComponent(toggleLinkButton);
Button toggleContainerButton = new Button("enable/disable container");
toggleContainerButton.addClickListener(
event -> vlayout.setEnabled(!vlayout.isEnabled()));
layout.addComponent(toggleContainerButton);
addComponent(layout);
}
}
|