⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 monthlycalendar.js

📁 dojo-0.3.0-ajax开 源 项 目
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.html.MonthlyCalendar");dojo.require("dojo.widget.*");dojo.require("dojo.widget.html.DatePicker");dojo.require("dojo.widget.MonthlyCalendar");//dojo.require("dojo.widget.MonthlyCalendar.util");dojo.require("dojo.event.*");dojo.require("dojo.html");dojo.widget.html.MonthlyCalendar= function(){	dojo.widget.MonthlyCalendar.call(this);	//dojo.widget.html.DatePicker.call(this);	this.widgetType = "MonthlyCalendar";	this.templatePath =  dojo.uri.dojoUri("src/widget/templates/HtmlMonthlyCalendar.html");	this.templateCssPath = dojo.uri.dojoUri("src/widget/templates/HtmlMonthlyCalendar.css");	this.iCalendars = [];}dojo.inherits(dojo.widget.html.MonthlyCalendar, dojo.widget.html.DatePicker);dojo.lang.extend(dojo.widget.html.MonthlyCalendar, {	cache: function() {	},	addCalendar: function(/* dojo.iCalendar */ cal) {		dojo.debug("Adding Calendar");		this.iCalendars.push(cal);		dojo.debug("Starting init");		this.initUI()		dojo.debug("done init");	},	createDayContents: function(node,mydate) {		dojo.dom.removeChildren(node);		node.appendChild(document.createTextNode(mydate.getDate()));				for(var x=0; x<this.iCalendars.length; x++) {				evts = this.iCalendars[x].getEvents(mydate);				if ((dojo.lang.isArray(evts)) && (evts.length>0)) {				for(var y=0;y<evts.length;y++) {					var el = document.createElement("div");					dojo.html.addClass(el, "dojoMonthlyCalendarEvent");          					el.appendChild(document.createTextNode(evts[y].summary.value));					el.width = dojo.style.getContentWidth(node);					node.appendChild(el);				}			}		}	},	initUI: function() {		this.selectedIsUsed = false;		this.currentIsUsed = false;		var currentClassName = "";		var previousDate = new Date();		var calendarNodes = this.calendarDatesContainerNode.getElementsByTagName("td");		var currentCalendarNode;		// set hours of date such that there is no chance of rounding error due to 		// time change in local time zones		previousDate.setHours(8);		var nextDate = new Date(this.firstSaturday.year, this.firstSaturday.month, this.firstSaturday.date, 8);		var lastDay = new Date(this.firstSaturday.year, this.firstSaturday.month, this.firstSaturday.date + 42, 8);				if (this.iCalendars.length > 0) {			for (var x=0; x<this.iCalendars.length;x++) {				this.iCalendars[x].preComputeRecurringEvents(lastDay);			}		}		if(this.firstSaturday.date < 7) {			// this means there are days to show from the previous month			var dayInWeek = 6;			for (var i=this.firstSaturday.date; i>0; i--) {				currentCalendarNode = calendarNodes.item(dayInWeek);				this.createDayContents(currentCalendarNode, nextDate);								dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "current"));				dayInWeek--;				previousDate = nextDate;				nextDate = this.incrementDate(nextDate, false);			}			for(var i=dayInWeek; i>-1; i--) {				currentCalendarNode = calendarNodes.item(i);				this.createDayContents(currentCalendarNode, nextDate);				dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "previous"));				previousDate = nextDate;				nextDate = this.incrementDate(nextDate, false);							}		} else {			nextDate.setDate(1);			for(var i=0; i<7; i++) {				currentCalendarNode = calendarNodes.item(i);				this.createDayContents(currentCalendarNode, nextDate);				dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "current"));				previousDate = nextDate;				nextDate = this.incrementDate(nextDate, true);							}		}		previousDate.setDate(this.firstSaturday.date);		previousDate.setMonth(this.firstSaturday.month);		previousDate.setFullYear(this.firstSaturday.year);		nextDate = this.incrementDate(previousDate, true);		var count = 7;		currentCalendarNode = calendarNodes.item(count);		while((nextDate.getMonth() == previousDate.getMonth()) && (count<42)) {			this.createDayContents(currentCalendarNode, nextDate);			dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "current"));			currentCalendarNode = calendarNodes.item(++count);			previousDate = nextDate;			nextDate = this.incrementDate(nextDate, true);		}				while(count < 42) {			this.createDayContents(currentCalendarNode, nextDate);			dojo.html.setClass(currentCalendarNode, this.getDateClassName(nextDate, "next"));			currentCalendarNode = calendarNodes.item(++count);			previousDate = nextDate;			nextDate = this.incrementDate(nextDate, true);		}		this.setMonthLabel(this.firstSaturday.month);		this.setYearLabels(this.firstSaturday.year);	}	});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -