All Components

Dialog Overview

The Dialog communicates specific information and prompts users to take specific actions by interacting with a modal dialog.

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

Basic Usage

<div id="vueapp" class="vue-app">
    <kendo-dialog :modal="false"
                  :width="180"
                  :title="'Hello Dialog'">
        {{dialogContent}}
        <kendo-dialog-action :text="'Push!'"></kendo-dialog-action>
        <kendo-dialog-action :text="'Push Now!'"
                             :primary="true"
                             :action="actionMethod">
        </kendo-dialog-action>
    </kendo-dialog>
</div>
Vue.use(DialogInstaller);

new Vue({
    el: '#vueapp',
    data () {
      return {
        dialogContent: 'Some content'
      }
    },
    methods: {
      actionMethod (e) {
        console.log('You chose to Push Now!')
      }
    }
})

Installation

To initialize the Dialog, 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 Dialog package for Vue.

    npm install --save @progress/kendo-dialog-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 the component where they will be referred.

    import '@progress/kendo-ui'
    import '@progress/kendo-theme-default/dist/all.css'
    
    import { Dialog } from '@progress/kendo-dialog-vue-wrapper'
    import { DialogInstaller } from '@progress/kendo-dialog-vue-wrapper'
    
    Vue.use(DialogInstaller)
    
    new Vue({
        el: '#app',
        components: {
            Dialog
        }
    })

Events

The following example demonstrates basic Dialog events. You can subscribe to all events of the Dialog by the handler name.

<div id="vueapp" class="vue-app">
    <kendo-dialog v-on:close="onClose"
                  v-on:open="onOpen"
                  :title="'Hello Dialog'"
                  :content="'This is dialog content'">
        <kendo-dialog-action :text="'OK'"></kendo-dialog-action>
        <kendo-dialog-action :text="'Cancel'"
                             :primary="true">
        </kendo-dialog-action>
    </kendo-dialog>
</div>
Vue.use(DialogInstaller);

new Vue({
    el: '#vueapp',
    methods: {
      onClose () {
        console.log("Dialog is about to be closed.");
      },
      onOpen () {
        console.log("Dialog is about to be opened.");
      }
    }
})
In this article