EJ1 API Migration in JavaScript Scheduler
This topic lists the equivalent EJ2 APIs and properties for projects migrating from EJ1 Scheduler.
Properties
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| To change the display of days count in agenda view |
Property: daysInAgenda $("#Schedule").ejSchedule({currentView: "Agenda", daysInAgenda: 7 });
|
Property: agendaDaysCount var scheduleObj = new ej.schedule.Schedule({currentView: 'Agenda',agendaDaysCount: 7});scheduleObj.appendTo('#Schedule');
|
| Preventing deletion of appointment |
Property: allowDelete $("#Schedule").ejSchedule({allowDelete: false});
|
Not applicable |
| Allows dragging and dropping of appointments |
Property: allowDragAndDrop $("#Schedule").ejSchedule({allowDragAndDrop: false});
|
Property: allowDragAndDrop var scheduleObj = new ej.schedule.Schedule({allowDragAndDrop: false});scheduleObj.appendTo('#Schedule');
|
| Enabling inline editing of appointments |
Property: allowInline $("#Schedule").ejSchedule({allowInline: true});
|
Not applicable |
| Allow keyboard interactions |
Property: allowKeyboardNavigation $("#Schedule").ejSchedule({allowKeyboardNavigation: false});
|
Property: allowKeyboardInteraction var scheduleObj = new ej.schedule.Schedule({allowKeyboardInteraction: false});scheduleObj.appendTo('#Schedule');
|
| Enable resizing of appointments |
Property: enableAppointmentResize $("#Schedule").ejSchedule({enableAppointmentResize: true});
|
Property: allowResizing var scheduleObj = new ej.schedule.Schedule({allowResizing: true});scheduleObj.appendTo('#Schedule');
|
| Blocking time intervals |
Property: blockoutSettings $("#Schedule").ejSchedule({currentDate: new Date(2014, 4, 5),blockoutSettings: {enable: true,dataSource: [{BlockId: 101,BlockStartTime: new Date(2014, 4, 5, 10, 00),BlockEndTime: new Date(2014, 4, 5, 11, 00),BlockSubject: "Service",IsBlockAppointment: true}],id: "BlockId",startTime: "BlockStartTime",endTime: "BlockEndTime",subject: "BlockSubject",isBlockAppointment: "IsBlockAppointment"}});
|
Property: isBlock var data = [{ Id: 1, Subject: 'Explosion of Betelgeuse Star', StartTime: new Date(2018, 1, 15, 9, 30), EndTime: new Date(2018, 1, 15, 11, 0), IsBlock: true }var scheduleObj = new ej.schedule.Schedule({eventSettings: { dataSource: data }});scheduleObj.appendTo('#Schedule');
|
| Categorizing the appointments |
Property: categorizeSettings $("#Schedule").ejSchedule({categorizeSettings: {enable: false,allowMultiple: false},appointmentSettings: {dataSource: [{id: 100,subject: "Testing",StartTime: new Date(2014, 4, 2, 9, 00),EndTime: new Date(2014, 4, 2, 10, 30),EventCategorize: "6,4,3"}],categorize: "EventCategorize"}});
|
Not applicable |
| Setting cell height |
Property: cellHeight $("#Schedule").ejSchedule({cellHeight: "30px"});
|
Not applicable |
| Cell template |
Property: workCellsTemplateId $("#Schedule").ejSchedule({allDayCellsTemplate: "#allDayTemplate",workCellsTemplateId: "#workTemplate"});
|
Property: cellTemplate var scheduleObj = new ej.schedule.Schedule({cellTemplate: "#cellTemplate";});scheduleObj.appendTo('#Schedule');
|
| Setting cell width |
Property: cellWidth $("#Schedule").ejSchedule({cellWidth: "40px"});
|
Not applicable |
| CSS class |
Property: cssClass $("#Schedule").ejSchedule({cssClass: "customStyle"});
|
Property: cssClass var scheduleObj = new ej.schedule.Schedule({cssClass: "customStyle"});scheduleObj.appendTo('#Schedule');
|
| Enabling Context-menu option |
Property: contextMenuSettings $("#Schedule").ejSchedule({contextMenuSettings: {enable: true,menuItems:{appointment:[ { id: "open", text: "Open Appointment" },{ id: "delete",text: "Delete Appointment" }], cells: [{ id: "new", text: "New Appointment"},{id: "recurrence", text: "New Recurring Appointment" }]}}});
|
Not applicable |
| Current view |
Property: currentView $("#Schedule").ejSchedule({currentView: ej.Schedule.CurrentView.Week});
|
Property: currentView var scheduleObj = new ej.schedule.Schedule({currentView: 'Week'}); scheduleObj.appendTo('#Schedule');
|
| Date format |
Property: dateFormat $("#Schedule").ejSchedule({dateFormat: "yyyy/MM/dd"});
|
Property: dateFormat var scheduleObj = new ej.schedule.Schedule({dateFormat: "yyyy/MM/dd"});scheduleObj.appendTo('#Schedule');
|
| Date header template |
Property: dateHeaderTemplateId $("#Schedule").ejSchedule({dateHeaderTemplateId: "#dateHeaderTemplate"});
|
Property: dateHeaderTemplate var scheduleObj = new ej.schedule.Schedule({dateHeaderTemplate: "#dateHeaderTemplate"});scheduleObj.appendTo('#Schedule');
|
| Editor template | Not Applicable |
Property: editorTemplate var scheduleObj = new ej.schedule.Schedule({editorTemplate: "#editorTemplate"});scheduleObj.appendTo('#Schedule');
|
| Enable load on demand |
Property: enableLoadOnDemand $("#Schedule").ejSchedule({enableLoadOnDemand: true});
|
Not applicable |
| Enable persistence |
Property: enablePersistence $("#Schedule").ejSchedule({enablePersistence: true});
|
Property: enablePersistence var scheduleObj = new ej.schedule.Schedule({enablePersistence: true});
|
| Enable RTL |
Property: enableRTL $("#Schedule").ejSchedule({enableRTL: true});
|
Property: enableRTL var scheduleObj = new ej.schedule.Schedule({enableRTL: true});scheduleObj.appendTo('#Schedule');
|
| Setting end hour of the scheduler |
Property: endHour $("#Schedule").ejSchedule({endHour: 18});
|
Property: endHour var scheduleObj = new ej.schedule.Schedule({endHour: '20:00'});scheduleObj.appendTo('#Schedule');
|
| Setting first day of the week |
Property: firstDayOfWeek $("#Schedule").ejSchedule({firstDayOfWeek: "Monday"});
|
Property: firstDayOfWeek var scheduleObj = new ej.schedule.Schedule({firstDayOfWeek: 1});scheduleObj.appendTo('#Schedule');
|
| Height of the scheduler |
Property: height $("#Schedule").ejSchedule({height: "550px"});
|
Property: height var scheduleObj = new ej.schedule.Schedule({height: '550px'});scheduleObj.appendTo('#Schedule');
|
| Locale |
Property: locale $("#Schedule").ejSchedule({locale: "fr-FR" });
|
Property: locale var scheduleObj = new ej.schedule.Schedule({locale: 'fr-FR'});scheduleObj.appendTo('#Schedule');
|
| Priority settings for appointments |
Property: PrioritySettings $("#Schedule").ejSchedule({PrioritySettings: {enable: true,dataSource: [text: "text",value: "value"});
|
Not applicable |
| Read only |
Property: readOnly $("#Schedule").ejSchedule({readOnly: true});
|
Property: readonly var scheduleObj = new ej.schedule.Schedule({readonly: true});scheduleObj.appendTo('#Schedule');
|
| Reminder settings |
Property: reminderSettings $("#Schedule").ejSchedule({reminderSettings: {enable: true,alertBefore: 10});
|
Not applicable |
| Resource header template |
Property: resourceHeaderTemplateId $("#Schedule").ejSchedule({resourceHeaderTemplateId: "#resTemplate",group: {resources: ["Rooms"]},resources: [{field: "roomId",title: "Room",name: "Rooms", allowMultiple: false,resourceSettings: {dataSource: [{ text: "ROOM", id: 2, color: "#56ca85"}],text: "text", id: "id", color: "color"}}],});
|
Property: resourceHeaderTemplate var scheduleObj = new ej.schedule.Schedule({resourceHeaderTemplate: '#resTemplate',group: {resources: ['Owners']},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Current date of the scheduler |
Property: currentDate $("#Schedule").ejSchedule({currentDate: new Date(2014,4,5)});
|
Property: selectedDate var scheduleObj = new ej.schedule.Schedule({selectedDate: new Date(2014,4,5)});scheduleObj.appendTo('#Schedule');
|
| Show all day row |
Property: showAllDayRow $("#Schedule").ejSchedule({showAllDayRow: false});
|
Not applicable |
| Show appointment navigator |
Property: showAppointmentNavigator $("#Schedule").ejSchedule({showAppointmentNavigator: false});
|
Not applicable |
| Show delete confirmation dialog |
Property: showDeleteConfirmationDialog $("#Schedule").ejSchedule({showDeleteConfirmationDialog: false});
|
Not applicable |
| Show header bar |
Property: showHeaderBar $("#Schedule").ejSchedule({showHeaderBar: false});
|
Property: showHeaderBar var scheduleObj = new ej.schedule.Schedule({showHeaderBar: false});scheduleObj.appendTo('#Schedule');
|
| Show location field in event window |
Property: showLocationField $("#Schedule").ejSchedule({showLocationField: false});
|
Not applicable |
| Show time zone fields in event window |
Property: showTimeZoneFields $("#Schedule").ejSchedule({showTimeZoneFields: false});
|
Not applicable |
| Show previous and next month dates in month view |
Property: showNextPrevMonth $("#Schedule").ejSchedule({showNextPrevMonth: false});
|
Not applicable |
| Show overflow button |
Property: showOverflowButton $("#Schedule").ejSchedule({showOverflowButton: false});
|
Property: rowAutoHeight var scheduleObj = new ej.schedule.Schedule({rowAutoHeight: true});scheduleObj.appendTo('#Schedule');
|
| Show quick popup |
Property: showQuickWindow $("#Schedule").ejSchedule({showQuickWindow: false});
|
Property: showQuickInfo var scheduleObj = new ej.schedule.Schedule({showQuickInfo: false});scheduleObj.appendTo('#Schedule');
|
| Show current time indicator |
Property: showCurrentTimeIndicator $("#Schedule").ejSchedule({showCurrentTimeIndicator: false});
|
Property: showTimeIndicator var scheduleObj = new ej.schedule.Schedule({showTimeIndicator: false});scheduleObj.appendTo('#Schedule');
|
| Show week number | Not Applicable |
Property: showWeekNumber var scheduleObj = new ej.schedule.Schedule({showWeekNumber: false});scheduleObj.appendTo('#Schedule');
|
| Show weekend days |
Property: showWeekend $("#Schedule").ejSchedule({showWeekend: false});
|
Property: showWeekend var scheduleObj = new ej.schedule.Schedule({showWeekend: false});scheduleObj.appendTo('#Schedule');
|
| Setting start hour of the scheduler |
Property: startHour $("#Schedule").ejSchedule({startHour:9});
|
Property: startHour var scheduleObj = new ej.schedule.Schedule({startHour:'09:00'});scheduleObj.appendTo('#Schedule');
|
| Setting time mode on scheduler |
Property: timeMode $("#Schedule").ejSchedule({timeMode:ej.Schedule.TimeMode.Hour24});
|
not applicable |
| Setting timezone for scheduler |
Property: timeZone $("#Schedule").ejSchedule({timeZone: "UTC -5:00"});
|
Property: timezone var scheduleObj = new ej.schedule.Schedule({timezone:'UTC'});scheduleObj.appendTo('#Schedule');
|
| Views in scheduler |
Property: views $("#Schedule").ejSchedule({views: ["Day", "Week", "WorkWeek", "Month"]});
|
Property: views var scheduleObj = new ej.schedule.Schedule({views: ['Day','Week','WorkWeek','Month']});scheduleObj.appendTo('#Schedule');
|
| Width of the scheduler |
Property: width $("#Schedule").ejSchedule({width: "100%"});
|
Property: width var scheduleObj = new ej.schedule.Schedule({width:'100%'});scheduleObj.appendTo('#Schedule');
|
| Working days |
Property: workWeek $("#Schedule").ejSchedule({workWeek:["Tuesday", "Wednesday", "Thursday", "Friday","Saturday"]});
|
Property: workDays var scheduleObj = new ej.schedule.Schedule({workDays:[1,3,5]});scheduleObj.appendTo('#Schedule');
|
| Working hours |
Property: workHours $("#Schedule").ejSchedule({workHours:{highlight: true,start: 8,end: 18}});
|
Property: workHours var scheduleObj = new ej.schedule.Schedule({workHours: { highlight: true, start: '08:00', end: '18:00' }});scheduleObj.appendTo('#Schedule');
|
Resources
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| To group the resources in scheduler layout |
Property: resources $("#Schedule").ejSchedule({group: {resources: ["Rooms"]},resources: [{field: "roomId",title: "Room",name: "Rooms", allowMultiple: false,resourceSettings: {dataSource: [{ text: "ROOM", id: 2, color: "#56ca85"}],text: "text", id: "id", color: "color"}}],});
|
Property: resources var scheduleObj = new ej.schedule.Schedule({group: {resources: ['Owners']},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Allowing multiple selection of resources in event window |
Property: allowMultiple $("#Schedule").ejSchedule({group: {resources: ["Rooms"]},resources: [{field: "roomId",title: "Room",name: "Rooms", allowMultiple: false,resourceSettings: {dataSource: [{ text: "Room3", id: 3, groupId: 2, color: "#56ac88", start: "10", end: "15", workWeek: ["sunday","saturday"] }],text: "text", id: "id", color: "color", groupId: "groupId", start: "start", end: "end", workWeek: "workWeek"}}],});
|
Property: allowMultiple var scheduleObj = new ej.schedule.Schedule({group: {resources: ['Projects', 'Categories']},resources: [{field: 'ProjectId', title: 'Choose Project', name: 'Projects',dataSource: [{ text: 'PROJECT 1', id: 2, color: '#56ca85' }],textField: 'text', idField: 'id', colorField: 'color'}, {field: 'CategoryId', title: 'Category',name: 'Categories', allowMultiple: true,dataSource: [{ text: 'Testing', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Setting different work hours for each resource |
$("#Schedule").ejSchedule({group: {resources: ["Rooms,Owners"]},resources: [{field: "roomId",title: "Room",name: "Rooms", allowMultiple: false,resourceSettings: {dataSource: [{ text: "Room3", id: 3, groupId: 2, color: "#56ac88", start: "10", end: "15", workWeek: ["sunday","saturday"] }],text: "text", id: "id", groupId: "groupId", color: "color", start: "WorkHourStart" end: "WorkHourEnd" workWeek: "CustomDays"},resources: [{field: "ownerId",title: "Owner",name: "Owners", allowMultiple: false,resourceSettings: {dataSource: [{ text: "Margaret", id: 1, groupId: 1, color: '#1aaa55' }],text: "text", id: "id", groupId: "groupId", color: "color"}}],});
|
var scheduleObj = new ej.schedule.Schedule({group: {resources: ['Projects', 'Categories']},resources: [{field: 'ProjectId', title: 'Choose Project', name: 'Projects',dataSource: [{ text: "Project3", id: 3, groupId: 2, color: "#56ac88", start: "10:00", end: "15:00", workWeek: [1, 2] }],textField: 'text', idField: 'id', colorField: 'color'}, {field: 'CategoryId', title: 'Category',name: 'Categories', allowMultiple: true,dataSource: [{ text: "Testing", id: 3, groupId: 2, color: "#56ac88", start: "10:00", end: "15:00", workWeek: [2,6] }],textField: 'text', idField: 'id', colorField: 'color', workDaysField: 'workDays' startHourField: 'startHour', endHourField: 'endHour'}],views: ['Week', 'Month']});scheduleObj.appendTo('#Schedule');
|
Group
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| Resources |
Property: resources $("#Schedule").ejSchedule({group: {resources: ["Rooms"]},resources: [{field: "roomId",title: "Room",name: "Rooms", allowMultiple: false,resourceSettings: {dataSource: [{ text: "ROOM", id: 2, color: "#56ca85"}],text: "text", id: "id", color: "color"}}],});
|
Property: resources var scheduleObj = new ej.schedule.Schedule({group: {resources: ['Owners']},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Allow group editing |
Property: allowGroupEditing $("#Schedule").ejSchedule({group: {resources: ["Rooms"],allowGroupEditing: true},resources: [{field: "roomId",title: "Room",name: "Rooms", allowMultiple: false,resourceSettings: {dataSource: [{ text: "ROOM1", id: 1,color: "#f8a398" },{ text: "ROOM2", id: 2, color: "#56ca85"}],text: "text", id: "id", color: "color"}}],});
|
Property: allowGroupEdit var scheduleObj = new ej.schedule.Schedule({group: {resources: ['Owners'],allowGroupEdit: true},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Grouping resources by date | Not applicable |
Property: byDate var scheduleObj = new ej.schedule.Schedule({group: {byDate: true,resources: ['Owners']},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Grouping resources based on its group ID | Not applicable |
Property: byGroupId var scheduleObj = new ej.schedule.Schedule({group: {byGroupId: true,resources: ['Rooms', 'Owners']},resources: [{field: 'RoomId', title: 'Room',name: 'Rooms', allowMultiple: false,dataSource: [{ text: 'Room 1', id: 1, color: '#7fa900' },{ text: 'Room 2', id: 2, color: '#56ca85' }],textField: 'text', idField: 'id', colorField: 'color'},{byGroupId: true,resources: ['Rooms', 'Owners']},resources: [{field: 'OwnerId', title: 'Owner',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Nancy', id: 1, groupId: 1, color: '#7fa900' },{ text: 'Steven', id: 2, groupId: 2, color: '#56ca85' },{ text: 'Michael', id: 3, groupId: 2, color: '#7499e1' }],textField: 'text', idField: 'id',groupIDField: 'groupId', colorField: 'color'}]});scheduleObj.appendTo('#Schedule');
|
| Enabling compact view on mobile mode | Not applicable |
Property: enableCompactView var scheduleObj = new ej.schedule.Schedule({group: {enableCompactView: false,resources: ['Owners']},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
| Header tooltip template | Not applicable |
Property: headerTooltipTemplate var scheduleObj = new ej.schedule.Schedule({group: {headerTooltipTemplate: '#resourceHeader',resources: ['Owners']},resources: [{field: 'TaskId', title: 'Assignee',name: 'Owners', allowMultiple: true,dataSource: [{ text: 'Smith', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],});scheduleObj.appendTo('#Schedule');
|
Header Rows
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| Adding custom rows in the header in timeline views | Not applicable |
Property: HeaderRows var scheduleObj = new ej.schedule.Schedule({headerRows: [{ option: 'Month', template: '#month-template' },{ option: 'Week', template: '#week-template' },{ option: 'Date' }],views: [{ option: 'TimelineMonth', interval: 12 }],});scheduleObj.appendTo('#Schedule');
|
TimeScale
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| Enabling time scale |
Property: enable $("#Schedule").ejSchedule({timeScale:{enable: true}});
|
Property: enable var scheduleObj = new ej.schedule.Schedule({timeScale:{enable: true}});scheduleObj.appendTo('#Schedule');
|
| Setting major interval on time scale |
Property: majorSlot $("#Schedule").ejSchedule({timeScale:{enable: true,majorSlot: 60}});
|
Property: interval var scheduleObj = new ej.schedule.Schedule({enable: true,interval: 60}});scheduleObj.appendTo('#Schedule');
|
| Setting slot count on time scale |
Property: minorSlotCount $("#Schedule").ejSchedule({timeScale:{enable: true,majorSlot: 60,minorSlotCount:3}});
|
Property: slotCount var scheduleObj = new ej.schedule.Schedule({timeScale:{enable: true,interval: 60,slotCount: 6}});scheduleObj.appendTo('#Schedule');
|
| Defining major slot template |
Property: majorSlotTemplateId $("#Schedule").ejSchedule({timeScale:{enable: true,majorSlot: 60,minorSlotCount:6,majorSlotTemplateId: "#majorSlotTemplate"}});
|
Property: majorSlotTemplate var scheduleObj = new ej.schedule.Schedule({timeScale:{enable: true,interval: 60,slotCount: 6,majorSlotTemplate: '#majorSlotTemplate'}});scheduleObj.appendTo('#Schedule');
|
| Defining minor slot template |
Property: minorSlotTemplateId $("#Schedule").ejSchedule({timeScale:{enable: true,majorSlot: 60,minorSlotCount:6,minorSlotTemplateId: "#minorSlotTemplate"}});
|
Property: minorSlotTemplate var scheduleObj = new ej.schedule.Schedule({enable: true,interval: 60,slotCount: 6,minorSlotTemplate: '#minorSlotTemplate'}});scheduleObj.appendTo('#Schedule');
|
Quick info templates
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| Template for quick popup | Not applicable |
Property: quickInfoTemplates var scheduleObj = new ej.schedule.Schedule({quickInfoTemplates: {header: '#headerTemplate',content:'#contentTemplate',footer: '#footerTemplate'}});scheduleObj.appendTo('#Schedule');
|
Event settings
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| Datasource for events |
Property: dataSource $("#Schedule").ejSchedule({appointmentSettings: {dataSource: Appoint,id: "Id",subject: "Subject",startTime: "StartTime",endTime: "EndTime",description: "Description",allDay: "AllDay",recurrence: "Recurrence",recurrenceRule: "RecurrenceRule"}});
|
Property: dataSource var scheduleObj = new ej.schedule.Schedule({eventSettings: { dataSource: data }});scheduleObj.appendTo('#Schedule');
|
| Appointment fields |
$("#Schedule").ejSchedule({appointmentSettings: {id: "Id",subject: "Subject",startTime: "StartTime",endTime: "EndTime",description: "Description",allDay: "AllDay",recurrence: "Recurrence",recurrenceRule: "RecurrenceRule"}});
|
Property: eventsSettings var scheduleObj = new ej.schedule.Schedule({dataSource: data,fields: {id: 'id',subject: { name: 'Subject', default: 'New title', title: 'New Event', validation: ValidationRules },location: { name: 'Location' },description: {name: 'Description' },startTime: {name: 'StartTime' },endTime: {name: 'EndTime' },recurrenceID: {name: 'Recurrence' },recurrenceRule : {name: 'Recurrence' },recurrenceException: {name: 'EndTime' },startTimezone: {name: 'StartTime' },endTimezone: {name: 'EndTime' }}});scheduleObj.appendTo('#Schedule');
|
| Enabling tooltip for appointments |
Property: enable $("#Schedule").ejSchedule({tooltipSettings: {enable: true}});Note: Here tooltip setting for events is maintained separately
|
Property: enableTooltip var scheduleObj = new ej.schedule.Schedule({eventSettings: {dataSource: data,enableTooltip: true}});scheduleObj.appendTo('#Schedule');
|
| Tooltip template for appointments |
Property: templateId $("#Schedule").ejSchedule({tooltipSettings: {enable: true,templateId:"#tooltip"}});Note: Here tooltip setting for events is maintained separately
|
Property: tooltipTemplate var scheduleObj = new ej.schedule.Schedule({eventSettings: {dataSource: data,enableTooltip: true,tooltipTemplate: '#template'}});scheduleObj.appendTo('#Schedule');
|
| Template for appointments |
Property: appointmentTemplateId $("#Schedule").ejSchedule({appointmentTemplateId:"#appTemplate",appointmentSettings: {dataSource: data}});Note: Here appointment template is used as simple API
|
Property: template var scheduleObj = new ej.schedule.Schedule({eventSettings: {dataSource: data,template: '#eventTemplate'}});scheduleObj.appendTo('#Schedule');
|
| Query |
Property: query var dataManager = ej.DataManager({url: "http://mvc.syncfusion.com/OdataServices/Northwnd.svc",crossDomain: true});var query = ej.Query().from("Events").take(10);$("#Schedule").ejSchedule({appointmentSettings: {dataSource: dataManager,query: query}});
|
Property: query var dataManger = new DataManager({url:'https://ej2services.syncfusion.com/production/web-services/api/Schedule',adaptor: new ODataAdaptor});var scheduleObj = new ej.schedule.Schedule({eventSettings: { dataSource: dataManger, query: new Query().addParams('ej2schedule', 'true')}});scheduleObj.appendTo('#Schedule');
|
| Define which resource level color applied to events | Not applicable |
Property: resourceColorField var scheduleObj = new ej.schedule.Schedule({group: {resources: ['Projects', 'Categories']},resources: [{field: 'ProjectId', title: 'Choose Project', name: 'Projects',dataSource: [{ text: 'PROJECT 1', id: 2, color: '#56ca85' }],textField: 'text', idField: 'id', colorField: 'color'}, {field: 'CategoryId', title: 'Category',name: 'Categories', allowMultiple: true,dataSource: [{ text: 'Testing', id: 2, color: '#7fa900' }],textField: 'text', idField: 'id', colorField: 'color'}],eventSettings: { resourceColorField: 'Projects' }});scheduleObj.appendTo('#Schedule');
|
Methods
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| To add appointments manually |
Method: saveAppointment() $('#Schedule').ejSchedule();var data = {Id: 1,Subject: "Testing",StartTime: new Date(2014, 4, 5, 10, 00),EndTime: new Date(2014, 4, 5, 12, 00)};var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.saveAppointment(data); |
Method: addEvent() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleObj.addEvent({ Id: 1,Subject: "New Event",StartTime: new Date(2014, 4, 5, 10, 00),EndTime: new Date(2014, 4, 5, 12, 00)}); |
| To add resources dynamically |
Method: addResource() $("#Schedule").ejSchedule();var data = { text: "Paul", id: 1, groupId: 3, color: "#cc99ff" }; var index = 0; var scheduleobj = $("#Schedule").data("ejSchedule"); scheduleobj.addResource(data, "Owners", index);
|
Method: addResource() var data = { text: "Paul", id: 1, groupId: 3, color: "#cc99ff" }; var index = 0; var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleobj.addResource(data, "Owners", index));
|
| databind | Not applicable |
Method: dataBind() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.currentView = 'Month'; scheduleobj.dataBind(); |
| Delete appointment manually |
Method: deleteAppointment() $("#Schedule").ejSchedule();var data = {Id: 1,Subject: "Testing",StartTime: new Date(2014, 4, 5, 10, 00),EndTime: new Date(2014, 4, 5, 12, 00)};var scheduleobj = $("#Schedule").data("ejSchedule"); schObj.deleteAppointment(data);
|
Method: deleteEvent() var data = {Id: 1,Subject: "Testing",StartTime: new Date(2014, 4, 5, 10, 00),EndTime: new Date(2014, 4, 5, 12, 00)};var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleobj.deleteEvent(data);
|
| destroy scheduler |
Method: destroy() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule"); schObj.destroy();
|
Method: destroy() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleObj.destroy();
|
| Get cell details |
Method: getSlotByElement() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule"); var $td = $(".e-draggableworkarea table tr td").first();var slotDetails = obj.getSlotByElement($td);
|
Method: getCellDetails() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var td = document.querySelector(".e-work-cells"); var cellDetail = scheduleobj.getCellDetails(td); |
| Get current view appointments |
Method: getCurrentViewAppointments() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule"); var currApp= scheduleobj.getCurrentViewAppointments();
|
Method: getCurrentViewEvents() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var currApp = scheduleobj.getCurrentViewEvents();
|
| Get entire appointment collection |
Method: getAppointments() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule"); var AppDetails = scheduleobj.getAppointments(); |
Method: getEvents() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var AppDetails = scheduleobj.getEvents();
|
| Get current view dates | Not applicable |
Method: getCurrentViewDates() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var AppDetails = scheduleobj.getCurrentViewDates();
|
| Get event details | Not applicable |
Method: getEventDetails() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var AppDetails = scheduleobj.getEventDetails(appElement); |
| Get occurrences using event ID | Not applicable |
Method: getOccurrencesByID() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var recCollection = scheduleobj.getOccurrencesByID(1); |
| Get occurrences in the provided date range | Not applicable |
Method: getOccurrencesByRange() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var sDate = new Date(2018, 1, 12); var eDate = new Date(2018, 1, 17); var resCollection = scheduleobj.getOccurrencesByRange(sDate, eDate);
|
| Get resource details using index | Not applicable |
Method: getResourceByIndex() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var resCollection = scheduleobj.getResourceByIndex(2);
|
| Show spinner | Not applicable |
Method: showSpinner() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.showSpinner();
|
| Hide spinner | Not applicable |
Method: hideSpinner() var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleobj.hideSpinner();
|
| Check whether the time slot is available | Not applicable |
Method: isSlotAvailble() var scheduleobj= document.getElementById('schedule').ej2_instances[0]; var sTime = new Date(2018, 1, 14, 09, 30); var etime = new Date(2018, 1, 14, 10, 30); var resCollection = scheduleobj.isSlotAvailble(sTime, eTime);
|
| Open the event window manually | Not applicable |
Method: openEditor() var scheduleobj= document.getElementById('schedule').ej2_instances[0];var $td = document.querySelector(".e-content-table tbody tr td");var cellDetail = scheduleobj.getCellDetails($td);scheduleobj.openEditor(cellDetail);
|
| Refresh the scheduler |
Method: refresh() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule"); scheduleobj.refresh();
|
Method: refresh() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.refresh();
|
| Refresh the events |
Method: refreshAppointments() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.refreshAppointments();
|
Method: refreshEvents() var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleobj.refreshEvents();
|
| Refresh the scroller |
Method: refreshScroller() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.refreshScroller();
|
Not Applicable |
| To remove resources dynamically |
Method: removeResource() $("#Schedule").ejSchedule();var resID = 1;var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.removeResource(resID, "Owners");
|
Method: removeResource() var data = { text: "Paul", id: 3, groupId: 1, color: "#cc99ff" };var index = 0;var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.removeResource(index, "Owners", );
|
| Export scheduler as PDF |
Method: exportSchedule() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.exportSchedule("ActionName","null", null); |
Not Applicable |
| Export scheduler events to ICS |
Method: exportSchedule() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.exportSchedule("ActionName", "ExportToICS", null); |
Method: exportToICalendar() var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleObj.exportToICalendar();
|
| Import scheduler events from ICS | Not Applicable |
Method: importICalendar() var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleObj.importICalendar();
|
| Export scheduler appointments in Excel file |
Method exportToExcel() var scheduleobj= $("#schedule").ejSchedule(instance); scheduleobj.exportToExcel("ActionName", null, true);
|
Method: exportToExcel() var scheduleobj= document.getElementById('schedule').ej2_instances[0]; scheduleObj.exportToExcel();
|
| Print the scheduler |
Method: print() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");scheduleobj.print(); |
Not Applicable |
| Filter appointments |
Method: filterAppointments() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");var filter = [{ field: "Subject", operator: "contains", value: "with", predicate: "or" }];var filteredApp = scheduleobj.filterAppointments(filter);
|
Not Applicable |
| Search appointments |
Method: searchAppointments() $("#Schedule").ejSchedule();var scheduleobj = $("#Schedule").data("ejSchedule");var searchApp = scheduleobj.searchAppointments("with");
|
Not Applicable |
| To edit appointments manually | Not applicable |
Method: saveEvent() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.saveEvent({Id: 1,Subject: 'Event edited',StartTime: new Date(2018, 7, 31, 10, 30),EndTime: new Date(2018, 7, 31, 12, 0)});
|
| Setting work hours | Not applicable |
Method: setWorkHours() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.setWorkHours([new Date(2017, 9, 5)], '04:00', '08:00');
|
| Scrolling to specific time | Not applicable |
Method: scrollTo() var scheduleobj= document.getElementById('schedule').ej2_instances[0];scheduleobj.scrollTo('12:00');
|
Events
| Behavior | API in Essential® JS 1 | API in Essential® JS 2 |
|---|---|---|
| Fires on the beginning of each scheduler action |
Event: actionBegin $("#Schedule").ejSchedule({ actionBegin: function OnActionBegin (args){} });
|
Event: actionBegin var schObj = new ej.schedule.Schedule({ actionBegin: function onActionBegin(args) {}});
|
| Fires on the completion of each scheduler action |
Event: actionComplete $("#Schedule").ejSchedule({ actionComplete: function onActionComplete (args){} }); |
Event: actionComplete var schObj = new ej.schedule.Schedule({ actionComplete: function onActionComplete (args) {} });
|
| Fires when the scheduler action gets failed | Not applicable |
Event: actionFailure var schObj = new ej.schedule.Schedule({ actionFailure: function onActionFailure(args) {} });
|
| Fires on appointment hover |
Event: appointmentHover $("#Schedule").ejSchedule({ appointmentHover: function onAppointmentHover (args) {} });
|
Not applicable |
| Fires before an appointment gets created |
Event: beforeAppointmentCreate $("#Schedule").ejSchedule({ beforeAppointmentCreate: function OnBeforeAppointmentCreate (args){} });
|
Event: actionBegin var schedule = new ej.schedule.Schedule({ actionBegin: function onActionBegin(args) { if(args.requestType == 'eventCreate') {} } });
|
| Fires before an appointment gets edited |
Event: beforeAppointmentChange $("#Schedule").ejSchedule({ beforeAppointmentChange: function OnBeforeAppointmentChange (args){} });
|
Event: actionBegin var schedule = new ej.schedule.Schedule({ actionBegin: function onActionBegin(args) { if(args.requestType == 'eventChange') {} } });
|
| Fires before an appointment gets deleted |
Event: beforeAppointmentRemove $("#Schedule").ejSchedule({ beforeAppointmentRemove: function OnBeforeAppointmentRemove (args){} });
|
Event: actionBegin var schedule = new ej.schedule.Schedule({ actionBegin: function onActionBegin(args) { if(args.requestType == 'eventRemove') {} } });
|
| Fires before the context menu opens on scheduler |
Event: beforeContextMenuOpen $("#Schedule").ejSchedule({ beforeContextMenuOpen: function OnBeforeContextMenuOpen (args){} });
|
Not applicable |
| Fires on cell click |
Event: cellClick $("#Schedule").ejSchedule({ cellClick: function onCellClick (args){} });
|
Event: cellClick var schObj = new ej.schedule.Schedule({ cellClick: function onCellClick (args) {} });
|
| Fires on cell double click |
Event: cellDoubleClick $("#Schedule").ejSchedule({ cellDoubleClick: function oncellDoubleClick (args){} });
|
Event: cellDoubleClick var schObj = new ej.schedule.Schedule({ cellDoubleClick: function oncellDoubleClick (args) {} });
|
| Fires on cell hover |
Event: CellHover $("#Schedule").ejSchedule({ CellHover: function onCellHover (args){} });
|
|
| Fires once the scheduler is created |
Event: create $("#Schedule").ejSchedule({ Create: function onCreate (args){} });
|
Event: created var schObj = new ej.schedule.Schedule({ created: function oncreated (args) {} });
|
| Fires on data binding action | Not applicable |
Event: dataBinding var schObj = new ej.schedule.Schedule({ dataBinding: function onDataBinding (args) {} });
|
| Fires after the data is bound to the control | Not applicable |
Event: dataBound var schObj = new ej.schedule.Schedule({ dataBinding: function onDataBound (args) {} });
|
| Fires once the scheduler is destroyed |
Event: destroy $("#Schedule").ejSchedule({ destroy: function onDestroy (args){} });
|
Event: destroyed var schObj = new ej.schedule.Schedule({ destroyed: function onDestroyed (args) {} });
|
| Fires on event click |
Event: appointmentClick $("#Schedule").ejSchedule({ appointmentClick: function onAppointmentClick (args) {} });
|
Event: eventClick var schObj = new ej.schedule.Schedule({ eventClick: function onAppointmentClick(args) {} });
|
| Fires on event double click |
Event: appointmentDoubleClick $("#Schedule").ejSchedule({ appointmentDoubleClick: function onappointmentDoubleClick (args) {} });
|
Not applicable |
| Fires for keyboard actions |
Event: keyDown $("#Schedule").ejSchedule({ keyDown: function onKeyDown (args) {} });
|
Not applicable |
| Fires on context menu item click |
Event: menuItemClick $("#Schedule").ejSchedule({ menuItemClick: function onMenuItemClick (args) {} });
|
Not applicable |
| Fires on navigation |
Event: navigation $("#Schedule").ejSchedule({ navigation: function onNavigation (args) {} });
|
Event: navigating var schObj = new ej.schedule.Schedule({ navigating: function onNavigating(args) {} });
|
| Fires on popup open |
Event: appointmentWindowOpen $("#Schedule").ejSchedule({ appointmentWindowOpen: function onAppointmentWindowOpen (args) {} });
|
Event: popupOpen var schObj = new ej.schedule.Schedule({ popupOpen: function onPopupOpen(args) {} });
|
| Fires on dragging event |
Event: drag $("#Schedule").ejSchedule({ drag: function onDrag(args) {} });
|
Event: drag var schObj = new ej.schedule.Schedule({ drag: function onDrag(args) {} });
|
| Fires on drag start |
Event: dragStart $("#Schedule").ejSchedule({ dragStart: function onDragStart(args) {} });
|
Event: dragStart var schObj = new ej.schedule.Schedule({ dragStart: function onDragStart(args) {} });
|
| Fires on drag stop |
Event: dragStop $("#Schedule").ejSchedule({ dragStop: function onDragStop(args) {} });
|
Event: dragStop var schObj = new ej.schedule.Schedule({ dragStop: function onDragStop(args) {} });
|
| Fires on overflow button click |
Event: overflowButtonClick $("#Schedule").ejSchedule({ overflowButtonClick: function onOverflowButtonClick(args) {} });
|
Event: popupOpen var schedule = new ej.schedule.Schedule({ popupOpen: function onPopupOpen(args) { if(args.requestType == 'EventContainer') {} } });
|
| Fires on overflow button hover |
Event: overflowButtonHover $("#Schedule").ejSchedule({ overflowButtonHover: function onOverflowButtonHover(args) {} });
|
Not applicable |
| Fires when the reminder action takes place |
Event: reminder $("#Schedule").ejSchedule({ reminder: function onReminder(args) {} });
|
Not applicable |
| Fires on resizing event |
Event: resize $("#Schedule").ejSchedule({ resize: function onResize(args) {} });
|
Event: resize var schObj = new ej.schedule.Schedule({ resize: function onResize(args) {} });
|
| Fires on resize start |
Event: resizeStart $("#Schedule").ejSchedule({ resizeStart: function onResizeStart(args) {} });
|
Event: resizeStart var schObj = new ej.schedule.Schedule({ resizeStart: function onResizeStart (args) {} });
|
| Fires on resize stop |
Event: resizeStop $("#Schedule").ejSchedule({ resizeStop: function onResizeStop(args) {} });
|
Event: resizeStop var schObj = new ej.schedule.Schedule({ resizeStop: function onResizeStop (args) {} });
|
| Fires on rendering of every scheduler elements |
Event: queryCellInfo $("#Schedule").ejSchedule({ queryCellInfo: function onQueryCellInfo (args) {} |
Event: renderCell var schObj = new ej.schedule.Schedule({ renderCell: function onRenderCell (args) {} });
|
| Fires before the event rendering on UI | Not applicable |
Event: eventRendered var schObj = new ej.schedule.Schedule({ eventRendered: function onEventRendered (args) {} });
|
Refer to our JavaScript Scheduler feature tour page for comprehensive feature demonstrations. You can also explore the JavaScript Scheduler example to learn how to present and manipulate data.