4
<title>Calendar Example</title>
5
<script type="text/javascript" src="../../../../build/yui/yui.js"></script>
7
.yui3-skin-sam .redtext {
12
<body class="yui3-skin-night">
13
<div id="mycalendar"></div>
14
<div id="currentDate"></div>
18
base: '../../../../build/',
21
}).use('calendar', function(Y) {
24
Y.CalendarBase.CONTENT_TEMPLATE = Y.CalendarBase.TWO_PANE_TEMPLATE;
26
function myHeaderRenderer (curDate) {
27
var ydate = Y.DataType.Date,
28
output = ydate.format(curDate, {format: "%B %Y"}) +
30
ydate.format(ydate.addMonths(curDate, 1), {format: "%B %Y"});
42
function addNewRule(ruleSet, path, ruleName) {
44
var currentObject = ruleSet;
46
for (var i = 0, len = path.length - 1; i <= len; i++) {
48
currentObject[path[i]] = ruleName;
51
currentObject[path[i]] = {};
52
currentObject = currentObject[path[i]];
60
newrules = addNewRule(newrules, [dYear, dMonth, dDate], "theweekends");
63
console.log(newrules);
81
function myFilter (oDate, oNode, rules) {
82
if (rules.indexOf("theweekends") >= 0) {
83
//oNode.addClass('redtext');
87
var calendar = new Y.Calendar({
90
selectionMode: "multiple",
91
minimumDate: new Date(2011,0,1),
92
maximumDate: new Date(2011,11,1),
93
date: new Date(2011,10,1),
94
headerRenderer: myHeaderRenderer,
97
calendar.render("#mycalendar");
99
calendar.set("customRenderer", {rules: myRules, filterFunction: myFilter});
101
calendar.set("enabledDatesRule", null);
102
calendar.set("disabledDatesRule", "thefifths");
105
calendar.on("dateChange", function (ev) {console.log("New date value: " + ev.newVal); console.log("What about..." + calendar.get("date"));});
109
calendar.on("showPrevMonthChange", function (ev) {console.log("New show prev month val: " + ev.newVal);});
111
calendar.set("showPrevMonth", true);
113
calendar.selectDates([new Date(2011,9,4), new Date(2011,9,3), new Date(2011,10,8)]);
114
calendar.selectDates([new Date(2011,9,5), new Date(2011,8,23), new Date(2011,11,21)]);
116
console.log(calendar.get("selectedDates"));