https://github.com/try0/wicket-resource-bundle
Looks up resources located in annotated component packages and registers them in ResourceBundles.
https://github.com/try0/wicket-resource-bundle
bundle css java javascript resource wicket
Last synced: 11 months ago
JSON representation
Looks up resources located in annotated component packages and registers them in ResourceBundles.
- Host: GitHub
- URL: https://github.com/try0/wicket-resource-bundle
- Owner: try0
- License: apache-2.0
- Created: 2022-04-20T11:44:18.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2022-04-26T10:18:52.000Z (about 4 years ago)
- Last Synced: 2025-02-09T16:15:38.822Z (about 1 year ago)
- Topics: bundle, css, java, javascript, resource, wicket
- Language: Java
- Homepage:
- Size: 130 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wicket-resource-bundle
Extends resource bundling of wicket.
Looks up resources located in annotated component packages and bundles them into a single resource.
wicket-resource-bundle depends on [wicket-core](https://github.com/apache/wicket/tree/master/wicket-core) and [wicketstuff-annotation](https://github.com/wicketstuff/core/tree/master/annotation).
WicketApplication.css ( = HomePage.css + MyPanel.css )
WicketApplication.js ( = JQuery + MyPanel.js )

```java
public class WicketApplication extends WebApplication {
@Override
public Class extends WebPage> getHomePage() {
return HomePage.class;
}
@Override
public void init() {
super.init();
// jp.try0.wicket.resource.bundle.BundleResourceManager
BundleResourceManager manager = new BundleResourceManager(this);
// Can be added
manager.addJavaScriptResourceReference(JQueryResourceReference.getV3());
manager.register();
}
}
```
```java
@BundleResource(name = "HomePage.css")
public class HomePage extends WebPage {
public HomePage(final PageParameters parameters) {
super(parameters);
add(new Label("version", getApplication().getFrameworkSettings().getVersion()));
add(new MyPanel("myPanel"));
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(CssHeaderItem.forReference(new CssResourceReference(getClass(), "HomePage.css")));
}
}
```
```java
@BundleResources({
@BundleResource(name = "MyPanel.css"),
@BundleResource(name = "MyPanel.js") })
public class MyPanel extends Panel {
public MyPanel(String id) {
super(id);
add(new Label("pnlLabel", "MyPanel"));
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(CssHeaderItem.forReference(new CssResourceReference(getClass(), "MyPanel.css")));
response.render(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(getClass(), "MyPanel.js")));
}
}
```
## Define dependencies.
```java
@BundleResources({
@BundleResource(name = "ModalDialog.css"),
@BundleResource(name = "ModalDialog.js") })
public class ModalDialog extends Panel {
```
```java
@BundleResource(name = "ConfirmButton.js", dependencies = { ModalDialog.class })
public class ConfirmButton extends Button {
```