@syncfusion/ej2-vue-schedule

29.2.4 • Public • Published

ej2-vue-schedule

The Vue Scheduler component is an event calendar that facilitates almost all the basic Outlook and Google Calendar features, allowing the user to plan and manage appointments and time efficiently. It receives event data from a variety of data sources, such as an array of JSON objects, OData web services, RESTful or WCF services, and DataManager with built-in load on demand support to reduce the data transfer and load time. Also, it is availed with the multiple resources support that allots an unique individual space for more than one resources on the same calendar.

Getting started . Online demos . Learn more

Vue Schedule Component

Trusted by the world's leading companies Bootstrap logo

Setup

Create a Vue Application

You can use Vue CLI to setup your Vue 2 applications.To install Vue CLI use the following commands.

npm install -g @vue/cli
vue create quickstart
cd quickstart
npm run serve

Initiating a new project prompts us to choose the type of project to be used for the current application. Select the option Default ([Vue 2] babel, eslint) from the menu.

Adding Syncfusion Schedule package

All Syncfusion Vue packages are published in npmjs.com registry. To install Vue schedule package, use the following command.

npm install @syncfusion/ej2-vue-schedule --save

Registering Schedule Component

You can register the Schedule component in your application by using the Vue.use(). Refer to the code example given below.

import { SchedulePlugin } from '@syncfusion/ej2-vue-schedule';
Vue.use(SchedulePlugin);

Registering SchedulPlugin in vue, will register the schedule component along with its required child directives globally.

Adding CSS references for Schedule

Add CSS references needed for Schedule in style section of the App.vue file from ../node_modules/@syncfusion package folder.

<style>
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css';
@import '../node_modules/@syncfusion/ej2-calendars/styles/material.css';
@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css';
@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../node_modules/@syncfusion/ej2-vue-schedule/styles/material.css';
</style>

Module injection

In the app.vue file, use the following code to inject the required modules.

provide: {
    schedule: [Day, Week, WorkWeek, Month, Agenda]
}

Add Schedule Component

Add the Vue Schedule by using ejs-schedule selector in template section of the App.vue file.

<template>
    <div id='app'>
        <ejs-schedule :selectedDate='selectedDate' :eventSettings='eventSettings'></ejs-schedule>
    </div>
</template>
<script>
    import Vue from "vue";
    import { SchedulePlugin, Day, Week, WorkWeek, Month, Agenda } from '@syncfusion/ej2-vue-schedule';
    Vue.use(SchedulePlugin);
    export default {
        data() {
            return {
                eventSettings: { dataSource: [{
                    Id: 1,
                    Subject: 'Meeting',
                    StartTime: new Date(2023, 1, 15, 10, 0),
                    EndTime: new Date(2023, 1, 15, 12, 30)
                    }] },
                selectedDate: new Date(2023, 1, 15)
            }
        },
        provide: {
            schedule: [Day, Week, WorkWeek, Month, Agenda]
        }
    };
</script>
<style>
@import '../../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-buttons/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-calendars/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-dropdowns/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-inputs/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-navigations/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-popups/styles/material.css';
@import '../../node_modules/@syncfusion/ej2-vue-schedule/styles/material.css';
</style>

Supported Frameworks

Schedule component is also available in following list of frameworks.


     JavaScript    

       React      

       Angular         

  ASP.NET Core  

  ASP.NET MVC  

Showcase samples

Key Features

  • Multiple views - A wide variety of built-in views are available: day, week, work week, month, timeline day, timeline week, timeline work week, timeline month, timeline year, year, agenda and month agenda. Easily configure each individual view with different, view-specific options.
  • Data binding - Seamless data binding with various client-side and remote data sources thus allowing the data to load on demand by default to reduce the data transfer and loading time.
  • Drag and drop - Appointments can be easily rescheduled to another time by dragging and dropping them onto the required time slots.
  • Appointment resize - An appointment’s time can be easily extended by resizing its start or end handlers.
  • Multiple resources - Supports planning and management of events for multiple resources and allows to group them under appropriate resources. Also, supports date-wise grouping, linked appointments and other group related customizations.
  • Virtual acrolling - Supports to load a large number of resources and events instantly as the users scroll.
  • Recurrence appointment - Allows the user to repeat a set of events on a daily, weekly, monthly, or yearly basis.
  • Template - The key elements like events, date header, work cells, time cells, event tooltip, resource header, date range text, and quick info popup comes with the default template support which allows the flexible end-user customization to embed any kind of text, images, or styles to it.
  • Timezone - Regardless of whatever time zone your system follows, Schedule supports setting your own required time zone value to it as well as to each event – thus allowing the events to display on its exact local time.
  • Timescale - Allows to display customized time duration, with clear and accurate depiction of appointments across the appropriate time slots.
  • Customizable working days and hours - Users can set specific work hour range which is visually differentiated with active colour. Also, the working days collection can be customized with specific days, so that the remaining days will be considered as weekend.
  • Custom editor template - Template option is availed for event editor, thus allowing the users to add their own custom editor design and also provides option to add additional fields onto the default event editor.
  • Adaptive rendering - Adapts with optimal user interfaces for mobile and desktop form-factors, thus helping the user’s application to scale elegantly across all the form-factors without any additional effort.
  • Export to Excel - Provides the options to Export the events to Excel formats.
  • Export and Import ICS - Provides the options to Export and Import the events as ICS formats.
  • Keyboard interaction - All the common actions such as traversing through the appointments, multiple cell selection, add/edit/delete the appointments, navigate to other views, dates and much more can be performed through keyboard inputs.
  • Localization - All the static text and date content can be localized to any desired language. Also, it can be displayed with appropriate time mode and date-format as per the localized language.
  • RTL - Supports displaying the component to display in the direction from right to left.

Support

Product support is available through the following mediums.

Changelog

Check the changelog here. Get minor improvements and bug fixes every week to stay up to date with frequent updates.

License and copyright

This is a commercial product and requires a paid license for possession or use. Syncfusion’s licensed software, including this component, is subject to the terms and conditions of Syncfusion's EULA. To acquire a license for 80+ Vue UI components, you can purchase or start a free 30-day trial. A free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue and five or fewer developers. See LICENSE FILE for more info.

© Copyright 2025 Syncfusion® Inc. All Rights Reserved. The Syncfusion® Essential Studio® license and copyright applies to this distribution.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
26.1.41-161030beta
29.2.4182latest

Version History

VersionDownloads (Last 7 Days)Published
29.2.4182
29.1.41133
29.1.3847
29.1.370
29.1.341
29.1.332
28.2.11202
28.2.72
28.2.63
28.2.524
28.2.424
28.2.324
28.1.397
28.1.380
28.1.370
28.1.360
28.1.352
28.1.33132
27.2.5111
27.2.30
27.2.20
27.1.582
27.1.571
27.1.562
27.1.553
27.1.5320
27.1.522
26.1.41-161030
27.1.511
27.1.503
27.1.480
26.2.1448
26.2.120
26.2.1013
26.2.718
26.2.50
26.2.44
26.1.412
26.1.400
26.1.390
26.1.382
26.1.351
25.2.7174
25.2.60
25.2.42
25.2.30
25.1.420
25.1.410
25.1.391
25.1.370
25.1.351
24.2.839
24.2.40
24.2.34
24.1.419
23.2.774
23.2.40
23.1.440
23.1.400
23.1.392
23.1.380
23.1.3612
22.2.12415
22.2.1118
22.2.80
22.2.51
22.1.383
22.1.361
22.1.348
21.2.10162
21.2.90
21.2.60
21.2.50
21.2.40
21.2.30
21.1.4135
21.1.39374
21.1.380
21.1.370
21.1.350
20.4.53149
20.4.520
20.4.510
20.4.500
20.4.492
20.4.480
20.4.440
20.4.430
20.4.420
20.4.400
20.4.380
20.3.610
20.3.580
20.3.570
20.3.560
20.3.520
20.3.500
20.3.490
20.3.470
20.2.5034
20.2.454
20.2.431
20.2.400
20.2.384
20.2.360
20.1.6161
20.1.590
20.1.570
20.1.560
20.1.550
20.1.520
20.1.500
20.1.480
20.1.470
19.4.5524
19.4.520
19.4.500
19.4.480
19.4.470
19.4.430
19.4.420
19.4.415
19.4.400
19.4.381
19.3.550
19.3.530
19.3.480
19.3.460
19.3.440
19.3.430
19.2.600
19.2.590
19.2.560
19.2.550
19.2.510
19.2.491
19.2.470
19.2.460
19.2.440
19.1.6920
19.1.670
19.1.660
19.1.650
19.1.630
19.1.590
19.1.580
19.1.570
19.1.560
19.1.5514
19.1.542
18.4.49113
18.4.480
18.4.472
18.4.460
18.4.440
18.4.4243
18.4.410
18.4.390
18.4.350
18.4.346
18.4.330
18.4.320
18.4.310
18.4.300
18.3.530
18.3.510
18.3.500
18.3.480
18.3.470
18.3.440
18.3.420
18.3.400
18.3.350
18.2.590
18.2.570
18.2.550
18.2.540
18.2.470
18.2.460
18.2.440
18.1.561
18.1.550
18.1.540
18.1.520
18.1.480
18.1.460
18.1.450
18.1.440
18.1.430
18.1.420
18.1.36-beta0
17.4.5513
17.4.513
17.4.500
17.4.470
17.4.460
17.4.430
17.4.411
17.4.391
17.3.280
17.3.270
17.3.260
17.3.191
17.3.170
17.3.160
17.3.140
17.3.9-beta0
17.2.490
17.2.48-beta0
17.2.29-beta0
17.2.471
17.2.460
17.2.410
17.2.400
17.2.390
17.2.350
17.2.340
17.2.28-beta0
17.1.510
17.1.500
17.1.480
17.1.470
17.1.440
17.1.430
17.1.420
17.1.410
17.1.380
17.1.32-beta0
16.4.551
16.4.540
16.4.530
16.4.520
17.1.1-beta0
16.4.480
16.4.470
16.4.450
16.4.440
16.4.420
16.4.40-beta0
16.3.340
16.3.330
16.3.320
16.3.310
16.3.300
16.3.290
16.3.240
16.3.230
16.3.220
16.3.210
16.3.170
16.2.500
16.2.490
16.2.470
16.2.460
16.2.450
16.2.440
16.2.430
16.2.410

Package Sidebar

Install

npm i @syncfusion/ej2-vue-schedule

Weekly Downloads

2,861

Version

29.2.4

License

SEE LICENSE IN license

Unpacked Size

293 kB

Total Files

202

Last publish

Collaborators

  • syncfusionorg
  • essentialjs2
  • syncfusion-javascript