am trying to fetch all single day event from SharePoint calendar list and want to display all these single date's events into the single row of html table inside based on appropriate condition
i tried something as bellow
var ctx = new SP.ClientContext(appWebUrl);//Get the SharePoint Context object based upon the URL
var myList = ctx.get_web().get_lists().getByTitle("MyList");
function retrieveBookingDetails(Date) {
var query = new SP.CamlQuery();
query.set_viewXml('<View><Where><eq><FieldRef Name=\'EventDate\'/><Value Type=\'DateTime\'IncludeTimeValue=\'FALSE\' >' + Date + '</Value></eq>" + "</Where></View>');
var items = myList.getItems(query);
ctx.load(items);
//ctx.load(myList);
ctx.executeQueryAsync(onQuerySucceeded, onQueryFailed);
function onQuerySucceeded() {
retrieveItems(items);
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() +
'\n' + args.get_stackTrace());
}
}
function retrieveItems(items) {
var enumerator = items.getEnumerator();
var innerHtml = "<table border=1 class='display nowrap dataTable dtr-inline'><thead><tr><th> Class Name</th><th>8:00-9:00</th><th>9:00-10:00</th><th>10:00-11:00</th><th>11:00-12:00</th><th>12:00-13:00</th></tr></thead> ";
var count = 0;
var count = items.get_count();
var rowcount = myList.get_itemCount();
var rows = 0;
var strttandend;
innerHtml += "<tbody>"
//do label:{
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
innerHtml += "<tr><td class=classname id=" + currentListItem.get_item('ID') + ">" + currentListItem.get_item('RName') + "</td>";
for (var c = 1; c <= 5; c++) {
var startdte = currentListItem.get_item('EventDate').toString().split(" ");
var startdte_time = startdte[4].toString().split(":");
var enddte = currentListItem.get_item('EndDate').toString().split(" ");
var enddte_time = enddte[4].toString().split(":");
strttandend = startdte_time[0] + ":" + startdte_time[1] + "-" + enddte_time[0] + ":" + enddte_time[1];
switch (c) {
case 1: if (strttandend === "08:00-09:00") {
innerHtml += "<td class='alertShow held'></td>"
break;
}
else {
innerHtml += "<td class='alertShow'></td>"
}
break;
case 2: if (strttandend === "09:00-10:00") {
innerHtml += "<td class='alertShow held
}
else {
innerHtml += "<td class='alertShow'></td>"
}
break;
case 3: if (strttandend === "10:00-11:00") {
innerHtml += "<td class='alertShow held'></td>"
}
else {
innerHtml += "<td class='alertShow '></td>"
}
break;
case 4: if (strttandend === "11:00-12:00") {
innerHtml += "<td class='alertShow held'></td>"
}
else {
innerHtml += "<td class='alertShow'></td>"
}
break;
case 5: if (strttandend === "12:00-13:00") {
innerHtml += "<td class='alertShow held'></td>"
}
else {
innerHtml += "<td class='alertShow'></td>"
}
break;
}
}
innerHtml += "</tbody>";
}
//}while(!count)
$("#Data1").html(innerHtml);
}
Output of above code(current and expected) are as per bellow snippet