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.
215 lines (166 loc) • 6.74 kB
HTML
<html>
<head>
<title>MonthView with Custom EventCountView</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/jquery.ui.touch-punch.js"></script>
<script type="text/javascript" src="../js/hammer.min.js"></script>
<script type="text/javascript" src="../js/fastclick.js"></script>
<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>
<link rel="stylesheet" type="text/css" href="../css/CalEventList.css" />
<script type="text/javascript" src="../js/CalJsonGenerator.js"></script>
<style type="text/css">
.calendarContOuter
{
position: absolute;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
font-size: 14px;
text-shadow: none;
}
.calendarContOuter .cmvMonthTable
{
min-height: 290px;
}
.cElemDatePicker
{
font-size: 13px;
}
.cmvMonthTableRowCustom
{
text-align: center;
overflow: hidden;
margin-bottom: 5px;
}
.custLabel
{
display: inline-block;
min-width: 15px;
padding: 2px 2px;
color: #FFFFFF;
background: #666666;
font-size: 10px;
}
.cmvOtherMonthDay .custLabel
{
opacity: 0.3;
}
</style>
<script type="text/javascript">
$(document).ready(function()
{
var oCal1;
$(".calendarContOuter").CalenStyle(
{
initialize: function()
{
oCal1 = this;
},
visibleView: "MonthView",
sectionsList: ["Header", "Calendar", "EventList"],
headerSectionsList:
{
left: ["HeaderLabelWithDropdownMenuArrow"],
center: [],
right: ["PreviousButton", "NextButton"]
},
eventIndicatorInMonthView: "Custom",
dropdownMenuElements: ["DatePicker"],
displayEventsForPeriodInList: function(listStartDate, listEndDate)
{
return displayEventsInList(this, listStartDate, listEndDate);
},
eventListAppended: function()
{
adjustList();
},
calDataSource:
[
{
sourceFetchType: "DateRange",
sourceType: "FUNCTION",
source: function(fetchStartDate, fetchEndDate, durationStartDate, durationEndDate, oConfig, loadViewCallback)
{
var calObj1 = this;
calObj1.incrementDataLoadingCount(1);
var oEventResponse = generateJsonEvents(fetchStartDate, fetchEndDate);
console.log("Response " + fetchStartDate + " " + fetchEndDate);
console.log(oEventResponse);
if(oEventResponse != undefined)
{
if(oEventResponse[0])
{
calObj1.parseDataSource("eventSource", oEventResponse[1], durationStartDate, durationEndDate, loadViewCallback, oConfig, false);
}
}
}
}
],
modifyCustomView: function(dArrViewDates)
{
var calObj1 = this;
for(var iTempIndex = 0; iTempIndex < dArrViewDates.length; iTempIndex++)
{
var dThisDate = dArrViewDates[iTempIndex],
sDayId = "#cmvDay-"+dThisDate.getDate()+"-"+dThisDate.getMonth()+"-"+dThisDate.getFullYear(),
oArrDayDetails = calObj1.getEventCountAndIsMarkedDay(dThisDate, dThisDate),
iNoOfEvents = oArrDayDetails[0],
bIsMarked = oArrDayDetails[1],
sMarkColor = oArrDayDetails[2],
sTempStr = "",
sMarkedStyle = "";
if(bIsMarked)
sMarkedStyle = "background : " + sMarkColor + ";";
if(iNoOfEvents !== 0)
{
sTempStr += "<span class='custLabel' style='" + sMarkedStyle + "'>"+iNoOfEvents+"</span>";
$(calObj1.elem).find(sDayId + " .cmvMonthTableRowCustom").html(sTempStr);
}
}
calObj1.addRemoveViewLoader(false, "cEventLoaderBg");
calObj1.addRemoveLoaderIndicators(false, "cEventLoaderIndicator");
},
useHammerjsAsGestureLibrary: true,
//hideEventIcon: {Default: false},
hideEventTime: {Default: true}
});
setTimeout(function()
{
adjustList();
oCal1.adjustMonthTable();
}, 0);
$(window).resize(function()
{
adjustList();
});
function adjustList()
{
var oCal3 = $(".calendarContOuter").CalenStyle();
var iEventWidth = $(oCal3.elem).width(),
iEventColorWidth = $(".cListEventColor").outerWidth(true),
iEventIconWidth = $(".cListEventIcon span").outerWidth(true),
oElems = $(".cListEventTime span");
var iMaxWidth = Math.max.apply(null, $(oElems).map(function()
{
return $(this).outerWidth(true);
}).get());
iMaxWidth += 5;
$(".cListEventTime").css({"width": iMaxWidth});
var iEventTitleWidth = iEventWidth - (iEventColorWidth + iMaxWidth + iEventIconWidth) - 25;
$(".cListEventTitle").css({"width": iEventTitleWidth});
}
});
</script>
</head>
<body>
<div class="calendarContOuter"></div>
</body>
</html>