|
<div class="control-section">
<div class="schedule-wrapper">
<ejs-schedule id="schedule" height="650px" selectedDate="new DateTime(2019, 1, 10)" popupOpen="onPopupOpen">
<e-schedule-eventsettings dataSource="@ViewBag.appointments"></e-schedule-eventsettings>
</ejs-schedule>
</div>
<div>
<ejs-contextmenu id="contextmenu" cssClass="schedule-context-menu" target=".e-schedule" items="ViewBag.menuItems" beforeOpen="onContextMenuBeforeOpen" select="onMenuItemSelect">
</ejs-contextmenu>
</div>
</div>
<script type="text/javascript">
var selectedTarget;
function onPopupOpen(args) {
if (args.type === 'Editor') {
alert("popupOpen event triggered");
}
}
function onContextMenuBeforeOpen(args) {
var newEventElement = document.querySelector('.e-new-event');
if (newEventElement) {
ej.base.remove(newEventElement);
ej.base.removeClass([document.querySelector('.e-selected-cell')], 'e-selected-cell');
}
var targetElement = args.event.target;
if (ej.base.closest(targetElement, '.e-contextmenu')) {
return;
}
selectedTarget = ej.base.closest(targetElement, '.e-work-cells,.e-vertical-view .e-date-header-wrap .e-all-day-cells');
if (ej.base.isNullOrUndefined(selectedTarget)) {
args.cancel = true;
return;
}
this.showItems(['Add'], true);
}
function onMenuItemSelect(args) {
var scheduleObj = document.querySelector(".e-schedule").ej2_instances[0];
var selectedCells = scheduleObj.getSelectedElements();
var activeCellsData = scheduleObj.getCellDetails(selectedCells.length > 0 ? selectedCells : selectedTarget);
// The openEditor method triggers the popupOpen event
scheduleObj.openEditor(activeCellsData, 'Add');
}
</script> |
|
function onMenuItemSelect(args) {
var scheduleObj = document.querySelector(".e-schedule").ej2_instances[0];
var selectedCells = scheduleObj.getSelectedElements();
var activeCellsData = scheduleObj.getCellDetails(selectedCells.length > 0 ? selectedCells : selectedTarget);
// You can get resource detail here
let resourceIndex = scheduleObj.getCellDetails(selectedTarget).groupIndex;
let resourceDetail = scheduleObj.getResourcesByIndex(resourceIndex).resourceData;
console.log(resourceDetail);
// The openEditor method triggers the popupOpen event
// The groupIndex propery available on the activeCellsData allows schedule to find which resource cells is clicked and event added to that resource
scheduleObj.openEditor(activeCellsData, 'Add');
} |