Modules
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,
js("import.meta.webpackHot").unsafeCast<Hot?>(),
BootstrapModule,
BootstrapCssModule,
FontAwesomeModule,
TomSelectModule,
DatetimeModule,
BootstrapUploadModule,
CoreModule
)
}This is the current list of available modules.
Module
Description
kvision
Core module required for all applications.
Bootstrap based components.
Can be omitted for applications, which use only the core functionality of the framework.
See Theming chapter for more information.
kvision-tailwindcss
TailwindCSS support.
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.
Font Awesome support.
Handlebars.js templates support for text components.
Internationalization support.
kvision-imask
Text input mask support powered by Imask.js
kvision-richtext
Rich text form component.
kvision-chart
Chart component.
Tabulator component.
kvision-pace
Pace automatic page loader.
kvision-ballast
Integration with Ballast state management framework
ReduxKotlin state container.
See Using Redux chapter for more information.
Support for using React components in KVision applications.
kvision-maps
A basic module with the Maps component, based on Leaflet library.
PR welcomed!
kvision-material
Material Web based components.
kvision-toastify
Toast messages.
kvision-print
Printing support with Print.js library.
kvision-routing-navigo
Routing module based on Navigo 7 library.
Routing module based on Navigo 8+ library.
kvision-routing-ballast
Routing module based on Ballast framework.
jQuery bindings, events and animations.
Configurable REST/HTTP client.
State bindings and observable data structures.
kvision-state-flow
Extensions for Kotlin coroutines Flow, StateFlow and SharedFlow.
Select form component tailored for fullstack applications.
kvision-tom-select-remote
Select and typeahead (autocomplete) form components tailored for fullstack applications
Tabulator component tailored for fullstack applications
kvision-common-types
KVision common types definitions.
kvision-common-remote
KVision common module for fullstack applications, with remote services definitions.
Last updated