calenstyle
Version:
CalenStyle is a Responsive Drag-and-Drop Event Calendar for Web, iOS, Android & Windows. CalenStyle is customizable plugin having multiple, clean-designed event calendar templates specially designed for web & mobile applications.
174 lines (127 loc) • 4.91 kB
HTML
<html>
<head>
<title>Default View with Custom Tooltip</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-custom-1.11.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery-ui-custom-1.11.2.min.css" />
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="../src/calenstyle.css" />
<link rel="stylesheet" type="text/css" href="../src/calenstyle-jquery-ui-override.css" />
<link rel="stylesheet" type="text/css" href="../src/calenstyle-iconfont.css" />
<script type="text/javascript" src="../src/calenstyle.js"></script>
<!-- Sample Styles and Element Generation code for EventList -->
<link rel="stylesheet" type="text/css" href="css/CalEventList.css" />
<script type="text/javascript" src="js/CalJsonGenerator.js"></script>
<style type="text/css">
.calendarContOuter
{
width: 95%;
height: 500px;
margin: 10px auto;
font-size: 16px;
}
.cElemDatePicker
{
font-size: 14px;
}
.popover-content
{
font-size: 80%;
}
</style>
<script type="text/javascript">
$(function()
{
$(".calendarContOuter").CalenStyle(
{
calDataSource:
[
{
sourceFetchType: "DateRange",
sourceType: "FUNCTION",
source: function(fetchStartDate, fetchEndDate, durationStartDate, durationEndDate, oConfig, loadViewCallback)
{
var calObj1 = this;
calObj1.incrementDataLoadingCount(2);
var oEventResponse = generateJsonEvents(fetchStartDate, fetchEndDate);
if(oEventResponse != undefined)
{
if(oEventResponse[0])
{
calObj1.parseDataSource("eventSource", oEventResponse[1], durationStartDate, durationEndDate, loadViewCallback, oConfig, false);
}
}
var oSlotAvailabilityResponse = generateJsonSlotAvailability(fetchStartDate, fetchEndDate);
if(oSlotAvailabilityResponse != undefined)
{
if(oSlotAvailabilityResponse[0])
{
calObj1.parseDataSource("slotAvailabilitySource", oSlotAvailabilityResponse[1], durationStartDate, durationEndDate, loadViewCallback, oConfig, false);
}
}
}
}
],
calculateDetailedMonthViewRowHeight: false,
//fixedHeightOfDetailedMonthView: true
clickedAppointmentSlot: function(oSlot, oSlotElement)
{
console.log("Appointment Slot Clicked ");
console.log(oSlot);
$(oSlotElement).addClass("cavStatusBooked");
if(oSlot["status"] == "Available")
oSlot["status"] = "Booked";
},
displayEventsForPeriodInList: function(listStartDate, listEndDate)
{
return displayEventsInList(this, listStartDate, listEndDate);
},
eventsAddedInView: function(visibleView, eventClass)
{
var thisObj = this;
$(thisObj.elem).find(eventClass).popover(
{
placement: "top",
trigger: "hover",
html: true,
container: "body",
content: function()
{
var oTooltipContent = $(this).data("tooltipcontent"),
sTitle = oTooltipContent.title || "",
sStartDateTime = oTooltipContent.startDateTime || "",
sEndDateTime = oTooltipContent.endDateTime || "",
sTime = sStartDateTime + ((sEndDateTime !== "") ? ("<br/>" + sEndDateTime) : ""),
sTooltipText = "<div class='cTooltipTitle'>" + sTitle + "</div><div class='cTooltipTime'>" + sTime + "</div>";
return sTooltipText;
}
});
},
timeSlotsAddedInView: function(visibleView, eventClass)
{
var thisObj = this;
$(thisObj.elem).find(eventClass).popover(
{
placement: "top",
trigger: "hover",
html: true,
container: "body",
content: function()
{
var oTooltipContent = $(this).data("tooltipcontent"),
sTooltipText = "<div class='cTooltipTitle'>" + oTooltipContent.title + "</div><div class='cTooltipTime'>" + oTooltipContent.startDateTime + "<br/>" + oTooltipContent.endDateTime + "</div>";
return sTooltipText;
}
});
}
});
});
</script>
</head>
<body>
<div class="calendarContOuter"></div>
</body>
</html>