Search code examples
javascriptvaadinpage-refresh

vaadin. Do smth when client refresh page


I start use vaadin. I need to run my javascript after reloading page.

How can i do something when client refresh page? Or how to catch "refresh page" event in vaadin?

Sorry for my English.


Solution

  • Probably overriding paint method can help:

    public class HelloWorldApplication extends Application {
      @Override
      public void init() {
        final Window mainWindow = new Window("Hello world app");
    
        SomeComponent hl = new SomeComponent();
    
        hl.addComponent(new Label("Hello world"));
    
        mainWindow.addComponent(hl);
    
        setMainWindow(mainWindow);
    }
    
    public class SomeComponent extends HorizontalLayout {
       @Override
      public void paint(PaintTarget target) throws PaintException {
        // TODO Auto-generated method stub
        super.paint(target);
    
        getWindow().executeJavaScript("alert('paint invoked')");
      }
    }