KVision
Primary version
Primary version
  • KVision Guide
  • Introduction
  • Migration
    • Migration from 8.x to 9.x
    • Migration from 7.x to 8.x
    • Migration from 6.x to 7.x
    • Migration from 5.x to 6.x
    • Migration from 4.x to 5.x
  • 1. Getting Started
    • Setting Up
    • Modules
    • Creating a New Application
    • Development Workflow
    • Hot Module Replacement
    • Debugging
    • Building For Production
  • 2. Frontend Development Guide
    • UI Structure
    • Root Container
    • Theming
    • Dark mode
    • Type safe CSS Properties
    • Basic Components
    • Icons and Images
    • Buttons and Toolbars
    • Layout Containers
    • Events
    • Working with State
    • DOM Bindings & Lifecycle Hooks
    • W3C, Snabdom, and KVision Elements
    • Forms
    • Form controls
    • Drag and drop
    • Internationalization
    • Adding custom tags (SVG example)
    • Custom components
  • 3. Optional UI Functionality (via modules)
    • Using Redux
    • Bootstrap
      • Navigation and menus
      • Tooltips and popovers
      • Modals, windows and toasts
    • Charts
    • Toasts
    • Tabulator Tables
    • Handlebars.js Templates
    • JS Routing with Navigo
    • jQuery Bindings
    • Using REST Services
  • 4. Integrating With Javascript Libraries
    • Integrating With React Components
  • 5. Fullstack Development Guide
    • Select Remote
    • Tom Select Remote
    • Tom Typeahead Remote
    • Tabulator Remote
  • FAQ
  • Useful References
Powered by GitBook
On this page
  1. 1. Getting Started

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
    )
}

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.

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.

kvision-tailwindcss

kvision-bootstrap-upload

Bootstrap based upload form component.

kvision-bootstrap-icons

kvision-datetime

Date and time picker form components.

kvision-tom-select

Internationalization support.

kvision-imask

kvision-richtext

Rich text form component.

kvision-chart

kvision-pace

kvision-ballast

Support for using React components in KVision applications.

kvision-maps

PR welcomed!

kvision-material

kvision-toastify

Toast messages.

kvision-print

kvision-routing-navigo

kvision-routing-ballast

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.

PreviousSetting UpNextCreating a New Application

Last updated 25 days ago

See chapter for more information.

support.

support.

Select and typeahead (autocomplete) components based on library.

support.

templates support for text components.

Text input mask support powered by

component.

component.

automatic page loader.

Integration with state management framework

state container.

See chapter for more information.

A basic module with the Maps component, based on library.

based components.

Printing support with library.

Routing module based on library.

Routing module based on library.

Routing module based on framework.

bindings, events and animations.

See:

kvision-bootstrap
Theming
TailwindCSS
Bootstrap Icons
Tom Select
kvision-fontawesome
Font Awesome
kvision-handlebars
Handlebars.js
kvision-i18n
Imask.js
Chart
kvision-tabulator
Tabulator
Pace
Ballast
kvision-redux-kotlin
ReduxKotlin
Using Redux
kvision-react
Leaflet
Material Web
Print.js
Navigo 7
kvision-routing-navigo-ng
Navigo 8+
Ballast
kvision-jquery
jQuery
kvision-rest
kvision-state
kvision-select-remote
kvision-tabulator-remote
Full Stack Development Guide