{"version":1,"pages":[{"id":"-LEPfg4L2nG4ZLhHLwJy","title":"KVision Guide","pathname":"/kvision-guide","siteSpaceId":"sitesp_8pGqa","description":"This is a guide for KVision - an object oriented web framework for Kotlin/JS."},{"id":"-LERFvv5_sdbhc-3oaS7","title":"Introduction","pathname":"/kvision-guide/introduction","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"-Lqbri3OPBmhkOVAVZFZ","title":"Migration","pathname":"/kvision-guide/migration","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"xNIvsxN27VhdO1MWo7Ne","title":"Migration from 8.x to 9.x","pathname":"/kvision-guide/migration/migration-from-8.x-to-9.x","siteSpaceId":"sitesp_8pGqa","breadcrumbs":[{"label":"Migration"}]},{"id":"qVj38FIUTIilyj2Orgdz","title":"Migration from 7.x to 8.x","pathname":"/kvision-guide/migration/migration-from-7.x-to-8.x","siteSpaceId":"sitesp_8pGqa","breadcrumbs":[{"label":"Migration"}]},{"id":"VbqgylqN8x9JCirdYjzc","title":"Migration from 6.x to 7.x","pathname":"/kvision-guide/migration/migration-from-6.x-to-7.x","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"Migration"}]},{"id":"gR4Ou4FjCi7BxWfVGrOG","title":"Migration from 5.x to 6.x","pathname":"/kvision-guide/migration/migration-from-5.x-to-6.x","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"Migration"}]},{"id":"-MgibsMRa8fP43HwAxLv","title":"Migration from 4.x to 5.x","pathname":"/kvision-guide/migration/migration-from-4.x-to-5.x","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"Migration"}]},{"id":"-MjRCZOWNn_SpgigA3gs","title":"1. Getting Started","pathname":"/kvision-guide/1.-getting-started-1","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"-LEVMFFAqGWftYKdCVVG","title":"Setting Up","pathname":"/kvision-guide/1.-getting-started-1/setting-up","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-LR-5OCZHULsILOi-zNL","title":"Modules","pathname":"/kvision-guide/1.-getting-started-1/modules","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRHq7hnw8x20u6sg76","title":"Creating a New Application","pathname":"/kvision-guide/1.-getting-started-1/creating-a-new-application","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRI1UITqSQu1VcJLvQ","title":"Development Workflow","pathname":"/kvision-guide/1.-getting-started-1/development-workflow","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-LEWJcRZ9Zr7WjVV4gb_","title":"Hot Module Replacement","pathname":"/kvision-guide/1.-getting-started-1/hot-module-replacement","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRIUx7wUj0QJxO5rI9","title":"Debugging","pathname":"/kvision-guide/1.-getting-started-1/debugging","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRIECNlTEhwI4EipdH","title":"Building For Production","pathname":"/kvision-guide/1.-getting-started-1/building-for-production","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRCyHQ4iPWYNLdW0ln","title":"2. Frontend Development Guide","pathname":"/kvision-guide/2.-frontend-development-guide","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"-LEipBzfPFPRpxn_k_FE","title":"UI Structure","pathname":"/kvision-guide/2.-frontend-development-guide/ui-structure","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEWQ3CIy0qE_xOU0zm_","title":"Root Container","pathname":"/kvision-guide/2.-frontend-development-guide/root-container","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEiKNaOmWdFcHSD0mV6","title":"Theming","pathname":"/kvision-guide/2.-frontend-development-guide/themes","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"sEB4lKjmhWzTYcxknRb2","title":"Dark mode","pathname":"/kvision-guide/2.-frontend-development-guide/dark-mode","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEipN3IFT9GR3z-9yMr","title":"Type safe CSS Properties","pathname":"/kvision-guide/2.-frontend-development-guide/css-properties","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt3BIXC6XSfn3AAuyC","title":"Basic Components","pathname":"/kvision-guide/2.-frontend-development-guide/basic-components","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEsdwsynksyAQfeZIVn","title":"Icons and Images","pathname":"/kvision-guide/2.-frontend-development-guide/icons-and-images","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LRDK2q3-ByYCZx04nMo","title":"Buttons and Toolbars","pathname":"/kvision-guide/2.-frontend-development-guide/buttons-and-toolbars","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt3L8m1rUdfxUG-Ebl","title":"Layout Containers","pathname":"/kvision-guide/2.-frontend-development-guide/layout-containers","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEsfwgzUDPXw4PZGO7r","title":"Events","pathname":"/kvision-guide/2.-frontend-development-guide/events","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MGzISFIZaXwu5eWfSHw","title":"Working with State","pathname":"/kvision-guide/2.-frontend-development-guide/working-with-state","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-Mh_GaHJXdfySgxT2bJg","title":"DOM Bindings & Lifecycle Hooks","pathname":"/kvision-guide/2.-frontend-development-guide/dom-bindings","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MiHiROVdWgYSZ7iXK_I","title":"W3C, Snabdom, and KVision Elements","pathname":"/kvision-guide/2.-frontend-development-guide/w3c-snabdom-and-kvision-elements","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt494nsZfCzMEUvOHh","title":"Forms","pathname":"/kvision-guide/2.-frontend-development-guide/forms","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LVwtiLQtzeKaLs0UsJK","title":"Form controls","pathname":"/kvision-guide/2.-frontend-development-guide/form-controls-guide","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt4KQYv53GOSfL25y5","title":"Drag and drop","pathname":"/kvision-guide/2.-frontend-development-guide/drag-and-drop","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LR-IAD-l5xqmHGqb0b1","title":"Internationalization","pathname":"/kvision-guide/2.-frontend-development-guide/internationalization","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MWFCQQDjTh_Le7mmA1N","title":"Adding custom tags (SVG example)","pathname":"/kvision-guide/2.-frontend-development-guide/adding-custom-tags-svg-example","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"nTW7ngga1nexxzAnIkJ0","title":"Custom components","pathname":"/kvision-guide/2.-frontend-development-guide/custom-components","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MjRDQberp-bU7ETvYAG","title":"3. Optional UI Functionality (via modules)","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"-LaCmnOV4gc9_SeUUiqy","title":"Using Redux","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/using-redux","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-MjRDXH2N-WPvduo1Bmo","title":"Bootstrap","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/bootstrap","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LR4IKRj7YF7wWNCSELC","title":"Navigation and menus","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/bootstrap/navigation-and-menus","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"},{"label":"Bootstrap"}]},{"id":"-Lbd4NxDoP5BzHuKqRkV","title":"Tooltips and popovers","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/bootstrap/tooltips-and-popovers","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"},{"label":"Bootstrap"}]},{"id":"-LR4J8gdqXbpjs35pRM9","title":"Modals, windows and toasts","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/bootstrap/windows-and-modals","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"},{"label":"Bootstrap"}]},{"id":"-L_bulpJxKAMfniT1c_M","title":"Charts","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/charts","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-M5LP5VUdduIVcCu1AZK","title":"Toasts","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/toasts","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LdTOo-U3JTO1WPCLMw6","title":"Tabulator Tables","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/tabulator-tables","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LWrGodBWsKLK8H764r0","title":"Handlebars.js Templates","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/handlebars.js-templates","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LEseKPDWAzASy3AWSlw","title":"JS Routing with Navigo","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/js-routing","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LEsen1zSxSRlMYkdM4Q","title":"jQuery Bindings","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/jquery-bindings","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-Mhb9UuHy-mr6z11gbiR","title":"Using REST Services","pathname":"/kvision-guide/3.-optional-ui-functionality-via-modules/using-rest-services","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-MjREKCjcwaEyqXShVQw","title":"4. Integrating With Javascript Libraries","pathname":"/kvision-guide/4.-integrating-with-javascript-libraries","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"-M7UczJsrhmHArlSb3Ga","title":"Integrating With React Components","pathname":"/kvision-guide/4.-integrating-with-javascript-libraries/using-react-components","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"4. Integrating With Javascript Libraries"}]},{"id":"-MjRFdXuvCqX7FOSJxen","title":"5. Fullstack Development Guide","pathname":"/kvision-guide/5.-fullstack-development-guide","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"vrDiU4P49ibEQhvyA1Lh","title":"Select Remote","pathname":"/kvision-guide/5.-fullstack-development-guide/select-remote","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"5. Fullstack Development Guide"}]},{"id":"-LZ20Lrd5rmcN4E0xLWl","title":"Tom Select Remote","pathname":"/kvision-guide/5.-fullstack-development-guide/tom-select-remote","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"5. Fullstack Development Guide"}]},{"id":"-M-eHpi4TjE11Tq82H6Z","title":"Tom Typeahead Remote","pathname":"/kvision-guide/5.-fullstack-development-guide/tom-typeahead-remote","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"5. Fullstack Development Guide"}]},{"id":"-LlK3qK2GHmYSHnb3fVe","title":"Tabulator Remote","pathname":"/kvision-guide/5.-fullstack-development-guide/remote-tabulator","siteSpaceId":"sitesp_8pGqa","description":"","breadcrumbs":[{"label":"5. Fullstack Development Guide"}]},{"id":"-LETufLA9iLBgS7IBY1-","title":"FAQ","pathname":"/kvision-guide/faq","siteSpaceId":"sitesp_8pGqa","description":"Frequently asked questions"},{"id":"-MjRFrIWeOecOb9o5S9H","title":"Useful References","pathname":"/kvision-guide/useful-references","siteSpaceId":"sitesp_8pGqa","description":""},{"id":"-LEPfg4L2nG4ZLhHLwJy","title":"KVision Guide","pathname":"/kvision-guide/kvision-8.x","siteSpaceId":"sitesp_YbIKe","description":"This is a guide for KVision - an object oriented web framework for Kotlin/JS."},{"id":"-LERFvv5_sdbhc-3oaS7","title":"Introduction","pathname":"/kvision-guide/kvision-8.x/introduction","siteSpaceId":"sitesp_YbIKe"},{"id":"-Lqbri3OPBmhkOVAVZFZ","title":"Migration","pathname":"/kvision-guide/kvision-8.x/migration","siteSpaceId":"sitesp_YbIKe"},{"id":"qVj38FIUTIilyj2Orgdz","title":"Migration from 7.x to 8.x","pathname":"/kvision-guide/kvision-8.x/migration/migration-from-7.x-to-8.x","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"Migration"}]},{"id":"VbqgylqN8x9JCirdYjzc","title":"Migration from 6.x to 7.x","pathname":"/kvision-guide/kvision-8.x/migration/migration-from-6.x-to-7.x","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"Migration"}]},{"id":"gR4Ou4FjCi7BxWfVGrOG","title":"Migration from 5.x to 6.x","pathname":"/kvision-guide/kvision-8.x/migration/migration-from-5.x-to-6.x","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"Migration"}]},{"id":"-MgibsMRa8fP43HwAxLv","title":"Migration from 4.x to 5.x","pathname":"/kvision-guide/kvision-8.x/migration/migration-from-4.x-to-5.x","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"Migration"}]},{"id":"-MjRCZOWNn_SpgigA3gs","title":"1. Getting Started","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1","siteSpaceId":"sitesp_YbIKe"},{"id":"-LEVMFFAqGWftYKdCVVG","title":"Setting Up","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/setting-up","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-LR-5OCZHULsILOi-zNL","title":"Modules","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/modules","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRHq7hnw8x20u6sg76","title":"Creating a New Application","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/creating-a-new-application","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRI1UITqSQu1VcJLvQ","title":"Development Workflow","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/development-workflow","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-LEWJcRZ9Zr7WjVV4gb_","title":"Hot Module Replacement","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/hot-module-replacement","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRIUx7wUj0QJxO5rI9","title":"Debugging","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/debugging","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRIECNlTEhwI4EipdH","title":"Building For Production","pathname":"/kvision-guide/kvision-8.x/1.-getting-started-1/building-for-production","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"1. Getting Started"}]},{"id":"-MjRCyHQ4iPWYNLdW0ln","title":"2. Frontend Development Guide","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide","siteSpaceId":"sitesp_YbIKe"},{"id":"-LEipBzfPFPRpxn_k_FE","title":"UI Structure","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/ui-structure","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEWQ3CIy0qE_xOU0zm_","title":"Root Container","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/root-container","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEiKNaOmWdFcHSD0mV6","title":"Theming","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/themes","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"sEB4lKjmhWzTYcxknRb2","title":"Dark mode","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/dark-mode","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEipN3IFT9GR3z-9yMr","title":"Type safe CSS Properties","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/css-properties","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt3BIXC6XSfn3AAuyC","title":"Basic Components","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/basic-components","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEsdwsynksyAQfeZIVn","title":"Icons and Images","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/icons-and-images","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LRDK2q3-ByYCZx04nMo","title":"Buttons and Toolbars","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/buttons-and-toolbars","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt3L8m1rUdfxUG-Ebl","title":"Layout Containers","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/layout-containers","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEsfwgzUDPXw4PZGO7r","title":"Events","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/events","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MGzISFIZaXwu5eWfSHw","title":"Working with State","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/working-with-state","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-Mh_GaHJXdfySgxT2bJg","title":"DOM Bindings & Lifecycle Hooks","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/dom-bindings","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MiHiROVdWgYSZ7iXK_I","title":"W3C, Snabdom, and KVision Elements","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/w3c-snabdom-and-kvision-elements","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt494nsZfCzMEUvOHh","title":"Forms","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/forms","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LVwtiLQtzeKaLs0UsJK","title":"Form controls","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/form-controls-guide","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LEt4KQYv53GOSfL25y5","title":"Drag and drop","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/drag-and-drop","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-LR-IAD-l5xqmHGqb0b1","title":"Internationalization","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/internationalization","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MWFCQQDjTh_Le7mmA1N","title":"Adding custom tags (SVG example)","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/adding-custom-tags-svg-example","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"nTW7ngga1nexxzAnIkJ0","title":"Custom components","pathname":"/kvision-guide/kvision-8.x/2.-frontend-development-guide/custom-components","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"2. Frontend Development Guide"}]},{"id":"-MjRDQberp-bU7ETvYAG","title":"3. Optional UI Functionality (via modules)","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules","siteSpaceId":"sitesp_YbIKe"},{"id":"-LaCmnOV4gc9_SeUUiqy","title":"Using Redux","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/using-redux","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-MjRDXH2N-WPvduo1Bmo","title":"Bootstrap","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/bootstrap","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LR4IKRj7YF7wWNCSELC","title":"Navigation and menus","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/bootstrap/navigation-and-menus","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"},{"label":"Bootstrap"}]},{"id":"-Lbd4NxDoP5BzHuKqRkV","title":"Tooltips and popovers","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/bootstrap/tooltips-and-popovers","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"},{"label":"Bootstrap"}]},{"id":"-LR4J8gdqXbpjs35pRM9","title":"Modals, windows and toasts","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/bootstrap/windows-and-modals","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"},{"label":"Bootstrap"}]},{"id":"-L_bulpJxKAMfniT1c_M","title":"Charts","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/charts","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-M5LP5VUdduIVcCu1AZK","title":"Toasts","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/toasts","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LdTOo-U3JTO1WPCLMw6","title":"Tabulator Tables","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/tabulator-tables","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LWrGodBWsKLK8H764r0","title":"Handlebars.js Templates","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/handlebars.js-templates","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LEseKPDWAzASy3AWSlw","title":"JS Routing with Navigo","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/js-routing","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-LEsen1zSxSRlMYkdM4Q","title":"jQuery Bindings","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/jquery-bindings","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-Mhb9UuHy-mr6z11gbiR","title":"Using REST Services","pathname":"/kvision-guide/kvision-8.x/3.-optional-ui-functionality-via-modules/using-rest-services","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"3. Optional UI Functionality (via modules)"}]},{"id":"-MjREKCjcwaEyqXShVQw","title":"4. Integrating With Javascript Libraries","pathname":"/kvision-guide/kvision-8.x/4.-integrating-with-javascript-libraries","siteSpaceId":"sitesp_YbIKe"},{"id":"-M7UczJsrhmHArlSb3Ga","title":"Integrating With React Components","pathname":"/kvision-guide/kvision-8.x/4.-integrating-with-javascript-libraries/using-react-components","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"4. Integrating With Javascript Libraries"}]},{"id":"-MjREd7DeMygHXn0ndWk","title":"5. Targeting Non-Web Platforms","pathname":"/kvision-guide/kvision-8.x/5.-targeting-non-web-platforms","siteSpaceId":"sitesp_YbIKe"},{"id":"-LiFizHzDHs7KLYSyJlS","title":"Mobile, Using Apache Cordova","pathname":"/kvision-guide/kvision-8.x/5.-targeting-non-web-platforms/building-with-apache-cordova","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"5. Targeting Non-Web Platforms"}]},{"id":"-MEZfm9_P7R1f8Ivmzww","title":"Onsen UI Components","pathname":"/kvision-guide/kvision-8.x/5.-targeting-non-web-platforms/onsen-ui-components","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"5. Targeting Non-Web Platforms"}]},{"id":"-L_Hr1jI4V_sNZyx5lXP","title":"Electron","pathname":"/kvision-guide/kvision-8.x/5.-targeting-non-web-platforms/building-with-electron","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"5. Targeting Non-Web Platforms"}]},{"id":"-MjRF0gFTW_dr9a73u5V","title":"6. Full Stack Development Guide","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide","siteSpaceId":"sitesp_YbIKe"},{"id":"-LXxHy6oZcgILeiF-WDh","title":"Preface","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/preface","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LXxI4jiS6w06PxVMc2R","title":"Overview","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/overview","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LXxsCio-4Z_QlaGioCy","title":"Setting Up","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/setting-up-1","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LXxIE4W4TtZAOVmpuLL","title":"Common Code","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/common-code","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LXxINHrjsCi3CNa7nnj","title":"Backend Side","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LXxIdih_G0gsqtKzcZx","title":"Ktor","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/ktor","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"}]},{"id":"DKp7ay10A5h0YMa2Y06M","title":"Ktor with Koin","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/ktor/ktor-with-koin","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"},{"label":"Ktor"}]},{"id":"-LXxIg1DXHHIZ6gNoCuK","title":"Jooby","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/jooby","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"}]},{"id":"-LXxIiEKuxEGqxPLZnMF","title":"Spring Boot","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/spring-boot","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"}]},{"id":"-M1XPnV8vlBJvwb5F16G","title":"Javalin","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/javalin","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"}]},{"id":"-M5MNFWi23N6JDMXZNeX","title":"Vert.x","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/vert.x","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"}]},{"id":"-MECLykFd51fqqFq6Em6","title":"Micronaut","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/server-side/micronaut","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"},{"label":"Backend Side"}]},{"id":"-LXxIGy31oHnsQFfxY6V","title":"Frontend Side","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/client-side","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LbeAGv5nZlCxlR7jO9h","title":"Websockets","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/websockets","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-LsiIYMXluh5xdQW2qii","title":"Exception Handling","pathname":"/kvision-guide/kvision-8.x/6.-full-stack-development-guide/exception-handling","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"6. Full Stack Development Guide"}]},{"id":"-MjRFdXuvCqX7FOSJxen","title":"7. Full Stack Components","pathname":"/kvision-guide/kvision-8.x/7.-full-stack-components","siteSpaceId":"sitesp_YbIKe"},{"id":"vrDiU4P49ibEQhvyA1Lh","title":"Select Remote","pathname":"/kvision-guide/kvision-8.x/7.-full-stack-components/select-remote","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"7. Full Stack Components"}]},{"id":"-LZ20Lrd5rmcN4E0xLWl","title":"Tom Select Remote","pathname":"/kvision-guide/kvision-8.x/7.-full-stack-components/tom-select-remote","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"7. Full Stack Components"}]},{"id":"-M-eHpi4TjE11Tq82H6Z","title":"Tom Typeahead Remote","pathname":"/kvision-guide/kvision-8.x/7.-full-stack-components/tom-typeahead-remote","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"7. Full Stack Components"}]},{"id":"-LlK3qK2GHmYSHnb3fVe","title":"Tabulator Remote","pathname":"/kvision-guide/kvision-8.x/7.-full-stack-components/remote-tabulator","siteSpaceId":"sitesp_YbIKe","breadcrumbs":[{"label":"7. Full Stack Components"}]},{"id":"-LETufLA9iLBgS7IBY1-","title":"FAQ","pathname":"/kvision-guide/kvision-8.x/faq","siteSpaceId":"sitesp_YbIKe","description":"Frequently asked questions"},{"id":"-MjRFrIWeOecOb9o5S9H","title":"Useful References","pathname":"/kvision-guide/kvision-8.x/useful-references","siteSpaceId":"sitesp_YbIKe"},{"id":"-LEPfg4L2nG4ZLhHLwJy","title":"KVision guide","pathname":"/kvision-guide/kvision-1.x","siteSpaceId":"sitesp_3lFB2","description":"This is a guide for KVision - an object oriented web framework for Kotlin/JS."},{"id":"-LERFvv5_sdbhc-3oaS7","title":"Introduction","pathname":"/kvision-guide/kvision-1.x/introduction","siteSpaceId":"sitesp_3lFB2","description":""},{"id":"-LERIcw5mclWatO0VB-f","title":"Part 1: Fundamentals","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals","siteSpaceId":"sitesp_3lFB2","description":""},{"id":"-LEVMFFAqGWftYKdCVVG","title":"Setting up","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/setting-up","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LR-5OCZHULsILOi-zNL","title":"Modules","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/modules","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEWJcRZ9Zr7WjVV4gb_","title":"Hot Module Replacement","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/hot-module-replacement","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEiKNaOmWdFcHSD0mV6","title":"Theming","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/themes","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEWQ3CIy0qE_xOU0zm_","title":"Root container","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/root-container","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEipBzfPFPRpxn_k_FE","title":"UI structure","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/ui-structure","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEt3BIXC6XSfn3AAuyC","title":"Basic components","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/basic-components","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEipN3IFT9GR3z-9yMr","title":"CSS properties","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/css-properties","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEsdwsynksyAQfeZIVn","title":"Icons and images","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/icons-and-images","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LRDK2q3-ByYCZx04nMo","title":"Buttons and toolbars","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/buttons-and-toolbars","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEt3L8m1rUdfxUG-Ebl","title":"Layout containers","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/layout-containers","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LR4IKRj7YF7wWNCSELC","title":"Navigation and menus","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/navigation-and-menus","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LR4J8gdqXbpjs35pRM9","title":"Modals and windows","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/windows-and-modals","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-Lbd4NxDoP5BzHuKqRkV","title":"Tooltips and popovers","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/tooltips-and-popovers","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEsfwgzUDPXw4PZGO7r","title":"Events","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/events","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LR-IAD-l5xqmHGqb0b1","title":"Internationalization","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/internationalization","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEseKPDWAzASy3AWSlw","title":"JS routing","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/js-routing","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LEsen1zSxSRlMYkdM4Q","title":"jQuery and DOM bindings","pathname":"/kvision-guide/kvision-1.x/part-1-fundamentals/jquery-bindings","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 1: Fundamentals"}]},{"id":"-LETtcVFlFt5sqfUMKR7","title":"Part 2: Advanced features","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features","siteSpaceId":"sitesp_3lFB2","description":""},{"id":"-LEt494nsZfCzMEUvOHh","title":"Forms","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/forms","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LVwtiLQtzeKaLs0UsJK","title":"Form controls guide","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/form-controls-guide","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LEt4CaQtkkkern1cTq7","title":"Observable data model","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/observable-data-model","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LEt4KQYv53GOSfL25y5","title":"Drag and drop","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/drag-and-drop","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-L_bulpJxKAMfniT1c_M","title":"Charts","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/charts","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LdTOo-U3JTO1WPCLMw6","title":"Tabulator tables","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/tabulator-tables","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LWrGodBWsKLK8H764r0","title":"Handlebars.js templates","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/handlebars.js-templates","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LaCmnOV4gc9_SeUUiqy","title":"Using Redux","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/using-redux","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LYauLAlALNBdKg6aFFi","title":"Using REST services","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/using-rest-services","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LiFizHzDHs7KLYSyJlS","title":"Building with Apache Cordova","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/building-with-apache-cordova","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-L_Hr1jI4V_sNZyx5lXP","title":"Building with Electron","pathname":"/kvision-guide/kvision-1.x/part-2-advanced-features/building-with-electron","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 2: Advanced features"}]},{"id":"-LETu6PGaBppjb4Flap6","title":"Part 3: Server side interface","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface","siteSpaceId":"sitesp_3lFB2","description":""},{"id":"-LXxHy6oZcgILeiF-WDh","title":"Preface","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/preface","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LXxI4jiS6w06PxVMc2R","title":"Overview","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/overview","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LXxsCio-4Z_QlaGioCy","title":"Setting up","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/setting-up","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LXxIE4W4TtZAOVmpuLL","title":"Common code","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/common-code","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LXxIGy31oHnsQFfxY6V","title":"Frontend side","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/client-side","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LXxINHrjsCi3CNa7nnj","title":"Backend side","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/server-side","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LXxIdih_G0gsqtKzcZx","title":"Ktor","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/server-side/ktor","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"},{"label":"Backend side"}]},{"id":"-LXxIg1DXHHIZ6gNoCuK","title":"Jooby","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/server-side/jooby","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"},{"label":"Backend side"}]},{"id":"-LXxIiEKuxEGqxPLZnMF","title":"Spring Boot","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/server-side/spring-boot","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"},{"label":"Backend side"}]},{"id":"-LZ20Lrd5rmcN4E0xLWl","title":"Select remote","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/remote-select","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LlK3qK2GHmYSHnb3fVe","title":"Tabulator remote","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/remote-tabulator","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LbeAGv5nZlCxlR7jO9h","title":"Websockets","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/websockets","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LZ1rSuRvLUeE4kjYf3r","title":"External usage","pathname":"/kvision-guide/kvision-1.x/part-3-server-side-interface/external-usage","siteSpaceId":"sitesp_3lFB2","description":"","breadcrumbs":[{"label":"Part 3: Server side interface"}]},{"id":"-LETufLA9iLBgS7IBY1-","title":"FAQ","pathname":"/kvision-guide/kvision-1.x/faq","siteSpaceId":"sitesp_3lFB2","description":"Frequently asked questions"}]}