Enhanced Window Opener - Vaadin Add-on Directory
Enhanced Window OpenerEnhanced Window Opener is an extension of Vaadin BrowserWindowOpener that aims to simplify the opening of generated content in a new browser window or tab.
There are a lot of post on Vaadin forum regarding the usage `BrowserWindowOpener` extension. The main problems encountered by people depends on a misunderstanding of how `BrowserWindowOpener` works; it does not open a window immediately when the target component is extended but instead it adds a client side click listener on target component, so its effects are available only after the connector has done its work.
Usually problems comes from extending a component or setting the resource to open inside a server side listener (e.g. Button click listener)
```java
Button button = new Button();
button.addClickListener( e -> {
new BrowserWindowOpener(runtimeGeneratedResource())
.extend(button);
});
```
This leeds to two problems:
1. the window will not be opened after the click but only on the next click on the button
1. the second click on the button will open the window but, after that, it will also execute the server side listener extending the button once again and consequently adding another click listener on the client side; next time clicking the button will open two windows and so on
The aim of this addon is to simplify opening window for runtime generated content and to avoid multiple window opening due to wrong usage of `BrowserWindowOpener`.
```java
Button button = new Button("Click me");
new EnhancedBrowserWindowOpener()
.clientSide(true)
.withGeneratedContent("myFileName.txt", this::makeStreamSource)
.doExtend(button);
```
See [project page](https://github.com/mcollovati/enhanced-window-opener) for further informations.
Source CodeIssue Tracker
Enhanced Window Opener version 0.1
null
Enhanced Window Opener version 0.2
null
Enhanced Window Opener version 0.3
Added MenuBar extension support
Enhanced Window Opener version 0.4
Update to Vaadin 8.4
Enhanced Window Opener version 0.1.1
Cherry picks from vaadin 8 version
Added opener in popup demo
Added MenuItem support
Enhanced Window Opener version 0.1.2
Added support for shortcuts