package com.vaadin.tests.components.javascriptcomponent;
import com.vaadin.annotations.JavaScript;
import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractReindeerTestUI;
import com.vaadin.ui.AbstractJavaScriptComponent;
import com.vaadin.ui.JavaScriptFunction;
import com.vaadin.ui.Label;
import elemental.json.JsonArray;
public class JSComponentLoadingIndicator extends AbstractReindeerTestUI {
@JavaScript({ "JSComponent.js" })
public class JSComponent extends AbstractJavaScriptComponent {
public JSComponent() {
addFunction("test", new JavaScriptFunction() {
@Override
public void call(JsonArray arguments) {
try {
Thread.sleep(1000);
Label label = new Label("pong");
label.addStyleName("pong");
addComponent(label);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
}
@Override
protected void setup(VaadinRequest request) {
addComponent(new JSComponent());
}
}