UNPKG

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
<!DOCTYPE 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>