KVision consists of both required and optional functionality. Modules can be added as dependencies in build.gradle.kts
file.
All modules which include CSS stylesheets require explicit initialization. This also applies to the core module. This initialization ensures a predictable order in which all styles will be applied. The initialization is performed by adding dedicated module objects as parameters to the startApplication()
function.
fun main() {
startApplication(
::App,
module.hot,
BootstrapModule,
BootstrapCssModule,
FontAwesomeModule,
TomSelectModule,
DatetimeModule,
BootstrapUploadModule,
CoreModule
)
}
{% hint style="info" %}
Some modules include more than one, optional initializers. E.g. kvision-tabulator
module includes mandatory TabulatorModule
but also TabulatorCssBootstrapModule
, TabulatorCssBulmaModule
, TabulatorCssMaterializeModule
, TabulatorCssMidnightModule
, TabulatorCssModernModule
, TabulatorCssSemanticModule
, TabulatorCssSimpleModule
and TabulatorCssStandardModule
for all CSS styles supported by the Tabulator component.
{% endhint %}
This is the current list of available modules.
Module | Description |
---|---|
kvision | Core module required for all applications. |
kvision-bootstrap | Bootstrap based components. Can be omitted for applications, which use only the core functionality of the framework. See Theming chapter for more information. |
kvision-bootstrap-upload | Bootstrap based upload form component. |
kvision-bootstrap-icons | Bootstrap Icons support. |
kvision-datetime | Date and time picker form components. |
kvision-tom-select | Select and typeahead (autocomplete) components based on Tom Select library. |
kvision-fontawesome | Font Awesome support. |
kvision-handlebars | Handlebars.js templates support for text components. |
kvision-i18n | Internationalization support. |
kvision-imask | Text input mask support powered by Imask.js |
kvision-richtext | Rich text form component. |
kvision-chart | Chart component. |
kvision-tabulator | Tabulator component. |
kvision-pace | Pace automatic page loader. |
kvision-ballast | Integration with Ballast state management framework |
kvision-redux-kotlin | ReduxKotlin state container. See Using Redux chapter for more information. |
kvision-react | Support for using React components in KVision applications. |
kvision-maps | A basic module with the PR welcomed! |
kvision-toastify | Toast messages. |
kvision-print | Printing support with Print.js library. |
kvision-routing-navigo | Routing module based on Navigo 7 library. |
kvision-routing-navigo-ng | Routing module based on Navigo 8+ library. |
kvision-routing-ballast | Routing module based on Ballast framework. |
kvision-onsenui | Onsen UI mobile web components. |
kvision-jquery | jQuery bindings, events and animations. |
kvision-rest | Configurable REST/HTTP client. |
kvision-state | State bindings and observable data structures. |
kvision-state-flow | Extensions for Kotlin coroutines Flow , StateFlow and SharedFlow . |
kvision-cordova | Kotlin language bindings for Apache Cordova core API. See Building with Apache Cordova chapter for more information. |
kvision-electron | Kotlin language bindings for Electron API. See Building with Electron chapter for more information. |
kvision-select-remote | Select form component tailored for full-stack applications. |
kvision-tom-select-remote | Select and typeahead (autocomplete) form components tailored for full-stack applications. |
kvision-tabulator-remote | Tabulator component tailored for full-stack applications. |
kvision-common-annotations | Compiler plugin annotations for full-stack applications. |
kvision-common-types | KVision common module for full-stack applications, with types definitions. |
kvision-common-remote | KVision common module for full-stack applications, with remote services definitions. |
kvision-server-ktor | Ktor server-side connectivity module for full-stack applications. |
kvision-server-ktor-koin | Ktor with Koin server-side connectivity module for full-stack applications. |
kvision-server-jooby | Jooby server-side connectivity module for full-stack applications. |
kvision-server-spring-boot | Spring Boot server-side connectivity module for full-stack applications. |
kvision-server-javalin | Javalin server-side connectivity module for full-stack applications. |
kvision-server-vertx | Vert.x server-side connectivity module for full-stack applications. |
kvision-server-micronaut | Micronaut server-side connectivity module for full-stack applications. |