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

📄 calendar.js

📁 Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。
💻 JS
📖 第 1 页 / 共 5 页
字号:
		/**		* Fired just before the CalendarNavigator is to be rendered		* @event beforeRenderNavEvent		*/		this.beforeRenderNavEvent = new YAHOO.util.CustomEvent(defEvents.BEFORE_RENDER_NAV);		/**		* Fired after the CalendarNavigator is rendered		* @event renderNavEvent		*/		this.renderNavEvent = new YAHOO.util.CustomEvent(defEvents.RENDER_NAV);		this.beforeSelectEvent.subscribe(this.onBeforeSelect, this, true);		this.selectEvent.subscribe(this.onSelect, this, true);		this.beforeDeselectEvent.subscribe(this.onBeforeDeselect, this, true);		this.deselectEvent.subscribe(this.onDeselect, this, true);		this.changePageEvent.subscribe(this.onChangePage, this, true);		this.renderEvent.subscribe(this.onRender, this, true);		this.resetEvent.subscribe(this.onReset, this, true);		this.clearEvent.subscribe(this.onClear, this, true);	},		/**	* The default event function that is attached to a date link within a calendar cell	* when the calendar is rendered.	* @method doSelectCell	* @param {DOMEvent} e	The event	* @param {Calendar} cal	A reference to the calendar passed by the Event utility	*/	doSelectCell : function(e, cal) {		var cell,index,d,date;		var target = YAHOO.util.Event.getTarget(e);		var tagName = target.tagName.toLowerCase();		var defSelector = false;		while (tagName != "td" && ! YAHOO.util.Dom.hasClass(target, cal.Style.CSS_CELL_SELECTABLE)) {			if (!defSelector && tagName == "a" && YAHOO.util.Dom.hasClass(target, cal.Style.CSS_CELL_SELECTOR)) {				defSelector = true;				}			target = target.parentNode;			tagName = target.tagName.toLowerCase();			// TODO: No need to go all the way up to html.			if (tagName == "html") {				return;			}		}		if (defSelector) {			// Stop link href navigation for default renderer			YAHOO.util.Event.preventDefault(e);		}			cell = target;		if (YAHOO.util.Dom.hasClass(cell, cal.Style.CSS_CELL_SELECTABLE)) {			index = cell.id.split("cell")[1];			d = cal.cellDates[index];			date = YAHOO.widget.DateMath.getDate(d[0],d[1]-1,d[2]);					var link;			if (cal.Options.MULTI_SELECT) {				link = cell.getElementsByTagName("a")[0];				if (link) {					link.blur();				}				var cellDate = cal.cellDates[index];				var cellDateIndex = cal._indexOfSelectedFieldArray(cellDate);				if (cellDateIndex > -1) {						cal.deselectCell(index);				} else {					cal.selectCell(index);				}					} else {				link = cell.getElementsByTagName("a")[0];				if (link) {					link.blur();				}				cal.selectCell(index);			}		}	},	/**	* The event that is executed when the user hovers over a cell	* @method doCellMouseOver	* @param {DOMEvent} e	The event	* @param {Calendar} cal	A reference to the calendar passed by the Event utility	*/	doCellMouseOver : function(e, cal) {		var target;		if (e) {			target = YAHOO.util.Event.getTarget(e);		} else {			target = this;		}		while (target.tagName && target.tagName.toLowerCase() != "td") {			target = target.parentNode;			if (!target.tagName || target.tagName.toLowerCase() == "html") {				return;			}		}		if (YAHOO.util.Dom.hasClass(target, cal.Style.CSS_CELL_SELECTABLE)) {			YAHOO.util.Dom.addClass(target, cal.Style.CSS_CELL_HOVER);		}	},	/**	* The event that is executed when the user moves the mouse out of a cell	* @method doCellMouseOut	* @param {DOMEvent} e	The event	* @param {Calendar} cal	A reference to the calendar passed by the Event utility	*/	doCellMouseOut : function(e, cal) {		var target;		if (e) {			target = YAHOO.util.Event.getTarget(e);		} else {			target = this;		}		while (target.tagName && target.tagName.toLowerCase() != "td") {			target = target.parentNode;			if (!target.tagName || target.tagName.toLowerCase() == "html") {				return;			}		}		if (YAHOO.util.Dom.hasClass(target, cal.Style.CSS_CELL_SELECTABLE)) {			YAHOO.util.Dom.removeClass(target, cal.Style.CSS_CELL_HOVER);		}	},		setupConfig : function() {			var defCfg = YAHOO.widget.Calendar._DEFAULT_CONFIG;		/**		* The month/year representing the current visible Calendar date (mm/yyyy)		* @config pagedate		* @type String		* @default today's date		*/		this.cfg.addProperty(defCfg.PAGEDATE.key, { value:new Date(), handler:this.configPageDate } );		/**		* The date or range of dates representing the current Calendar selection		* @config selected		* @type String		* @default []		*/		this.cfg.addProperty(defCfg.SELECTED.key, { value:[], handler:this.configSelected } );		/**		* The title to display above the Calendar's month header		* @config title		* @type String		* @default ""		*/		this.cfg.addProperty(defCfg.TITLE.key, { value:defCfg.TITLE.value, handler:this.configTitle } );		/**		* Whether or not a close button should be displayed for this Calendar		* @config close		* @type Boolean		* @default false		*/		this.cfg.addProperty(defCfg.CLOSE.key, { value:defCfg.CLOSE.value, handler:this.configClose } );		/**		* Whether or not an iframe shim should be placed under the Calendar to prevent select boxes from bleeding through in Internet Explorer 6 and below.		* This property is enabled by default for IE6 and below. It is disabled by default for other browsers for performance reasons, but can be 		* enabled if required.		* 		* @config iframe		* @type Boolean		* @default true for IE6 and below, false for all other browsers		*/		this.cfg.addProperty(defCfg.IFRAME.key, { value:defCfg.IFRAME.value, handler:this.configIframe, validator:this.cfg.checkBoolean } );		/**		* The minimum selectable date in the current Calendar (mm/dd/yyyy)		* @config mindate		* @type String		* @default null		*/		this.cfg.addProperty(defCfg.MINDATE.key, { value:defCfg.MINDATE.value, handler:this.configMinDate } );		/**		* The maximum selectable date in the current Calendar (mm/dd/yyyy)		* @config maxdate		* @type String		* @default null		*/		this.cfg.addProperty(defCfg.MAXDATE.key, { value:defCfg.MAXDATE.value, handler:this.configMaxDate } );				// Options properties			/**		* True if the Calendar should allow multiple selections. False by default.		* @config MULTI_SELECT		* @type Boolean		* @default false		*/		this.cfg.addProperty(defCfg.MULTI_SELECT.key,	{ value:defCfg.MULTI_SELECT.value, handler:this.configOptions, validator:this.cfg.checkBoolean } );			/**		* The weekday the week begins on. Default is 0 (Sunday).		* @config START_WEEKDAY		* @type number		* @default 0		*/		this.cfg.addProperty(defCfg.START_WEEKDAY.key,	{ value:defCfg.START_WEEKDAY.value, handler:this.configOptions, validator:this.cfg.checkNumber  } );			/**		* True if the Calendar should show weekday labels. True by default.		* @config SHOW_WEEKDAYS		* @type Boolean		* @default true		*/		this.cfg.addProperty(defCfg.SHOW_WEEKDAYS.key,	{ value:defCfg.SHOW_WEEKDAYS.value, handler:this.configOptions, validator:this.cfg.checkBoolean  } );			/**		* True if the Calendar should show week row headers. False by default.		* @config SHOW_WEEK_HEADER		* @type Boolean		* @default false		*/		this.cfg.addProperty(defCfg.SHOW_WEEK_HEADER.key, { value:defCfg.SHOW_WEEK_HEADER.value, handler:this.configOptions, validator:this.cfg.checkBoolean } );			/**		* True if the Calendar should show week row footers. False by default.		* @config SHOW_WEEK_FOOTER		* @type Boolean		* @default false		*/			this.cfg.addProperty(defCfg.SHOW_WEEK_FOOTER.key,{ value:defCfg.SHOW_WEEK_FOOTER.value, handler:this.configOptions, validator:this.cfg.checkBoolean } );			/**		* True if the Calendar should suppress weeks that are not a part of the current month. False by default.		* @config HIDE_BLANK_WEEKS		* @type Boolean		* @default false		*/			this.cfg.addProperty(defCfg.HIDE_BLANK_WEEKS.key, { value:defCfg.HIDE_BLANK_WEEKS.value, handler:this.configOptions, validator:this.cfg.checkBoolean } );				/**		* The image that should be used for the left navigation arrow.		* @config NAV_ARROW_LEFT		* @type String		* @deprecated	You can customize the image by overriding the default CSS class for the left arrow - "calnavleft"  		* @default null		*/			this.cfg.addProperty(defCfg.NAV_ARROW_LEFT.key,	{ value:defCfg.NAV_ARROW_LEFT.value, handler:this.configOptions } );			/**		* The image that should be used for the right navigation arrow.		* @config NAV_ARROW_RIGHT		* @type String		* @deprecated	You can customize the image by overriding the default CSS class for the right arrow - "calnavright"		* @default null		*/			this.cfg.addProperty(defCfg.NAV_ARROW_RIGHT.key, { value:defCfg.NAV_ARROW_RIGHT.value, handler:this.configOptions } );			// Locale properties			/**		* The short month labels for the current locale.		* @config MONTHS_SHORT		* @type String[]		* @default ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]		*/		this.cfg.addProperty(defCfg.MONTHS_SHORT.key,	{ value:defCfg.MONTHS_SHORT.value, handler:this.configLocale } );				/**		* The long month labels for the current locale.		* @config MONTHS_LONG		* @type String[]		* @default ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"		*/			this.cfg.addProperty(defCfg.MONTHS_LONG.key,		{ value:defCfg.MONTHS_LONG.value, handler:this.configLocale } );		/**		* The 1-character weekday labels for the current locale.		* @config WEEKDAYS_1CHAR		* @type String[]		* @default ["S", "M", "T", "W", "T", "F", "S"]		*/			this.cfg.addProperty(defCfg.WEEKDAYS_1CHAR.key,	{ value:defCfg.WEEKDAYS_1CHAR.value, handler:this.configLocale } );				/**		* The short weekday labels for the current locale.		* @config WEEKDAYS_SHORT		* @type String[]		* @default ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]		*/			this.cfg.addProperty(defCfg.WEEKDAYS_SHORT.key,	{ value:defCfg.WEEKDAYS_SHORT.value, handler:this.configLocale } );				/**		* The medium weekday labels for the current locale.		* @config WEEKDAYS_MEDIUM		* @type String[]		* @default ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]		*/			this.cfg.addProperty(defCfg.WEEKDAYS_MEDIUM.key,	{ value:defCfg.WEEKDAYS_MEDIUM.value, handler:this.configLocale } );				/**		* The long weekday labels for the current locale.		* @config WEEKDAYS_LONG		* @type String[]		* @default ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]		*/			this.cfg.addProperty(defCfg.WEEKDAYS_LONG.key,	{ value:defCfg.WEEKDAYS_LONG.value, handler:this.configLocale } );			/**		* Refreshes the locale values used to build the Calendar.		* @method refreshLocale		* @private		*/		var refreshLocale = function() {			this.cfg.refireEvent(defCfg.LOCALE_MONTHS.key);			this.cfg.refireEvent(defCfg.LOCALE_WEEKDAYS.key);		};			this.cfg.subscribeToConfigEvent(defCfg.START_WEEKDAY.key, refreshLocale, this, true);		this.cfg.subscribeToConfigEvent(defCfg.MONTHS_SHORT.key, refreshLocale, this, true);		this.cfg.subscribeToConfigEvent(defCfg.MONTHS_LONG.key, refreshLocale, this, true);		this.cfg.subscribeToConfigEvent(defCfg.WEEKDAYS_1CHAR.key, refreshLocale, this, true);		this.cfg.subscribeToConfigEvent(defCfg.WEEKDAYS_SHORT.key, refreshLocale, this, true);		this.cfg.subscribeToConfigEvent(defCfg.WEEKDAYS_MEDIUM.key, refreshLocale, this, true);		this.cfg.subscribeToConfigEvent(defCfg.WEEKDAYS_LONG.key, refreshLocale, this, true);				/**		* The setting that determines which length of month labels should be used. Possible values are "short" and "long".		* @config LOCALE_MONTHS		* @type String		* @default "long"		*/			this.cfg.addProperty(defCfg.LOCALE_MONTHS.key,	{ value:defCfg.LOCALE_MONTHS.value, handler:this.configLocaleValues } );				/**		* The setting that determines which length of weekday labels should be used. Possible values are "1char", "short", "medium", and "long".		* @config LOCALE_WEEKDAYS		* @type String		* @default "short"		*/			this.cfg.addProperty(defCfg.LOCALE_WEEKDAYS.key,	{ value:defCfg.LOCALE_WEEKDAYS.value, handler:this.configLocaleValues } );			/**		* The value used to delimit individual dates in a date string passed to various Calendar functions.		* @config DATE_DELIMITER		* @type String		* @default ","		*/			this.cfg.addProperty(defCfg.DATE_DELIMITER.key,		{ value:defCfg.DATE_DELIMITER.value, handler:this.configLocale } );			/**		* The value used to delimit date fields in a date string passed to various Calendar functions.		* @config DATE_FIELD_DELIMITER		* @type String		* @default "/"		*/			this.cfg.addProperty(defCfg.DATE_FIELD_DELIMITER.key, { value:defCfg.DATE_FIELD_DELIMITER.value, handler:this.configLocale } );			/**		* The value used to delimit date ranges in a date string passed to various Calendar functions.		* @config DATE_RANGE_DELIMITER		* @type String		* @default "-"		*/		this.cfg.addProperty(defCfg.DATE_RANGE_DELIMITER.key, { value:defCfg.DATE_RANGE_DELIMITER.value, handler:this.configLocale } );			/**		* The position of the month in a month/year date string		* @config MY_MONTH_POSITION		* @type Number		* @default 1		*/		this.cfg.addProperty(defCfg.MY_MONTH_POSITION.key,	{ value:defCfg.MY_MONTH_POSITION.value, handler:this.configLocale, validator:this.cfg.checkNumber } );			/**		* The position of the year in a month/year date string		* @config MY_YEAR_POSITION		* @type Number		* @default 2		*/		this.cfg.addProperty(defCfg.MY_YEAR_POSITION.key,	{ value:defCfg.MY_YEAR_POSITION.value, handler:this.configLocale, validator:this.cfg.checkNumber } );			/**		* The position of the month in a month/day date string		* @config MD_MONTH_POSITION		* @type Number		* @default 1		*/		this.cfg.addProperty(defCfg.MD_MONTH_POSITION.key,	{ value:defCfg.MD_MONTH_POSITION.value, handler:this.configLocale, validator:this.cfg.checkNumber } );			/**		* The position of the day in a month/year date string		* @config MD_DAY_POSITION		* @type Number		* @default 2		*/		this.cfg.addProperty(defCfg.MD_DAY_POSITION.key,		{ value:defCfg.MD_DAY_POSITION.value, handler:this.configLocale, validator:this.cfg.checkNumber } );			/**		* The position of the month in a month/day/year date string		* @config MDY_MONTH_POSITION		* @type Number		* @default 1		*/		this.cfg.addProperty(defCfg.MDY_MONTH_POSITION.key,	{ value:defCfg.MDY_MONTH_POSITION.value, handler:this.configLocale, validator:this.cfg.checkNumber } );			/**		* The position of the day in a 

⌨️ 快捷键说明

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