You’re currently viewing documentation for our jQuery wrappers.This product reached EOL in May, 2024. To ensure smoother transition we provide support till May, 2025. Check here details and migration guidelines.

Chat Overview

The Chat component allows the user to participate in chat sessions with other users or with chat bots.

The Chat wrapper for Vue is a client-side wrapper for the Kendo UI Chat widget.

The Chat Package is part of Kendo UI for Vue, a professional grade UI library with 100+ components for building modern and feature-rich applications. To try it out sign up for a free 30-day trial.

Basic Usage

The following example demonstrates how to initialize the Chat.

Example
View Source
Change Theme:

Installation

To initialize the Chat, either:

Initializing with Webpack

  1. Install Kendo UI and add a theme.

    npm install --save @progress/kendo-ui
    npm install --save @progress/kendo-theme-default
  2. Install the Kendo UI Chat package for Vue.

    npm install --save @progress/kendo-chat-vue-wrapper
  3. Import the Kendo UI packages to the App component. If you use the Kendo UI components more than once in your application, add all Kendo UI-related files to the main.js file. If you use the Kendo UI components once in your application, add the Kendo UI-related files to the component where they will be referred.

    import '@progress/kendo-ui' // This will import the entire Kendo UI library
    // As an alternative, you could import only the scripts that are used by a specific widget:
    // import '@progress/kendo-ui/js/kendo.chat' // Imports only the Chat script and its dependencies
    
    import '@progress/kendo-theme-default/dist/all.css'
    
    import { Chat, ChatInstaller } from '@progress/kendo-chat-vue-wrapper'
    
    Vue.use(ChatInstaller)
    
    new Vue({
        el: '#app',
        components: {
            Chat
        }
    })

Functionality and Features

Events

The following example demonstrates basic Chat events. You can subscribe to all Chat events by their handler name.

<div id="vueapp" class="vue-app">
    <kendo-chat ref="chat"
                v-on:post="onPost"
                v-on:sendmessage="onSendMessage"
                v-on:actionclick="onActionClick"
                v-on:typingstart="onTypingStart"
                v-on:typingend="onTypingEnd"></kendo-chat>
</div>
Vue.use(ChatInstaller);

new Vue({
    el: '#vueapp',
    methods: {
        onPost: function (ev) {
            console.log("A message has been posted to the Chat widget!");
        },
        onSendMessage: function (ev) {
            console.log("A message has been posted to the Chat widget using the message box!");
        },
        onActionClick: function (ev) {
            console.log("The user clicked an action button in attachment template, or selected a suggestedAction!");
        },
        onTypingStart: function (ev) {
            console.log("The user started typing in the Chat message box!");
        },
        onTypingEnd: function (ev) {
            console.log("The user cleared the Chat message box!");
        }
    }
})