Directory

← Back

VelocityComponent

A Helper Library to build JavaScript components for Vaadin using Velocity templating engine powered JS.

Author

Rating

Popularity

<100

This is a "meta-add-on", a library for add-on developers. This enhances the Element API and its executeJs method with the powers of the Velocity template engine.

This helper library is intended to be used only temporarily, until StringTemplate based API is ready in both Java itself and Vaadin.

Check the usage from the GitHub projects src/test directory. A real world usage example is available at MapLibre GL integration.

Compared to standard getElement().executeJs() style API, this library provides the following benefits:

  • Parameter values are more readable in the JS snippets, e.g. '$foo' instead of '$0'
  • Possibility to pass JS objects and/or JSON to JS snippets, without transferring as string (less code, better performance).
  • Velocity template based JS code generation in general, e.g. generate JS code using loops and conditionals

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Only tested with Vaadin 24.1.

Released
2023-08-16
Maturity
STABLE
License
Apache License 2.0

Compatibility

Framework
Vaadin 24
Browser
Browser Independent

VelocityComponent - Vaadin Add-on Directory

A Helper Library to build JavaScript components for Vaadin using Velocity templating engine powered JS. VelocityComponent - Vaadin Add-on Directory
This is a "meta-add-on", a library for add-on developers. This enhances the Element API and its executeJs method with the powers of the [Velocity template engine](https://velocity.apache.org). This helper library is intended to be used only temporarily, until StringTemplate based API is ready in both Java itself and Vaadin. Check the usage from the GitHub projects `src/test` directory. A real world usage example is available at [MapLibre GL integration](https://github.com/parttio/maplibre). Compared to standard `getElement().executeJs()` style API, this library provides the following benefits: * Parameter values are more readable in the JS snippets, e.g. '$foo' instead of '$0' * Possibility to pass JS objects and/or JSON to JS snippets, without transferring as string (less code, better performance). * Velocity template based JS code generation in general, e.g. generate JS code using loops and conditionals
Online