3401 lines
435 KiB
HTML
3401 lines
435 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>API: calendar Calendar.js (YUI Library)</title>
|
|
<link rel="stylesheet" type="text/css" href="assets/api.css">
|
|
<script type="text/javascript" src="assets/api-js"></script>
|
|
<script type="text/javascript" src="assets/ac-js"></script>
|
|
</head>
|
|
|
|
<body id="yahoo-com">
|
|
|
|
<div id="doc3" class="yui-t2">
|
|
|
|
<div id="hd">
|
|
<a href="http://developer.yahoo.com/yui/"><h1>Yahoo! UI Library</h1></a>
|
|
<h3>Calendar <span class="subtitle">2.5.1</span></h3>
|
|
<p>
|
|
<a href="./index.html">Yahoo! UI Library</a>
|
|
> <a href="./module_calendar.html">calendar</a>
|
|
|
|
> Calendar.js (source view)
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
<form name="yui-classopts-form">
|
|
<span id="classopts"><input type="checkbox" name="showprivate" id="showprivate" /> Show Private</span>
|
|
<span id="classopts"><input type="checkbox" name="showprotected" id="showprotected" /> Show Protected</span>
|
|
</form>
|
|
|
|
<div id="srcout">
|
|
<style>
|
|
#doc3 #classopts { display:none; }
|
|
</style>
|
|
<div class="highlight" ><pre><span class="c">/**</span>
|
|
<span class="c">* The Calendar component is a UI control that enables users to choose one or more dates from a graphical calendar presented in a one-month or</span>
|
|
<span class="c">* multi-month interface. Calendars are generated entirely via script and can be navigated without any page refreshes.</span>
|
|
<span class="c">* @module calendar</span>
|
|
<span class="c">* @title Calendar</span>
|
|
<span class="c">* @namespace YAHOO.widget</span>
|
|
<span class="c">* @requires yahoo,dom,event</span>
|
|
<span class="c">*/</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Calendar is the base class for the Calendar widget. In its most basic</span>
|
|
<span class="c">* implementation, it has the ability to render a calendar widget on the page</span>
|
|
<span class="c">* that can be manipulated to select a single date, move back and forth between</span>
|
|
<span class="c">* months and years.</span>
|
|
<span class="c">* <p>To construct the placeholder for the calendar widget, the code is as</span>
|
|
<span class="c">* follows:</span>
|
|
<span class="c">* <xmp></span>
|
|
<span class="c">* <div id="calContainer"></div></span>
|
|
<span class="c">* </xmp></span>
|
|
<span class="c">* </p></span>
|
|
<span class="c">* <p></span>
|
|
<span class="c">* <strong>NOTE: As of 2.4.0, the constructor's ID argument is optional.</strong></span>
|
|
<span class="c">* The Calendar can be constructed by simply providing a container ID string, </span>
|
|
<span class="c">* or a reference to a container DIV HTMLElement (the element needs to exist </span>
|
|
<span class="c">* in the document).</span>
|
|
<span class="c">* </span>
|
|
<span class="c">* E.g.:</span>
|
|
<span class="c">* <xmp></span>
|
|
<span class="c">* var c = new YAHOO.widget.Calendar("calContainer", configOptions);</span>
|
|
<span class="c">* </xmp></span>
|
|
<span class="c">* or:</span>
|
|
<span class="c">* <xmp></span>
|
|
<span class="c">* var containerDiv = YAHOO.util.Dom.get("calContainer");</span>
|
|
<span class="c">* var c = new YAHOO.widget.Calendar(containerDiv, configOptions);</span>
|
|
<span class="c">* </xmp></span>
|
|
<span class="c">* </p></span>
|
|
<span class="c">* <p></span>
|
|
<span class="c">* If not provided, the ID will be generated from the container DIV ID by adding an "_t" suffix.</span>
|
|
<span class="c">* For example if an ID is not provided, and the container's ID is "calContainer", the Calendar's ID will be set to "calContainer_t".</span>
|
|
<span class="c">* </p></span>
|
|
<span class="c">* </span>
|
|
<span class="c">* @namespace YAHOO.widget</span>
|
|
<span class="c">* @class Calendar</span>
|
|
<span class="c">* @constructor</span>
|
|
<span class="c">* @param {String} id optional The id of the table element that will represent the Calendar widget. As of 2.4.0, this argument is optional.</span>
|
|
<span class="c">* @param {String | HTMLElement} container The id of the container div element that will wrap the Calendar table, or a reference to a DIV element which exists in the document.</span>
|
|
<span class="c">* @param {Object} config optional The configuration object containing the initial configuration values for the Calendar.</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span> <span class="o">=</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">containerId</span><span class="o">,</span> <span class="nx">config</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">init</span><span class="o">.</span><span class="nx">apply</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">arguments</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* The path to be used for images loaded for the Calendar</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.IMG_ROOT</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @deprecated You can now customize images by overriding the calclose, calnavleft and calnavright default CSS classes for the close icon, left arrow and right arrow respectively</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Type constant used for renderers to represent an individual date (M/D/Y)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.DATE</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">DATE</span> <span class="o">=</span> <span class="s2">"D"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Type constant used for renderers to represent an individual date across any year (M/D)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.MONTH_DAY</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MONTH_DAY</span> <span class="o">=</span> <span class="s2">"MD"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Type constant used for renderers to represent a weekday</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.WEEKDAY</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">WEEKDAY</span> <span class="o">=</span> <span class="s2">"WD"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Type constant used for renderers to represent a range of individual dates (M/D/Y-M/D/Y)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.RANGE</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">RANGE</span> <span class="o">=</span> <span class="s2">"R"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Type constant used for renderers to represent a month across any year</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.MONTH</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MONTH</span> <span class="o">=</span> <span class="s2">"M"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Constant that represents the total number of date cells that are displayed in a given month</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.DISPLAY_DAYS</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type Number</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">DISPLAY_DAYS</span> <span class="o">=</span> <span class="m">42</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Constant used for halting the execution of the remainder of the render stack</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.STOP_RENDER</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">STOP_RENDER</span> <span class="o">=</span> <span class="s2">"S"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Constant used to represent short date field string formats (e.g. Tu or Feb)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.SHORT</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">SHORT</span> <span class="o">=</span> <span class="s2">"short"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Constant used to represent long date field string formats (e.g. Monday or February)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.LONG</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">LONG</span> <span class="o">=</span> <span class="s2">"long"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Constant used to represent medium date field string formats (e.g. Mon)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.MEDIUM</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MEDIUM</span> <span class="o">=</span> <span class="s2">"medium"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* Constant used to represent single character date field string formats (e.g. M, T, W)</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar.ONE_CHAR</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @type String</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">ONE_CHAR</span> <span class="o">=</span> <span class="s2">"1char"</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* The set of default Config property keys and values for the Calendar</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar._DEFAULT_CONFIG</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @private</span>
|
|
<span class="c">* @type Object</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span> <span class="o">=</span> <span class="o">{</span>
|
|
<span class="c">// Default values for pagedate and selected are not class level constants - they are set during instance creation </span>
|
|
<span class="c"></span> <span class="nx">PAGEDATE</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"pagedate"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">null</span><span class="o">},</span>
|
|
<span class="nx">SELECTED</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"selected"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">null</span><span class="o">},</span>
|
|
<span class="nx">TITLE</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"title"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">""</span><span class="o">},</span>
|
|
<span class="nx">CLOSE</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"close"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">false</span><span class="o">},</span>
|
|
<span class="nx">IFRAME</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"iframe"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">env</span><span class="o">.</span><span class="nx">ua</span><span class="o">.</span><span class="nx">ie</span> <span class="o">&&</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">env</span><span class="o">.</span><span class="nx">ua</span><span class="o">.</span><span class="nx">ie</span> <span class="o"><=</span> <span class="m">6</span><span class="o">)</span> <span class="o">?</span> <span class="kc">true</span> <span class="o">:</span> <span class="kc">false</span><span class="o">},</span>
|
|
<span class="nx">MINDATE</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"mindate"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">null</span><span class="o">},</span>
|
|
<span class="nx">MAXDATE</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"maxdate"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">null</span><span class="o">},</span>
|
|
<span class="nx">MULTI_SELECT</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"multi_select"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">false</span><span class="o">},</span>
|
|
<span class="nx">START_WEEKDAY</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"start_weekday"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">0</span><span class="o">},</span>
|
|
<span class="nx">SHOW_WEEKDAYS</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"show_weekdays"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">true</span><span class="o">},</span>
|
|
<span class="nx">SHOW_WEEK_HEADER</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"show_week_header"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">false</span><span class="o">},</span>
|
|
<span class="nx">SHOW_WEEK_FOOTER</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"show_week_footer"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">false</span><span class="o">},</span>
|
|
<span class="nx">HIDE_BLANK_WEEKS</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"hide_blank_weeks"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">false</span><span class="o">},</span>
|
|
<span class="nx">NAV_ARROW_LEFT</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"nav_arrow_left"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">null</span><span class="o">}</span> <span class="o">,</span>
|
|
<span class="nx">NAV_ARROW_RIGHT</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"nav_arrow_right"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="kc">null</span><span class="o">}</span> <span class="o">,</span>
|
|
<span class="nx">MONTHS_SHORT</span> <span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"months_short"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:[</span><span class="s2">"Jan"</span><span class="o">,</span> <span class="s2">"Feb"</span><span class="o">,</span> <span class="s2">"Mar"</span><span class="o">,</span> <span class="s2">"Apr"</span><span class="o">,</span> <span class="s2">"May"</span><span class="o">,</span> <span class="s2">"Jun"</span><span class="o">,</span> <span class="s2">"Jul"</span><span class="o">,</span> <span class="s2">"Aug"</span><span class="o">,</span> <span class="s2">"Sep"</span><span class="o">,</span> <span class="s2">"Oct"</span><span class="o">,</span> <span class="s2">"Nov"</span><span class="o">,</span> <span class="s2">"Dec"</span><span class="o">]},</span>
|
|
<span class="nx">MONTHS_LONG</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"months_long"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:[</span><span class="s2">"January"</span><span class="o">,</span> <span class="s2">"February"</span><span class="o">,</span> <span class="s2">"March"</span><span class="o">,</span> <span class="s2">"April"</span><span class="o">,</span> <span class="s2">"May"</span><span class="o">,</span> <span class="s2">"June"</span><span class="o">,</span> <span class="s2">"July"</span><span class="o">,</span> <span class="s2">"August"</span><span class="o">,</span> <span class="s2">"September"</span><span class="o">,</span> <span class="s2">"October"</span><span class="o">,</span> <span class="s2">"November"</span><span class="o">,</span> <span class="s2">"December"</span><span class="o">]},</span>
|
|
<span class="nx">WEEKDAYS_1CHAR</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"weekdays_1char"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:[</span><span class="s2">"S"</span><span class="o">,</span> <span class="s2">"M"</span><span class="o">,</span> <span class="s2">"T"</span><span class="o">,</span> <span class="s2">"W"</span><span class="o">,</span> <span class="s2">"T"</span><span class="o">,</span> <span class="s2">"F"</span><span class="o">,</span> <span class="s2">"S"</span><span class="o">]},</span>
|
|
<span class="nx">WEEKDAYS_SHORT</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"weekdays_short"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:[</span><span class="s2">"Su"</span><span class="o">,</span> <span class="s2">"Mo"</span><span class="o">,</span> <span class="s2">"Tu"</span><span class="o">,</span> <span class="s2">"We"</span><span class="o">,</span> <span class="s2">"Th"</span><span class="o">,</span> <span class="s2">"Fr"</span><span class="o">,</span> <span class="s2">"Sa"</span><span class="o">]},</span>
|
|
<span class="nx">WEEKDAYS_MEDIUM</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"weekdays_medium"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:[</span><span class="s2">"Sun"</span><span class="o">,</span> <span class="s2">"Mon"</span><span class="o">,</span> <span class="s2">"Tue"</span><span class="o">,</span> <span class="s2">"Wed"</span><span class="o">,</span> <span class="s2">"Thu"</span><span class="o">,</span> <span class="s2">"Fri"</span><span class="o">,</span> <span class="s2">"Sat"</span><span class="o">]},</span>
|
|
<span class="nx">WEEKDAYS_LONG</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"weekdays_long"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:[</span><span class="s2">"Sunday"</span><span class="o">,</span> <span class="s2">"Monday"</span><span class="o">,</span> <span class="s2">"Tuesday"</span><span class="o">,</span> <span class="s2">"Wednesday"</span><span class="o">,</span> <span class="s2">"Thursday"</span><span class="o">,</span> <span class="s2">"Friday"</span><span class="o">,</span> <span class="s2">"Saturday"</span><span class="o">]},</span>
|
|
<span class="nx">LOCALE_MONTHS</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"locale_months"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">"long"</span><span class="o">},</span>
|
|
<span class="nx">LOCALE_WEEKDAYS</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"locale_weekdays"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">"short"</span><span class="o">},</span>
|
|
<span class="nx">DATE_DELIMITER</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"date_delimiter"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">","</span><span class="o">},</span>
|
|
<span class="nx">DATE_FIELD_DELIMITER</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"date_field_delimiter"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">"/"</span><span class="o">},</span>
|
|
<span class="nx">DATE_RANGE_DELIMITER</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"date_range_delimiter"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">"-"</span><span class="o">},</span>
|
|
<span class="nx">MY_MONTH_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"my_month_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">1</span><span class="o">},</span>
|
|
<span class="nx">MY_YEAR_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"my_year_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">2</span><span class="o">},</span>
|
|
<span class="nx">MD_MONTH_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"md_month_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">1</span><span class="o">},</span>
|
|
<span class="nx">MD_DAY_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"md_day_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">2</span><span class="o">},</span>
|
|
<span class="nx">MDY_MONTH_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"mdy_month_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">1</span><span class="o">},</span>
|
|
<span class="nx">MDY_DAY_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"mdy_day_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">2</span><span class="o">},</span>
|
|
<span class="nx">MDY_YEAR_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"mdy_year_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">3</span><span class="o">},</span>
|
|
<span class="nx">MY_LABEL_MONTH_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"my_label_month_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">1</span><span class="o">},</span>
|
|
<span class="nx">MY_LABEL_YEAR_POSITION</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"my_label_year_position"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="m">2</span><span class="o">},</span>
|
|
<span class="nx">MY_LABEL_MONTH_SUFFIX</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"my_label_month_suffix"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">" "</span><span class="o">},</span>
|
|
<span class="nx">MY_LABEL_YEAR_SUFFIX</span><span class="o">:{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"my_label_year_suffix"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span><span class="s2">""</span><span class="o">},</span>
|
|
<span class="nx">NAV</span><span class="o">:</span> <span class="o">{</span><span class="nx">key</span><span class="o">:</span><span class="s2">"navigator"</span><span class="o">,</span> <span class="nx">value</span><span class="o">:</span> <span class="kc">null</span><span class="o">}</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* The set of Custom Event types supported by the Calendar</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar._EVENT_TYPES</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @private</span>
|
|
<span class="c">* @type Object</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_EVENT_TYPES</span> <span class="o">=</span> <span class="o">{</span>
|
|
<span class="nx">BEFORE_SELECT</span> <span class="o">:</span> <span class="s2">"beforeSelect"</span><span class="o">,</span>
|
|
<span class="nx">SELECT</span> <span class="o">:</span> <span class="s2">"select"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_DESELECT</span> <span class="o">:</span> <span class="s2">"beforeDeselect"</span><span class="o">,</span>
|
|
<span class="nx">DESELECT</span> <span class="o">:</span> <span class="s2">"deselect"</span><span class="o">,</span>
|
|
<span class="nx">CHANGE_PAGE</span> <span class="o">:</span> <span class="s2">"changePage"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_RENDER</span> <span class="o">:</span> <span class="s2">"beforeRender"</span><span class="o">,</span>
|
|
<span class="nx">RENDER</span> <span class="o">:</span> <span class="s2">"render"</span><span class="o">,</span>
|
|
<span class="nx">RESET</span> <span class="o">:</span> <span class="s2">"reset"</span><span class="o">,</span>
|
|
<span class="nx">CLEAR</span> <span class="o">:</span> <span class="s2">"clear"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_HIDE</span> <span class="o">:</span> <span class="s2">"beforeHide"</span><span class="o">,</span>
|
|
<span class="nx">HIDE</span> <span class="o">:</span> <span class="s2">"hide"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_SHOW</span> <span class="o">:</span> <span class="s2">"beforeShow"</span><span class="o">,</span>
|
|
<span class="nx">SHOW</span> <span class="o">:</span> <span class="s2">"show"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_HIDE_NAV</span> <span class="o">:</span> <span class="s2">"beforeHideNav"</span><span class="o">,</span>
|
|
<span class="nx">HIDE_NAV</span> <span class="o">:</span> <span class="s2">"hideNav"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_SHOW_NAV</span> <span class="o">:</span> <span class="s2">"beforeShowNav"</span><span class="o">,</span>
|
|
<span class="nx">SHOW_NAV</span> <span class="o">:</span> <span class="s2">"showNav"</span><span class="o">,</span>
|
|
<span class="nx">BEFORE_RENDER_NAV</span> <span class="o">:</span> <span class="s2">"beforeRenderNav"</span><span class="o">,</span>
|
|
<span class="nx">RENDER_NAV</span> <span class="o">:</span> <span class="s2">"renderNav"</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* The set of default style constants for the Calendar</span>
|
|
<span class="c">* @property YAHOO.widget.Calendar._STYLES</span>
|
|
<span class="c">* @final</span>
|
|
<span class="c">* @static</span>
|
|
<span class="c">* @private</span>
|
|
<span class="c">* @type Object</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_STYLES</span> <span class="o">=</span> <span class="o">{</span>
|
|
<span class="nx">CSS_ROW_HEADER</span><span class="o">:</span> <span class="s2">"calrowhead"</span><span class="o">,</span>
|
|
<span class="nx">CSS_ROW_FOOTER</span><span class="o">:</span> <span class="s2">"calrowfoot"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL</span> <span class="o">:</span> <span class="s2">"calcell"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_SELECTOR</span> <span class="o">:</span> <span class="s2">"selector"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_SELECTED</span> <span class="o">:</span> <span class="s2">"selected"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_SELECTABLE</span> <span class="o">:</span> <span class="s2">"selectable"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_RESTRICTED</span> <span class="o">:</span> <span class="s2">"restricted"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_TODAY</span> <span class="o">:</span> <span class="s2">"today"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_OOM</span> <span class="o">:</span> <span class="s2">"oom"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_OOB</span> <span class="o">:</span> <span class="s2">"previous"</span><span class="o">,</span>
|
|
<span class="nx">CSS_HEADER</span> <span class="o">:</span> <span class="s2">"calheader"</span><span class="o">,</span>
|
|
<span class="nx">CSS_HEADER_TEXT</span> <span class="o">:</span> <span class="s2">"calhead"</span><span class="o">,</span>
|
|
<span class="nx">CSS_BODY</span> <span class="o">:</span> <span class="s2">"calbody"</span><span class="o">,</span>
|
|
<span class="nx">CSS_WEEKDAY_CELL</span> <span class="o">:</span> <span class="s2">"calweekdaycell"</span><span class="o">,</span>
|
|
<span class="nx">CSS_WEEKDAY_ROW</span> <span class="o">:</span> <span class="s2">"calweekdayrow"</span><span class="o">,</span>
|
|
<span class="nx">CSS_FOOTER</span> <span class="o">:</span> <span class="s2">"calfoot"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CALENDAR</span> <span class="o">:</span> <span class="s2">"yui-calendar"</span><span class="o">,</span>
|
|
<span class="nx">CSS_SINGLE</span> <span class="o">:</span> <span class="s2">"single"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CONTAINER</span> <span class="o">:</span> <span class="s2">"yui-calcontainer"</span><span class="o">,</span>
|
|
<span class="nx">CSS_NAV_LEFT</span> <span class="o">:</span> <span class="s2">"calnavleft"</span><span class="o">,</span>
|
|
<span class="nx">CSS_NAV_RIGHT</span> <span class="o">:</span> <span class="s2">"calnavright"</span><span class="o">,</span>
|
|
<span class="nx">CSS_NAV</span> <span class="o">:</span> <span class="s2">"calnav"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CLOSE</span> <span class="o">:</span> <span class="s2">"calclose"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_TOP</span> <span class="o">:</span> <span class="s2">"calcelltop"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_LEFT</span> <span class="o">:</span> <span class="s2">"calcellleft"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_RIGHT</span> <span class="o">:</span> <span class="s2">"calcellright"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_BOTTOM</span> <span class="o">:</span> <span class="s2">"calcellbottom"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_HOVER</span> <span class="o">:</span> <span class="s2">"calcellhover"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT1</span> <span class="o">:</span> <span class="s2">"highlight1"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT2</span> <span class="o">:</span> <span class="s2">"highlight2"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT3</span> <span class="o">:</span> <span class="s2">"highlight3"</span><span class="o">,</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT4</span> <span class="o">:</span> <span class="s2">"highlight4"</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">prototype</span> <span class="o">=</span> <span class="o">{</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The configuration object used to set up the calendars various locale and style options.</span>
|
|
<span class="c"> * @property Config</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @deprecated Configuration properties should be set by calling Calendar.cfg.setProperty.</span>
|
|
<span class="c"> * @type Object</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">Config</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The parent CalendarGroup, only to be set explicitly by the parent group</span>
|
|
<span class="c"> * @property parent</span>
|
|
<span class="c"> * @type CalendarGroup</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">parent</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The index of this item in the parent group</span>
|
|
<span class="c"> * @property index</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">index</span> <span class="o">:</span> <span class="o">-</span><span class="m">1</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The collection of calendar table cells</span>
|
|
<span class="c"> * @property cells</span>
|
|
<span class="c"> * @type HTMLTableCellElement[]</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">cells</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The collection of calendar cell dates that is parallel to the cells collection. The array contains dates field arrays in the format of [YYYY, M, D].</span>
|
|
<span class="c"> * @property cellDates</span>
|
|
<span class="c"> * @type Array[](Number[])</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">cellDates</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The id that uniquely identifies this Calendar.</span>
|
|
<span class="c"> * @property id</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">id</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The unique id associated with the Calendar's container</span>
|
|
<span class="c"> * @property containerId</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">containerId</span><span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The DOM element reference that points to this calendar's container element. The calendar will be inserted into this element when the shell is rendered.</span>
|
|
<span class="c"> * @property oDomContainer</span>
|
|
<span class="c"> * @type HTMLElement</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">oDomContainer</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * A Date object representing today's date.</span>
|
|
<span class="c"> * @property today</span>
|
|
<span class="c"> * @type Date</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">today</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The list of render functions, along with required parameters, used to render cells. </span>
|
|
<span class="c"> * @property renderStack</span>
|
|
<span class="c"> * @type Array[]</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderStack</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * A copy of the initial render functions created before rendering.</span>
|
|
<span class="c"> * @property _renderStack</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @type Array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_renderStack</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * A reference to the CalendarNavigator instance created for this Calendar.</span>
|
|
<span class="c"> * Will be null if the "navigator" configuration property has not been set</span>
|
|
<span class="c"> * @property oNavigator</span>
|
|
<span class="c"> * @type CalendarNavigator</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">oNavigator</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The private list of initially selected dates.</span>
|
|
<span class="c"> * @property _selectedDates</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @type Array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_selectedDates</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * A map of DOM event handlers to attach to cells associated with specific CSS class names</span>
|
|
<span class="c"> * @property domEventMap</span>
|
|
<span class="c"> * @type Object</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">domEventMap</span> <span class="o">:</span> <span class="kc">null</span><span class="o">,</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Protected helper used to parse Calendar constructor/init arguments.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * As of 2.4.0, Calendar supports a simpler constructor </span>
|
|
<span class="c"> * signature. This method reconciles arguments</span>
|
|
<span class="c"> * received in the pre 2.4.0 and 2.4.0 formats.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @protected</span>
|
|
<span class="c"> * @method _parseArgs</span>
|
|
<span class="c"> * @param {Array} Function "arguments" array</span>
|
|
<span class="c"> * @return {Object} Object with id, container, config properties containing</span>
|
|
<span class="c"> * the reconciled argument values.</span>
|
|
<span class="c"> **/</span>
|
|
<span class="nx">_parseArgs</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">args</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="c">/*</span>
|
|
<span class="c"> 2.4.0 Constructors signatures</span>
|
|
<span class="c"></span>
|
|
<span class="c"> new Calendar(String)</span>
|
|
<span class="c"> new Calendar(HTMLElement)</span>
|
|
<span class="c"> new Calendar(String, ConfigObject)</span>
|
|
<span class="c"> new Calendar(HTMLElement, ConfigObject)</span>
|
|
<span class="c"></span>
|
|
<span class="c"> Pre 2.4.0 Constructor signatures</span>
|
|
<span class="c"></span>
|
|
<span class="c"> new Calendar(String, String)</span>
|
|
<span class="c"> new Calendar(String, HTMLElement)</span>
|
|
<span class="c"> new Calendar(String, String, ConfigObject)</span>
|
|
<span class="c"> new Calendar(String, HTMLElement, ConfigObject)</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">var</span> <span class="nx">nArgs</span> <span class="o">=</span> <span class="o">{</span><span class="nx">id</span><span class="o">:</span><span class="kc">null</span><span class="o">,</span> <span class="nx">container</span><span class="o">:</span><span class="kc">null</span><span class="o">,</span> <span class="nx">config</span><span class="o">:</span><span class="kc">null</span><span class="o">};</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">args</span> <span class="o">&&</span> <span class="nx">args</span><span class="o">.</span><span class="nx">length</span> <span class="o">&&</span> <span class="nx">args</span><span class="o">.</span><span class="nx">length</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">switch</span> <span class="o">(</span><span class="nx">args</span><span class="o">.</span><span class="nx">length</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">case</span> <span class="m">1</span><span class="o">:</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">container</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">config</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="m">2</span><span class="o">:</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isObject</span><span class="o">(</span><span class="nx">args</span><span class="o">[</span><span class="m">1</span><span class="o">])</span> <span class="o">&&</span> <span class="o">!</span><span class="nx">args</span><span class="o">[</span><span class="m">1</span><span class="o">].</span><span class="nx">tagName</span> <span class="o">&&</span> <span class="o">!(</span><span class="nx">args</span><span class="o">[</span><span class="m">1</span><span class="o">]</span> <span class="k">instanceof</span> <span class="nb">String</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">container</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">config</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">1</span><span class="o">];</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">container</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">1</span><span class="o">];</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">config</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">default</span><span class="o">:</span> <span class="c">// 3+</span>
|
|
<span class="c"></span> <span class="nx">nArgs</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">container</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">1</span><span class="o">];</span>
|
|
<span class="nx">nArgs</span><span class="o">.</span><span class="nx">config</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">2</span><span class="o">];</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Invalid constructor/init arguments"</span><span class="o">,</span> <span class="s2">"error"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">return</span> <span class="nx">nArgs</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Initializes the Calendar widget.</span>
|
|
<span class="c"> * @method init</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @param {String} id optional The id of the table element that will represent the Calendar widget. As of 2.4.0, this argument is optional.</span>
|
|
<span class="c"> * @param {String | HTMLElement} container The id of the container div element that will wrap the Calendar table, or a reference to a DIV element which exists in the document.</span>
|
|
<span class="c"> * @param {Object} config optional The configuration object containing the initial configuration values for the Calendar.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">init</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="nx">container</span><span class="o">,</span> <span class="nx">config</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="c">// Normalize 2.4.0, pre 2.4.0 args</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">nArgs</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseArgs</span><span class="o">(</span><span class="nx">arguments</span><span class="o">);</span>
|
|
|
|
<span class="nx">id</span> <span class="o">=</span> <span class="nx">nArgs</span><span class="o">.</span><span class="nx">id</span><span class="o">;</span>
|
|
<span class="nx">container</span> <span class="o">=</span> <span class="nx">nArgs</span><span class="o">.</span><span class="nx">container</span><span class="o">;</span>
|
|
<span class="nx">config</span> <span class="o">=</span> <span class="nx">nArgs</span><span class="o">.</span><span class="nx">config</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">get</span><span class="o">(</span><span class="nx">container</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Container not found in document."</span><span class="o">,</span> <span class="s2">"error"</span><span class="o">);</span> <span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">generateId</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">id</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">"_t"</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="nx">id</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">containerId</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">id</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">LogWriter</span><span class="o">(</span><span class="s2">"Calendar "</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">id</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">initEvents</span><span class="o">();</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">today</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Date</span><span class="o">();</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The Config object used to hold the configuration variables for the Calendar</span>
|
|
<span class="c"> * @property cfg</span>
|
|
<span class="c"> * @type YAHOO.util.Config</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Config</span><span class="o">(</span><span class="k">this</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The local object which contains the Calendar's options</span>
|
|
<span class="c"> * @property Options</span>
|
|
<span class="c"> * @type Object</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Options</span> <span class="o">=</span> <span class="o">{};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The local object which contains the Calendar's locale settings</span>
|
|
<span class="c"> * @property Locale</span>
|
|
<span class="c"> * @type Object</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span> <span class="o">=</span> <span class="o">{};</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">initStyles</span><span class="o">();</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CONTAINER</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_SINGLE</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cells</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_renderStack</span> <span class="o">=</span> <span class="o">[];</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">setupConfig</span><span class="o">();</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">config</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">applyConfig</span><span class="o">(</span><span class="nx">config</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">fireQueue</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Default Config listener for the iframe property. If the iframe config property is set to true, </span>
|
|
<span class="c"> * renders the built-in IFRAME shim if the container is relatively or absolutely positioned.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method configIframe</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configIframe</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">useIframe</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">inDocument</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">useIframe</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">pos</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getStyle</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="s2">"position"</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">pos</span> <span class="o">==</span> <span class="s2">"absolute"</span> <span class="o">||</span> <span class="nx">pos</span> <span class="o">==</span> <span class="s2">"relative"</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">inDocument</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">iframe</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"iframe"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">.</span><span class="nx">src</span> <span class="o">=</span> <span class="s2">"javascript:false;"</span><span class="o">;</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">setStyle</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">,</span> <span class="s2">"opacity"</span><span class="o">,</span> <span class="s2">"0"</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">env</span><span class="o">.</span><span class="nx">ua</span><span class="o">.</span><span class="nx">ie</span> <span class="o">&&</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">env</span><span class="o">.</span><span class="nx">ua</span><span class="o">.</span><span class="nx">ie</span> <span class="o"><=</span> <span class="m">6</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">,</span> <span class="s2">"fixedsize"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">firstChild</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">.</span><span class="nx">removeChild</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">iframe</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">iframe</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Default handler for the "title" property</span>
|
|
<span class="c"> * @method configTitle</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configTitle</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">title</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
|
|
<span class="c">// "" disables title bar</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">title</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">createTitleBar</span><span class="o">(</span><span class="nx">title</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">close</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">CLOSE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">close</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">removeTitleBar</span><span class="o">();</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">createTitleBar</span><span class="o">(</span><span class="s2">"&#160;"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Default handler for the "close" property</span>
|
|
<span class="c"> * @method configClose</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configClose</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">close</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">title</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">TITLE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">close</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">title</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">createTitleBar</span><span class="o">(</span><span class="s2">"&#160;"</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">createCloseButton</span><span class="o">();</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">removeCloseButton</span><span class="o">();</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">title</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">removeTitleBar</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Initializes Calendar's built-in CustomEvents</span>
|
|
<span class="c"> * @method initEvents</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">initEvents</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defEvents</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_EVENT_TYPES</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired before a selection is made</span>
|
|
<span class="c"> * @event beforeSelectEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeSelectEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_SELECT</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when a selection is made</span>
|
|
<span class="c"> * @event selectEvent</span>
|
|
<span class="c"> * @param {Array} Array of Date field arrays in the format [YYYY, MM, DD].</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">selectEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">SELECT</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired before a selection is made</span>
|
|
<span class="c"> * @event beforeDeselectEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeDeselectEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_DESELECT</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when a selection is made</span>
|
|
<span class="c"> * @event deselectEvent</span>
|
|
<span class="c"> * @param {Array} Array of Date field arrays in the format [YYYY, MM, DD].</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">deselectEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">DESELECT</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when the Calendar page is changed</span>
|
|
<span class="c"> * @event changePageEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">changePageEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">CHANGE_PAGE</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired before the Calendar is rendered</span>
|
|
<span class="c"> * @event beforeRenderEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeRenderEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_RENDER</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when the Calendar is rendered</span>
|
|
<span class="c"> * @event renderEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">RENDER</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when the Calendar is reset</span>
|
|
<span class="c"> * @event resetEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">RESET</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired when the Calendar is cleared</span>
|
|
<span class="c"> * @event clearEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">clearEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">CLEAR</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired just before the Calendar is to be shown</span>
|
|
<span class="c"> * @event beforeShowEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeShowEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_SHOW</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired after the Calendar is shown</span>
|
|
<span class="c"> * @event showEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">showEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">SHOW</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired just before the Calendar is to be hidden</span>
|
|
<span class="c"> * @event beforeHideEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeHideEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_HIDE</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired after the Calendar is hidden</span>
|
|
<span class="c"> * @event hideEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">hideEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">HIDE</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired just before the CalendarNavigator is to be shown</span>
|
|
<span class="c"> * @event beforeShowNavEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeShowNavEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_SHOW_NAV</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired after the CalendarNavigator is shown</span>
|
|
<span class="c"> * @event showNavEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">showNavEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">SHOW_NAV</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired just before the CalendarNavigator is to be hidden</span>
|
|
<span class="c"> * @event beforeHideNavEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeHideNavEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_HIDE_NAV</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired after the CalendarNavigator is hidden</span>
|
|
<span class="c"> * @event hideNavEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">hideNavEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">HIDE_NAV</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired just before the CalendarNavigator is to be rendered</span>
|
|
<span class="c"> * @event beforeRenderNavEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeRenderNavEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">BEFORE_RENDER_NAV</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Fired after the CalendarNavigator is rendered</span>
|
|
<span class="c"> * @event renderNavEvent</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderNavEvent</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">CustomEvent</span><span class="o">(</span><span class="nx">defEvents</span><span class="o">.</span><span class="nx">RENDER_NAV</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeSelectEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onBeforeSelect</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">selectEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onSelect</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeDeselectEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onBeforeDeselect</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">deselectEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onDeselect</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">changePageEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onChangePage</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onRender</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onReset</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">clearEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">onClear</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default event function that is attached to a date link within a calendar cell</span>
|
|
<span class="c"> * when the calendar is rendered.</span>
|
|
<span class="c"> * @method doSelectCell</span>
|
|
<span class="c"> * @param {DOMEvent} e The event</span>
|
|
<span class="c"> * @param {Calendar} cal A reference to the calendar passed by the Event utility</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">doSelectCell</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">e</span><span class="o">,</span> <span class="nx">cal</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cell</span><span class="o">,</span><span class="nx">index</span><span class="o">,</span><span class="nx">d</span><span class="o">,</span><span class="nx">date</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">target</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">getTarget</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">tagName</span> <span class="o">=</span> <span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">();</span>
|
|
<span class="k">var</span> <span class="nx">defSelector</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
|
|
<span class="k">while</span> <span class="o">(</span><span class="nx">tagName</span> <span class="o">!=</span> <span class="s2">"td"</span> <span class="o">&&</span> <span class="o">!</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">))</span> <span class="o">{</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">defSelector</span> <span class="o">&&</span> <span class="nx">tagName</span> <span class="o">==</span> <span class="s2">"a"</span> <span class="o">&&</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTOR</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">defSelector</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="nx">target</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">;</span>
|
|
<span class="nx">tagName</span> <span class="o">=</span> <span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">();</span>
|
|
<span class="c">// TODO: No need to go all the way up to html.</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">tagName</span> <span class="o">==</span> <span class="s2">"html"</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">defSelector</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="c">// Stop link href navigation for default renderer</span>
|
|
<span class="c"></span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">preventDefault</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">cell</span> <span class="o">=</span> <span class="nx">target</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">index</span> <span class="o">=</span> <span class="nx">cell</span><span class="o">.</span><span class="nx">id</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="s2">"cell"</span><span class="o">)[</span><span class="m">1</span><span class="o">];</span>
|
|
<span class="nx">d</span> <span class="o">=</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">[</span><span class="nx">index</span><span class="o">];</span>
|
|
<span class="nx">date</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">d</span><span class="o">[</span><span class="m">0</span><span class="o">],</span><span class="nx">d</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">,</span><span class="nx">d</span><span class="o">[</span><span class="m">2</span><span class="o">]);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">link</span><span class="o">;</span>
|
|
|
|
<span class="nx">cal</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Selecting cell "</span> <span class="o">+</span> <span class="nx">index</span> <span class="o">+</span> <span class="s2">" via click"</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cal</span><span class="o">.</span><span class="nx">Options</span><span class="o">.</span><span class="nx">MULTI_SELECT</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">link</span> <span class="o">=</span> <span class="nx">cell</span><span class="o">.</span><span class="nx">getElementsByTagName</span><span class="o">(</span><span class="s2">"a"</span><span class="o">)[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">link</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">link</span><span class="o">.</span><span class="nx">blur</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">cellDate</span> <span class="o">=</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">[</span><span class="nx">index</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">cellDateIndex</span> <span class="o">=</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">_indexOfSelectedFieldArray</span><span class="o">(</span><span class="nx">cellDate</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cellDateIndex</span> <span class="o">></span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cal</span><span class="o">.</span><span class="nx">deselectCell</span><span class="o">(</span><span class="nx">index</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">cal</span><span class="o">.</span><span class="nx">selectCell</span><span class="o">(</span><span class="nx">index</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">link</span> <span class="o">=</span> <span class="nx">cell</span><span class="o">.</span><span class="nx">getElementsByTagName</span><span class="o">(</span><span class="s2">"a"</span><span class="o">)[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">link</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">link</span><span class="o">.</span><span class="nx">blur</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="nx">cal</span><span class="o">.</span><span class="nx">selectCell</span><span class="o">(</span><span class="nx">index</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The event that is executed when the user hovers over a cell</span>
|
|
<span class="c"> * @method doCellMouseOver</span>
|
|
<span class="c"> * @param {DOMEvent} e The event</span>
|
|
<span class="c"> * @param {Calendar} cal A reference to the calendar passed by the Event utility</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">doCellMouseOver</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">e</span><span class="o">,</span> <span class="nx">cal</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">target</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">getTarget</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">while</span> <span class="o">(</span><span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span> <span class="o">&&</span> <span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">()</span> <span class="o">!=</span> <span class="s2">"td"</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="nx">target</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span> <span class="o">||</span> <span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">()</span> <span class="o">==</span> <span class="s2">"html"</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_HOVER</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The event that is executed when the user moves the mouse out of a cell</span>
|
|
<span class="c"> * @method doCellMouseOut</span>
|
|
<span class="c"> * @param {DOMEvent} e The event</span>
|
|
<span class="c"> * @param {Calendar} cal A reference to the calendar passed by the Event utility</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">doCellMouseOut</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">e</span><span class="o">,</span> <span class="nx">cal</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">target</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">e</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">getTarget</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">while</span> <span class="o">(</span><span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span> <span class="o">&&</span> <span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">()</span> <span class="o">!=</span> <span class="s2">"td"</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">target</span> <span class="o">=</span> <span class="nx">target</span><span class="o">.</span><span class="nx">parentNode</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span> <span class="o">||</span> <span class="nx">target</span><span class="o">.</span><span class="nx">tagName</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">()</span> <span class="o">==</span> <span class="s2">"html"</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="nx">target</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_HOVER</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="nx">setupConfig</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The month/year representing the current visible Calendar date (mm/yyyy)</span>
|
|
<span class="c"> * @config pagedate</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default today's date</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="k">new</span> <span class="nb">Date</span><span class="o">(),</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configPageDate</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The date or range of dates representing the current Calendar selection</span>
|
|
<span class="c"> * @config selected</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default []</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:[],</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configSelected</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The title to display above the Calendar's month header</span>
|
|
<span class="c"> * @config title</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default ""</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">TITLE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">TITLE</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configTitle</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Whether or not a close button should be displayed for this Calendar</span>
|
|
<span class="c"> * @config close</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default false</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">CLOSE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">CLOSE</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configClose</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * 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.</span>
|
|
<span class="c"> * This property is enabled by default for IE6 and below. It is disabled by default for other browsers for performance reasons, but can be </span>
|
|
<span class="c"> * enabled if required.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @config iframe</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default true for IE6 and below, false for all other browsers</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">IFRAME</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">IFRAME</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configIframe</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkBoolean</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The minimum selectable date in the current Calendar (mm/dd/yyyy)</span>
|
|
<span class="c"> * @config mindate</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default null</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MINDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MINDATE</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configMinDate</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The maximum selectable date in the current Calendar (mm/dd/yyyy)</span>
|
|
<span class="c"> * @config maxdate</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default null</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MAXDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MAXDATE</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configMaxDate</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
|
|
<span class="c">// Options properties</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * True if the Calendar should allow multiple selections. False by default.</span>
|
|
<span class="c"> * @config MULTI_SELECT</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default false</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MULTI_SELECT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MULTI_SELECT</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkBoolean</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The weekday the week begins on. Default is 0 (Sunday = 0, Monday = 1 ... Saturday = 6).</span>
|
|
<span class="c"> * @config START_WEEKDAY</span>
|
|
<span class="c"> * @type number</span>
|
|
<span class="c"> * @default 0</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">START_WEEKDAY</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">START_WEEKDAY</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * True if the Calendar should show weekday labels. True by default.</span>
|
|
<span class="c"> * @config SHOW_WEEKDAYS</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default true</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEKDAYS</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEKDAYS</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkBoolean</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * True if the Calendar should show week row headers. False by default.</span>
|
|
<span class="c"> * @config SHOW_WEEK_HEADER</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default false</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_HEADER</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_HEADER</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkBoolean</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * True if the Calendar should show week row footers. False by default.</span>
|
|
<span class="c"> * @config SHOW_WEEK_FOOTER</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default false</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_FOOTER</span><span class="o">.</span><span class="nx">key</span><span class="o">,{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_FOOTER</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkBoolean</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * True if the Calendar should suppress weeks that are not a part of the current month. False by default.</span>
|
|
<span class="c"> * @config HIDE_BLANK_WEEKS</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> * @default false</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">HIDE_BLANK_WEEKS</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">HIDE_BLANK_WEEKS</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkBoolean</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The image that should be used for the left navigation arrow.</span>
|
|
<span class="c"> * @config NAV_ARROW_LEFT</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @deprecated You can customize the image by overriding the default CSS class for the left arrow - "calnavleft" </span>
|
|
<span class="c"> * @default null</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV_ARROW_LEFT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV_ARROW_LEFT</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The image that should be used for the right navigation arrow.</span>
|
|
<span class="c"> * @config NAV_ARROW_RIGHT</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @deprecated You can customize the image by overriding the default CSS class for the right arrow - "calnavright"</span>
|
|
<span class="c"> * @default null</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV_ARROW_RIGHT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV_ARROW_RIGHT</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configOptions</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">// Locale properties</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The short month labels for the current locale.</span>
|
|
<span class="c"> * @config MONTHS_SHORT</span>
|
|
<span class="c"> * @type String[]</span>
|
|
<span class="c"> * @default ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_SHORT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_SHORT</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The long month labels for the current locale.</span>
|
|
<span class="c"> * @config MONTHS_LONG</span>
|
|
<span class="c"> * @type String[]</span>
|
|
<span class="c"> * @default ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_LONG</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_LONG</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The 1-character weekday labels for the current locale.</span>
|
|
<span class="c"> * @config WEEKDAYS_1CHAR</span>
|
|
<span class="c"> * @type String[]</span>
|
|
<span class="c"> * @default ["S", "M", "T", "W", "T", "F", "S"]</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_1CHAR</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_1CHAR</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The short weekday labels for the current locale.</span>
|
|
<span class="c"> * @config WEEKDAYS_SHORT</span>
|
|
<span class="c"> * @type String[]</span>
|
|
<span class="c"> * @default ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_SHORT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_SHORT</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The medium weekday labels for the current locale.</span>
|
|
<span class="c"> * @config WEEKDAYS_MEDIUM</span>
|
|
<span class="c"> * @type String[]</span>
|
|
<span class="c"> * @default ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_MEDIUM</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_MEDIUM</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The long weekday labels for the current locale.</span>
|
|
<span class="c"> * @config WEEKDAYS_LONG</span>
|
|
<span class="c"> * @type String[]</span>
|
|
<span class="c"> * @default ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_LONG</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_LONG</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Refreshes the locale values used to build the Calendar.</span>
|
|
<span class="c"> * @method refreshLocale</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">var</span> <span class="nx">refreshLocale</span> <span class="o">=</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">START_WEEKDAY</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_SHORT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_LONG</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_1CHAR</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_SHORT</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_MEDIUM</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">subscribeToConfigEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_LONG</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">refreshLocale</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The setting that determines which length of month labels should be used. Possible values are "short" and "long".</span>
|
|
<span class="c"> * @config LOCALE_MONTHS</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default "long"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocaleValues</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The setting that determines which length of weekday labels should be used. Possible values are "1char", "short", "medium", and "long".</span>
|
|
<span class="c"> * @config LOCALE_WEEKDAYS</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default "short"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocaleValues</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The value used to delimit individual dates in a date string passed to various Calendar functions.</span>
|
|
<span class="c"> * @config DATE_DELIMITER</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default ","</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_DELIMITER</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_DELIMITER</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The value used to delimit date fields in a date string passed to various Calendar functions.</span>
|
|
<span class="c"> * @config DATE_FIELD_DELIMITER</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default "/"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_FIELD_DELIMITER</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_FIELD_DELIMITER</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The value used to delimit date ranges in a date string passed to various Calendar functions.</span>
|
|
<span class="c"> * @config DATE_RANGE_DELIMITER</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default "-"</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_RANGE_DELIMITER</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_RANGE_DELIMITER</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the month in a month/year date string</span>
|
|
<span class="c"> * @config MY_MONTH_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 1</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_MONTH_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_MONTH_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the year in a month/year date string</span>
|
|
<span class="c"> * @config MY_YEAR_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 2</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_YEAR_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_YEAR_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the month in a month/day date string</span>
|
|
<span class="c"> * @config MD_MONTH_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 1</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MD_MONTH_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MD_MONTH_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the day in a month/year date string</span>
|
|
<span class="c"> * @config MD_DAY_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 2</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MD_DAY_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MD_DAY_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the month in a month/day/year date string</span>
|
|
<span class="c"> * @config MDY_MONTH_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 1</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MDY_MONTH_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MDY_MONTH_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the day in a month/day/year date string</span>
|
|
<span class="c"> * @config MDY_DAY_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 2</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MDY_DAY_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MDY_DAY_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the year in a month/day/year date string</span>
|
|
<span class="c"> * @config MDY_YEAR_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 3</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MDY_YEAR_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MDY_YEAR_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the month in the month year label string used as the Calendar header</span>
|
|
<span class="c"> * @config MY_LABEL_MONTH_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 1</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_MONTH_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_MONTH_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The position of the year in the month year label string used as the Calendar header</span>
|
|
<span class="c"> * @config MY_LABEL_YEAR_POSITION</span>
|
|
<span class="c"> * @type Number</span>
|
|
<span class="c"> * @default 2</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_YEAR_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_YEAR_POSITION</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span><span class="o">,</span> <span class="nx">validator</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">checkNumber</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The suffix used after the month when rendering the Calendar header</span>
|
|
<span class="c"> * @config MY_LABEL_MONTH_SUFFIX</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default " "</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_MONTH_SUFFIX</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_MONTH_SUFFIX</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The suffix used after the year when rendering the Calendar header</span>
|
|
<span class="c"> * @config MY_LABEL_YEAR_SUFFIX</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> * @default ""</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_YEAR_SUFFIX</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_LABEL_YEAR_SUFFIX</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configLocale</span> <span class="o">}</span> <span class="o">);</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Configuration for the Month/Year CalendarNavigator UI which allows the user to jump directly to a </span>
|
|
<span class="c"> * specific Month/Year without having to scroll sequentially through months.</span>
|
|
<span class="c"> * <p></span>
|
|
<span class="c"> * Setting this property to null (default value) or false, will disable the CalendarNavigator UI.</span>
|
|
<span class="c"> * </p></span>
|
|
<span class="c"> * <p></span>
|
|
<span class="c"> * Setting this property to true will enable the CalendarNavigatior UI with the default CalendarNavigator configuration values.</span>
|
|
<span class="c"> * </p></span>
|
|
<span class="c"> * <p></span>
|
|
<span class="c"> * This property can also be set to an object literal containing configuration properties for the CalendarNavigator UI.</span>
|
|
<span class="c"> * The configuration object expects the the following case-sensitive properties, with the "strings" property being a nested object.</span>
|
|
<span class="c"> * Any properties which are not provided will use the default values (defined in the CalendarNavigator class).</span>
|
|
<span class="c"> * </p></span>
|
|
<span class="c"> * <dl></span>
|
|
<span class="c"> * <dt>strings</dt></span>
|
|
<span class="c"> * <dd><em>Object</em> : An object with the properties shown below, defining the string labels to use in the Navigator's UI</span>
|
|
<span class="c"> * <dl></span>
|
|
<span class="c"> * <dt>month</dt><dd><em>String</em> : The string to use for the month label. Defaults to "Month".</dd></span>
|
|
<span class="c"> * <dt>year</dt><dd><em>String</em> : The string to use for the year label. Defaults to "Year".</dd></span>
|
|
<span class="c"> * <dt>submit</dt><dd><em>String</em> : The string to use for the submit button label. Defaults to "Okay".</dd></span>
|
|
<span class="c"> * <dt>cancel</dt><dd><em>String</em> : The string to use for the cancel button label. Defaults to "Cancel".</dd></span>
|
|
<span class="c"> * <dt>invalidYear</dt><dd><em>String</em> : The string to use for invalid year values. Defaults to "Year needs to be a number".</dd></span>
|
|
<span class="c"> * </dl></span>
|
|
<span class="c"> * </dd></span>
|
|
<span class="c"> * <dt>monthFormat</dt><dd><em>String</em> : The month format to use. Either YAHOO.widget.Calendar.LONG, or YAHOO.widget.Calendar.SHORT. Defaults to YAHOO.widget.Calendar.LONG</dd></span>
|
|
<span class="c"> * <dt>initialFocus</dt><dd><em>String</em> : Either "year" or "month" specifying which input control should get initial focus. Defaults to "year"</dd></span>
|
|
<span class="c"> * </dl></span>
|
|
<span class="c"> * <p>E.g.</p></span>
|
|
<span class="c"> * <pre></span>
|
|
<span class="c"> * var navConfig = {</span>
|
|
<span class="c"> * strings: {</span>
|
|
<span class="c"> * month:"Calendar Month",</span>
|
|
<span class="c"> * year:"Calendar Year",</span>
|
|
<span class="c"> * submit: "Submit",</span>
|
|
<span class="c"> * cancel: "Cancel",</span>
|
|
<span class="c"> * invalidYear: "Please enter a valid year"</span>
|
|
<span class="c"> * },</span>
|
|
<span class="c"> * monthFormat: YAHOO.widget.Calendar.SHORT,</span>
|
|
<span class="c"> * initialFocus: "month"</span>
|
|
<span class="c"> * }</span>
|
|
<span class="c"> * </pre></span>
|
|
<span class="c"> * @config navigator</span>
|
|
<span class="c"> * @type {Object|Boolean}</span>
|
|
<span class="c"> * @default null</span>
|
|
<span class="c"> */</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">addProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">{</span> <span class="nx">value</span><span class="o">:</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV</span><span class="o">.</span><span class="nx">value</span><span class="o">,</span> <span class="nx">handler</span><span class="o">:</span><span class="k">this</span><span class="o">.</span><span class="nx">configNavigator</span> <span class="o">}</span> <span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for the "pagedate" property</span>
|
|
<span class="c"> * @method configPageDate</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configPageDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parsePageDate</span><span class="o">(</span><span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">]),</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for the "mindate" property</span>
|
|
<span class="c"> * @method configMinDate</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configMinDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">val</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">val</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDate</span><span class="o">(</span><span class="nx">val</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">MINDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">val</span><span class="o">[</span><span class="m">0</span><span class="o">],(</span><span class="nx">val</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">),</span><span class="nx">val</span><span class="o">[</span><span class="m">2</span><span class="o">]));</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for the "maxdate" property</span>
|
|
<span class="c"> * @method configMaxDate</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configMaxDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">val</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">val</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDate</span><span class="o">(</span><span class="nx">val</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">MAXDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">val</span><span class="o">[</span><span class="m">0</span><span class="o">],(</span><span class="nx">val</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">),</span><span class="nx">val</span><span class="o">[</span><span class="m">2</span><span class="o">]));</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for the "selected" property</span>
|
|
<span class="c"> * @method configSelected</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configSelected</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">cfgSelected</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">selected</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">selected</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDates</span><span class="o">(</span><span class="nx">selected</span><span class="o">),</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(!</span> <span class="k">this</span><span class="o">.</span><span class="nx">_selectedDates</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_selectedDates</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for all configuration options properties</span>
|
|
<span class="c"> * @method configOptions</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configOptions</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Options</span><span class="o">[</span><span class="nx">type</span><span class="o">.</span><span class="nx">toUpperCase</span><span class="o">()]</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for all configuration locale properties</span>
|
|
<span class="c"> * @method configLocale</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configLocale</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">[</span><span class="nx">type</span><span class="o">.</span><span class="nx">toUpperCase</span><span class="o">()]</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for all configuration locale field length properties</span>
|
|
<span class="c"> * @method configLocaleValues</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configLocaleValues</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="nx">type</span> <span class="o">=</span> <span class="nx">type</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">();</span>
|
|
<span class="k">var</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
|
|
<span class="nx">switch</span> <span class="o">(</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">case</span> <span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span><span class="o">.</span><span class="nx">key</span><span class="o">:</span>
|
|
<span class="nx">switch</span> <span class="o">(</span><span class="nx">val</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">case</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">SHORT</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_SHORT</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">LONG</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MONTHS_LONG</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">defCfg</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">key</span><span class="o">:</span>
|
|
<span class="nx">switch</span> <span class="o">(</span><span class="nx">val</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">case</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">ONE_CHAR</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_1CHAR</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">SHORT</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_SHORT</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MEDIUM</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_MEDIUM</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">LONG</span><span class="o">:</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">WEEKDAYS_LONG</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">START_WEEKDAY</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">START_WEEKDAY</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">START_WEEKDAY</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">w</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">w</span><span class="o"><</span><span class="nx">START_WEEKDAY</span><span class="o">;++</span><span class="nx">w</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">shift</span><span class="o">());</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The default handler for the "navigator" property</span>
|
|
<span class="c"> * @method configNavigator</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">configNavigator</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">args</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">val</span> <span class="o">=</span> <span class="nx">args</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">CalendarNavigator</span> <span class="o">&&</span> <span class="o">(</span><span class="nx">val</span> <span class="o">===</span> <span class="kc">true</span> <span class="o">||</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isObject</span><span class="o">(</span><span class="nx">val</span><span class="o">)))</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">oNavigator</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oNavigator</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">CalendarNavigator</span><span class="o">(</span><span class="k">this</span><span class="o">);</span>
|
|
<span class="c">// Cleanup DOM Refs/Events before innerHTML is removed.</span>
|
|
<span class="c"></span> <span class="k">function</span> <span class="nx">erase</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">pages</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oNavigator</span><span class="o">.</span><span class="nx">erase</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeRenderEvent</span><span class="o">.</span><span class="nx">subscribe</span><span class="o">(</span><span class="nx">erase</span><span class="o">,</span> <span class="k">this</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oNavigator</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oNavigator</span><span class="o">.</span><span class="nx">destroy</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oNavigator</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Defines the style constants for the Calendar</span>
|
|
<span class="c"> * @method initStyles</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">initStyles</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defStyle</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_STYLES</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">Style</span> <span class="o">=</span> <span class="o">{</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_ROW_HEADER</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_ROW_HEADER</span><span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_ROW_HEADER</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_ROW_FOOTER</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_ROW_FOOTER</span><span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_ROW_FOOTER</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_SELECTOR</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_SELECTOR</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTOR</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_SELECTED</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_SELECTED</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTED</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_SELECTABLE</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_SELECTABLE</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_RESTRICTED</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_RESTRICTED</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_RESTRICTED</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_TODAY</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_TODAY</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_TODAY</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_OOM</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_OOM</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_OOM</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_OOB</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_OOB</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_OOB</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_HEADER</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_HEADER</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_HEADER</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_HEADER_TEXT</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_HEADER_TEXT</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_HEADER_TEXT</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_BODY</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_BODY</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_BODY</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_WEEKDAY_CELL</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_WEEKDAY_CELL</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_WEEKDAY_CELL</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_WEEKDAY_ROW</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_WEEKDAY_ROW</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_WEEKDAY_ROW</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_FOOTER</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_FOOTER</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_FOOTER</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CALENDAR</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CALENDAR</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CALENDAR</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_SINGLE</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_SINGLE</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_SINGLE</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CONTAINER</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CONTAINER</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CONTAINER</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_NAV_LEFT</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_NAV_LEFT</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_NAV_LEFT</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_NAV_RIGHT</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_NAV_RIGHT</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_NAV_RIGHT</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_NAV</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_NAV</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_NAV</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CLOSE</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CLOSE</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CLOSE</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_TOP</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_TOP</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_TOP</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_LEFT</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_LEFT</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_LEFT</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_RIGHT</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_RIGHT</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_RIGHT</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_BOTTOM</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_BOTTOM</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_BOTTOM</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_HOVER</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_HOVER</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_HOVER</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_HIGHLIGHT1</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT1</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT1</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_HIGHLIGHT2</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT2</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT2</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_HIGHLIGHT3</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT3</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT3</span><span class="o">,</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * @property Style.CSS_CELL_HIGHLIGHT4</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">CSS_CELL_HIGHLIGHT4</span> <span class="o">:</span> <span class="nx">defStyle</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT4</span>
|
|
<span class="o">};</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Builds the date label that will be displayed in the calendar header or</span>
|
|
<span class="c"> * footer, depending on configuration.</span>
|
|
<span class="c"> * @method buildMonthLabel</span>
|
|
<span class="c"> * @return {String} The formatted calendar month label</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">buildMonthLabel</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">pageDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">monthLabel</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_MONTHS</span><span class="o">[</span><span class="nx">pageDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()]</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MY_LABEL_MONTH_SUFFIX</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">yearLabel</span> <span class="o">=</span> <span class="nx">pageDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MY_LABEL_YEAR_SUFFIX</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MY_LABEL_MONTH_POSITION</span> <span class="o">==</span> <span class="m">2</span> <span class="o">||</span> <span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MY_LABEL_YEAR_POSITION</span> <span class="o">==</span> <span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">yearLabel</span> <span class="o">+</span> <span class="nx">monthLabel</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">monthLabel</span> <span class="o">+</span> <span class="nx">yearLabel</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Builds the date digit that will be displayed in calendar cells</span>
|
|
<span class="c"> * @method buildDayLabel</span>
|
|
<span class="c"> * @param {Date} workingDate The current working date</span>
|
|
<span class="c"> * @return {String} The formatted day label</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">buildDayLabel</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Creates the title bar element and adds it to Calendar container DIV</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method createTitleBar</span>
|
|
<span class="c"> * @param {String} strTitle The title to display in the title bar</span>
|
|
<span class="c"> * @return The title bar element</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">createTitleBar</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">strTitle</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">tDiv</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">CalendarGroup</span><span class="o">.</span><span class="nx">CSS_2UPTITLE</span><span class="o">,</span> <span class="s2">"div"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">)[</span><span class="m">0</span><span class="o">]</span> <span class="o">||</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">);</span>
|
|
<span class="nx">tDiv</span><span class="o">.</span><span class="nx">className</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">CalendarGroup</span><span class="o">.</span><span class="nx">CSS_2UPTITLE</span><span class="o">;</span>
|
|
<span class="nx">tDiv</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">strTitle</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">insertBefore</span><span class="o">(</span><span class="nx">tDiv</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">firstChild</span><span class="o">);</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="s2">"withtitle"</span><span class="o">);</span>
|
|
|
|
<span class="k">return</span> <span class="nx">tDiv</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Removes the title bar element from the DOM</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method removeTitleBar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">removeTitleBar</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">tDiv</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">CalendarGroup</span><span class="o">.</span><span class="nx">CSS_2UPTITLE</span><span class="o">,</span> <span class="s2">"div"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">)[</span><span class="m">0</span><span class="o">]</span> <span class="o">||</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">tDiv</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">purgeElement</span><span class="o">(</span><span class="nx">tDiv</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">removeChild</span><span class="o">(</span><span class="nx">tDiv</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="s2">"withtitle"</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Creates the close button HTML element and adds it to Calendar container DIV</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method createCloseButton</span>
|
|
<span class="c"> * @return The close HTML element created</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">createCloseButton</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">Dom</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">,</span>
|
|
<span class="nx">Event</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">,</span>
|
|
<span class="nx">cssClose</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">CalendarGroup</span><span class="o">.</span><span class="nx">CSS_2UPCLOSE</span><span class="o">,</span>
|
|
<span class="nx">DEPR_CLOSE_PATH</span> <span class="o">=</span> <span class="s2">"us/my/bn/x_d.gif"</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">lnk</span> <span class="o">=</span> <span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="s2">"link-close"</span><span class="o">,</span> <span class="s2">"a"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">)[</span><span class="m">0</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">lnk</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">lnk</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"a"</span><span class="o">);</span>
|
|
<span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="nx">lnk</span><span class="o">,</span> <span class="s2">"click"</span><span class="o">,</span> <span class="k">function</span><span class="o">(</span><span class="nx">e</span><span class="o">,</span> <span class="nx">cal</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cal</span><span class="o">.</span><span class="nx">hide</span><span class="o">();</span>
|
|
<span class="nx">Event</span><span class="o">.</span><span class="nx">preventDefault</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="o">},</span> <span class="k">this</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">lnk</span><span class="o">.</span><span class="nx">href</span> <span class="o">=</span> <span class="s2">"#"</span><span class="o">;</span>
|
|
<span class="nx">lnk</span><span class="o">.</span><span class="nx">className</span> <span class="o">=</span> <span class="s2">"link-close"</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">!==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">img</span> <span class="o">=</span> <span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="nx">cssClose</span><span class="o">,</span> <span class="s2">"img"</span><span class="o">,</span> <span class="nx">lnk</span><span class="o">)[</span><span class="m">0</span><span class="o">]</span> <span class="o">||</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"img"</span><span class="o">);</span>
|
|
<span class="nx">img</span><span class="o">.</span><span class="nx">src</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">+</span> <span class="nx">DEPR_CLOSE_PATH</span><span class="o">;</span>
|
|
<span class="nx">img</span><span class="o">.</span><span class="nx">className</span> <span class="o">=</span> <span class="nx">cssClose</span><span class="o">;</span>
|
|
<span class="nx">lnk</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">img</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">lnk</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s1">'<span class="'</span> <span class="o">+</span> <span class="nx">cssClose</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CLOSE</span> <span class="o">+</span> <span class="s1">'"></span>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">lnk</span><span class="o">);</span>
|
|
|
|
<span class="k">return</span> <span class="nx">lnk</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Removes the close button HTML element from the DOM</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method removeCloseButton</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">removeCloseButton</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">btn</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="s2">"link-close"</span><span class="o">,</span> <span class="s2">"a"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">)[</span><span class="m">0</span><span class="o">]</span> <span class="o">||</span> <span class="kc">null</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">btn</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">purgeElement</span><span class="o">(</span><span class="nx">btn</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">removeChild</span><span class="o">(</span><span class="nx">btn</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the calendar header.</span>
|
|
<span class="c"> * @method renderHeader</span>
|
|
<span class="c"> * @param {Array} html The current working HTML array</span>
|
|
<span class="c"> * @return {Array} The current working HTML array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderHeader</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">html</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Rendering header"</span><span class="o">,</span> <span class="s2">"render"</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">colSpan</span> <span class="o">=</span> <span class="m">7</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">DEPR_NAV_LEFT</span> <span class="o">=</span> <span class="s2">"us/tr/callt.gif"</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">DEPR_NAV_RIGHT</span> <span class="o">=</span> <span class="s2">"us/tr/calrt.gif"</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_HEADER</span><span class="o">.</span><span class="nx">key</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">colSpan</span> <span class="o">+=</span> <span class="m">1</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_FOOTER</span><span class="o">.</span><span class="nx">key</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">colSpan</span> <span class="o">+=</span> <span class="m">1</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s2">"<thead>"</span><span class="o">;</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s2">"<tr>"</span><span class="o">;</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<th colspan="'</span> <span class="o">+</span> <span class="nx">colSpan</span> <span class="o">+</span> <span class="s1">'" class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_HEADER_TEXT</span> <span class="o">+</span> <span class="s1">'">'</span><span class="o">;</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<div class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_HEADER</span> <span class="o">+</span> <span class="s1">'">'</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">renderLeft</span><span class="o">,</span> <span class="nx">renderRight</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">index</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">renderLeft</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">index</span> <span class="o">==</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="s2">"pages"</span><span class="o">)</span> <span class="o">-</span><span class="m">1</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">renderRight</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">renderLeft</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="nx">renderRight</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">renderLeft</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">leftArrow</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV_ARROW_LEFT</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="c">// Check for deprecated customization - If someone set IMG_ROOT, but didn't set NAV_ARROW_LEFT, then set NAV_ARROW_LEFT to the old deprecated value</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">leftArrow</span> <span class="o">===</span> <span class="kc">null</span> <span class="o">&&</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">!==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">leftArrow</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">+</span> <span class="nx">DEPR_NAV_LEFT</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">var</span> <span class="nx">leftStyle</span> <span class="o">=</span> <span class="o">(</span><span class="nx">leftArrow</span> <span class="o">===</span> <span class="kc">null</span><span class="o">)</span> <span class="o">?</span> <span class="s2">""</span> <span class="o">:</span> <span class="s1">' style="background-image:url('</span> <span class="o">+</span> <span class="nx">leftArrow</span> <span class="o">+</span> <span class="s1">')"'</span><span class="o">;</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<a class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_NAV_LEFT</span> <span class="o">+</span> <span class="s1">'"'</span> <span class="o">+</span> <span class="nx">leftStyle</span> <span class="o">+</span> <span class="s1">' >&#160;</a>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">lbl</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">buildMonthLabel</span><span class="o">();</span>
|
|
<span class="k">var</span> <span class="nx">cal</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">parent</span> <span class="o">||</span> <span class="k">this</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cal</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="s2">"navigator"</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">lbl</span> <span class="o">=</span> <span class="s2">"<a class=\""</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_NAV</span> <span class="o">+</span> <span class="s2">"\" href=\"#\">"</span> <span class="o">+</span> <span class="nx">lbl</span> <span class="o">+</span> <span class="s2">"</a>"</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="nx">lbl</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">renderRight</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">rightArrow</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">NAV_ARROW_RIGHT</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">rightArrow</span> <span class="o">===</span> <span class="kc">null</span> <span class="o">&&</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">!==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">rightArrow</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">IMG_ROOT</span> <span class="o">+</span> <span class="nx">DEPR_NAV_RIGHT</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">var</span> <span class="nx">rightStyle</span> <span class="o">=</span> <span class="o">(</span><span class="nx">rightArrow</span> <span class="o">===</span> <span class="kc">null</span><span class="o">)</span> <span class="o">?</span> <span class="s2">""</span> <span class="o">:</span> <span class="s1">' style="background-image:url('</span> <span class="o">+</span> <span class="nx">rightArrow</span> <span class="o">+</span> <span class="s1">')"'</span><span class="o">;</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<a class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_NAV_RIGHT</span> <span class="o">+</span> <span class="s1">'"'</span> <span class="o">+</span> <span class="nx">rightStyle</span> <span class="o">+</span> <span class="s1">' >&#160;</a>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'</div>\n</th>\n</tr>'</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEKDAYS</span><span class="o">.</span><span class="nx">key</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">html</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">buildWeekdays</span><span class="o">(</span><span class="nx">html</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'</thead>'</span><span class="o">;</span>
|
|
|
|
<span class="k">return</span> <span class="nx">html</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the Calendar's weekday headers.</span>
|
|
<span class="c"> * @method buildWeekdays</span>
|
|
<span class="c"> * @param {Array} html The current working HTML array</span>
|
|
<span class="c"> * @return {Array} The current working HTML array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">buildWeekdays</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">html</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<tr class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_WEEKDAY_ROW</span> <span class="o">+</span> <span class="s1">'">'</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_HEADER</span><span class="o">.</span><span class="nx">key</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<th>&#160;</th>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">for</span><span class="o">(</span><span class="k">var</span> <span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">i</span><span class="o"><</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<th class="calweekdaycell">'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">LOCALE_WEEKDAYS</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">+</span> <span class="s1">'</th>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_FOOTER</span><span class="o">.</span><span class="nx">key</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<th>&#160;</th>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'</tr>'</span><span class="o">;</span>
|
|
|
|
<span class="k">return</span> <span class="nx">html</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the calendar body.</span>
|
|
<span class="c"> * @method renderBody</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date being used for the render process</span>
|
|
<span class="c"> * @param {Array} html The current working HTML array</span>
|
|
<span class="c"> * @return {Array} The current working HTML array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderBody</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">html</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Rendering body"</span><span class="o">,</span> <span class="s2">"render"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">DM</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">,</span>
|
|
<span class="nx">CAL</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">,</span>
|
|
<span class="nx">D</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">,</span>
|
|
<span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">startDay</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">START_WEEKDAY</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span> <span class="o">=</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDay</span><span class="o">();</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">startDay</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span> <span class="o">-=</span> <span class="nx">startDay</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span> <span class="o"><</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span> <span class="o">+=</span> <span class="m">7</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">monthDays</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">findMonthEnd</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">).</span><span class="nx">getDate</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">postMonthDays</span> <span class="o">=</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">DISPLAY_DAYS</span><span class="o">-</span><span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span><span class="o">-</span><span class="k">this</span><span class="o">.</span><span class="nx">monthDays</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span> <span class="o">+</span> <span class="s2">" preciding out-of-month days"</span><span class="o">,</span> <span class="s2">"render"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">monthDays</span> <span class="o">+</span> <span class="s2">" month days"</span><span class="o">,</span> <span class="s2">"render"</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">postMonthDays</span> <span class="o">+</span> <span class="s2">" post-month days"</span><span class="o">,</span> <span class="s2">"render"</span><span class="o">);</span>
|
|
|
|
<span class="nx">workingDate</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">subtract</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">DAY</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Calendar page starts on "</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">,</span> <span class="s2">"render"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">weekNum</span><span class="o">,</span>
|
|
<span class="nx">weekClass</span><span class="o">,</span>
|
|
<span class="nx">weekPrefix</span> <span class="o">=</span> <span class="s2">"w"</span><span class="o">,</span>
|
|
<span class="nx">cellPrefix</span> <span class="o">=</span> <span class="s2">"_cell"</span><span class="o">,</span>
|
|
<span class="nx">workingDayPrefix</span> <span class="o">=</span> <span class="s2">"wd"</span><span class="o">,</span>
|
|
<span class="nx">dayPrefix</span> <span class="o">=</span> <span class="s2">"d"</span><span class="o">,</span>
|
|
<span class="nx">cellRenderers</span><span class="o">,</span>
|
|
<span class="nx">renderer</span><span class="o">,</span>
|
|
<span class="nx">todayYear</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span>
|
|
<span class="nx">todayMonth</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">(),</span>
|
|
<span class="nx">todayDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(),</span>
|
|
<span class="nx">useDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">),</span>
|
|
<span class="nx">hideBlankWeeks</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">HIDE_BLANK_WEEKS</span><span class="o">.</span><span class="nx">key</span><span class="o">),</span>
|
|
<span class="nx">showWeekFooter</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_FOOTER</span><span class="o">.</span><span class="nx">key</span><span class="o">),</span>
|
|
<span class="nx">showWeekHeader</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SHOW_WEEK_HEADER</span><span class="o">.</span><span class="nx">key</span><span class="o">),</span>
|
|
<span class="nx">mindate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MINDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">),</span>
|
|
<span class="nx">maxdate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MAXDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">mindate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">mindate</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="nx">mindate</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">maxdate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">maxdate</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="nx">maxdate</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<tbody class="m'</span> <span class="o">+</span> <span class="o">(</span><span class="nx">useDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">)</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_BODY</span> <span class="o">+</span> <span class="s1">'">'</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">,</span>
|
|
<span class="nx">tempDiv</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"div"</span><span class="o">),</span>
|
|
<span class="nx">cell</span> <span class="o">=</span> <span class="nb">document</span><span class="o">.</span><span class="nx">createElement</span><span class="o">(</span><span class="s2">"td"</span><span class="o">);</span>
|
|
|
|
<span class="nx">tempDiv</span><span class="o">.</span><span class="nx">appendChild</span><span class="o">(</span><span class="nx">cell</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">cal</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">parent</span> <span class="o">||</span> <span class="k">this</span><span class="o">;</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">r</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">r</span><span class="o"><</span><span class="m">6</span><span class="o">;</span><span class="nx">r</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="nx">weekNum</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">getWeekNumber</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">startDay</span><span class="o">);</span>
|
|
<span class="nx">weekClass</span> <span class="o">=</span> <span class="nx">weekPrefix</span> <span class="o">+</span> <span class="nx">weekNum</span><span class="o">;</span>
|
|
|
|
<span class="c">// Local OOM check for performance, since we already have pagedate</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">r</span> <span class="o">!==</span> <span class="m">0</span> <span class="o">&&</span> <span class="nx">hideBlankWeeks</span> <span class="o">===</span> <span class="kc">true</span> <span class="o">&&</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()</span> <span class="o">!=</span> <span class="nx">useDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<tr class="'</span> <span class="o">+</span> <span class="nx">weekClass</span> <span class="o">+</span> <span class="s1">'">'</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">showWeekHeader</span><span class="o">)</span> <span class="o">{</span> <span class="nx">html</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderRowHeader</span><span class="o">(</span><span class="nx">weekNum</span><span class="o">,</span> <span class="nx">html</span><span class="o">);</span> <span class="o">}</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">d</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">d</span> <span class="o"><</span> <span class="m">7</span><span class="o">;</span> <span class="nx">d</span><span class="o">++){</span> <span class="c">// Render actual days</span>
|
|
<span class="c"></span>
|
|
<span class="nx">cellRenderers</span> <span class="o">=</span> <span class="o">[];</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">clearElement</span><span class="o">(</span><span class="nx">cell</span><span class="o">);</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">className</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL</span><span class="o">;</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">id</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">id</span> <span class="o">+</span> <span class="nx">cellPrefix</span> <span class="o">+</span> <span class="nx">i</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Rendering cell "</span> <span class="o">+</span> <span class="nx">cell</span><span class="o">.</span><span class="nx">id</span> <span class="o">+</span> <span class="s2">" ("</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">)</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()</span> <span class="o">+</span> <span class="s2">")"</span><span class="o">,</span> <span class="s2">"cellrender"</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()</span> <span class="o">==</span> <span class="nx">todayDate</span> <span class="o">&&</span>
|
|
<span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()</span> <span class="o">==</span> <span class="nx">todayMonth</span> <span class="o">&&</span>
|
|
<span class="nx">workingDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">==</span> <span class="nx">todayYear</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">cal</span><span class="o">.</span><span class="nx">renderCellStyleToday</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">workingArray</span> <span class="o">=</span> <span class="o">[</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">,</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="nx">workingArray</span><span class="o">;</span> <span class="c">// Add this date to cellDates</span>
|
|
<span class="c"></span>
|
|
<span class="c">// Local OOM check for performance, since we already have pagedate</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()</span> <span class="o">!=</span> <span class="nx">useDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">cal</span><span class="o">.</span><span class="nx">renderCellNotThisMonth</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">D</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="nx">workingDayPrefix</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDay</span><span class="o">());</span>
|
|
<span class="nx">D</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="nx">dayPrefix</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">());</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">s</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">s</span><span class="o"><</span><span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="nx">renderer</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">rArray</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">[</span><span class="nx">s</span><span class="o">],</span>
|
|
<span class="nx">type</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">month</span><span class="o">,</span>
|
|
<span class="nx">day</span><span class="o">,</span>
|
|
<span class="nx">year</span><span class="o">;</span>
|
|
|
|
<span class="nx">switch</span> <span class="o">(</span><span class="nx">type</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">case</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">DATE</span><span class="o">:</span>
|
|
<span class="nx">month</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">1</span><span class="o">];</span>
|
|
<span class="nx">day</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">2</span><span class="o">];</span>
|
|
<span class="nx">year</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">0</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span> <span class="o">==</span> <span class="nx">month</span> <span class="o">&&</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()</span> <span class="o">==</span> <span class="nx">day</span> <span class="o">&&</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">==</span> <span class="nx">year</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">renderer</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">2</span><span class="o">];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">s</span><span class="o">,</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">MONTH_DAY</span><span class="o">:</span>
|
|
<span class="nx">month</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">day</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">1</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span> <span class="o">==</span> <span class="nx">month</span> <span class="o">&&</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()</span> <span class="o">==</span> <span class="nx">day</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">renderer</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">2</span><span class="o">];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">s</span><span class="o">,</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">RANGE</span><span class="o">:</span>
|
|
<span class="k">var</span> <span class="nx">date1</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">date2</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">1</span><span class="o">],</span>
|
|
<span class="nx">d1month</span> <span class="o">=</span> <span class="nx">date1</span><span class="o">[</span><span class="m">1</span><span class="o">],</span>
|
|
<span class="nx">d1day</span> <span class="o">=</span> <span class="nx">date1</span><span class="o">[</span><span class="m">2</span><span class="o">],</span>
|
|
<span class="nx">d1year</span> <span class="o">=</span> <span class="nx">date1</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">d1</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">d1year</span><span class="o">,</span> <span class="nx">d1month</span><span class="o">-</span><span class="m">1</span><span class="o">,</span> <span class="nx">d1day</span><span class="o">),</span>
|
|
<span class="nx">d2month</span> <span class="o">=</span> <span class="nx">date2</span><span class="o">[</span><span class="m">1</span><span class="o">],</span>
|
|
<span class="nx">d2day</span> <span class="o">=</span> <span class="nx">date2</span><span class="o">[</span><span class="m">2</span><span class="o">],</span>
|
|
<span class="nx">d2year</span> <span class="o">=</span> <span class="nx">date2</span><span class="o">[</span><span class="m">0</span><span class="o">],</span>
|
|
<span class="nx">d2</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">d2year</span><span class="o">,</span> <span class="nx">d2month</span><span class="o">-</span><span class="m">1</span><span class="o">,</span> <span class="nx">d2day</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o">>=</span> <span class="nx">d1</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o">&&</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o"><=</span> <span class="nx">d2</span><span class="o">.</span><span class="nx">getTime</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="nx">renderer</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">2</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()==</span><span class="nx">d2</span><span class="o">.</span><span class="nx">getTime</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">s</span><span class="o">,</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">WEEKDAY</span><span class="o">:</span>
|
|
<span class="k">var</span> <span class="nx">weekday</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDay</span><span class="o">()+</span><span class="m">1</span> <span class="o">==</span> <span class="nx">weekday</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">renderer</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">2</span><span class="o">];</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="nx">case</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">MONTH</span><span class="o">:</span>
|
|
<span class="nx">month</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">1</span><span class="o">][</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span> <span class="o">==</span> <span class="nx">month</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">renderer</span> <span class="o">=</span> <span class="nx">rArray</span><span class="o">[</span><span class="m">2</span><span class="o">];</span>
|
|
<span class="o">}</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">renderer</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">renderer</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_indexOfSelectedFieldArray</span><span class="o">(</span><span class="nx">workingArray</span><span class="o">)</span> <span class="o">></span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">cal</span><span class="o">.</span><span class="nx">renderCellStyleSelected</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">((</span><span class="nx">mindate</span> <span class="o">&&</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o"><</span> <span class="nx">mindate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()))</span> <span class="o">||</span>
|
|
<span class="o">(</span><span class="nx">maxdate</span> <span class="o">&&</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o">></span> <span class="nx">maxdate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()))</span>
|
|
<span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">cal</span><span class="o">.</span><span class="nx">renderOutOfBoundsDate</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">cal</span><span class="o">.</span><span class="nx">styleCellDefault</span><span class="o">;</span>
|
|
<span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">]=</span><span class="nx">cal</span><span class="o">.</span><span class="nx">renderCellDefault</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">x</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">x</span> <span class="o"><</span> <span class="nx">cellRenderers</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="o">++</span><span class="nx">x</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"renderer["</span> <span class="o">+</span> <span class="nx">x</span> <span class="o">+</span> <span class="s2">"] for ("</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">)</span> <span class="o">+</span> <span class="s2">"-"</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()</span> <span class="o">+</span> <span class="s2">")"</span><span class="o">,</span> <span class="s2">"cellrender"</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cellRenderers</span><span class="o">[</span><span class="nx">x</span><span class="o">].</span><span class="nx">call</span><span class="o">(</span><span class="nx">cal</span><span class="o">,</span> <span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">==</span> <span class="nx">CAL</span><span class="o">.</span><span class="nx">STOP_RENDER</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">workingDate</span><span class="o">.</span><span class="nx">setTime</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o">+</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">ONE_DAY_MS</span><span class="o">);</span>
|
|
<span class="c">// Just in case we crossed DST/Summertime boundaries</span>
|
|
<span class="c"></span> <span class="nx">workingDate</span> <span class="o">=</span> <span class="nx">DM</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">>=</span> <span class="m">0</span> <span class="o">&&</span> <span class="nx">i</span> <span class="o"><=</span> <span class="m">6</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">D</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_TOP</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">((</span><span class="nx">i</span> <span class="o">%</span> <span class="m">7</span><span class="o">)</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">D</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_LEFT</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(((</span><span class="nx">i</span><span class="o">+</span><span class="m">1</span><span class="o">)</span> <span class="o">%</span> <span class="m">7</span><span class="o">)</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">D</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_RIGHT</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">postDays</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">postMonthDays</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">hideBlankWeeks</span> <span class="o">&&</span> <span class="nx">postDays</span> <span class="o">>=</span> <span class="m">7</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">blankWeeks</span> <span class="o">=</span> <span class="nb">Math</span><span class="o">.</span><span class="nx">floor</span><span class="o">(</span><span class="nx">postDays</span><span class="o">/</span><span class="m">7</span><span class="o">);</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">p</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">p</span><span class="o"><</span><span class="nx">blankWeeks</span><span class="o">;++</span><span class="nx">p</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">postDays</span> <span class="o">-=</span> <span class="m">7</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">i</span> <span class="o">>=</span> <span class="o">((</span><span class="k">this</span><span class="o">.</span><span class="nx">preMonthDays</span><span class="o">+</span><span class="nx">postDays</span><span class="o">+</span><span class="k">this</span><span class="o">.</span><span class="nx">monthDays</span><span class="o">)-</span><span class="m">7</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">D</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_BOTTOM</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="nx">tempDiv</span><span class="o">.</span><span class="nx">innerHTML</span><span class="o">;</span>
|
|
<span class="nx">i</span><span class="o">++;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">showWeekFooter</span><span class="o">)</span> <span class="o">{</span> <span class="nx">html</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderRowFooter</span><span class="o">(</span><span class="nx">weekNum</span><span class="o">,</span> <span class="nx">html</span><span class="o">);</span> <span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'</tr>'</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'</tbody>'</span><span class="o">;</span>
|
|
|
|
<span class="k">return</span> <span class="nx">html</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the calendar footer. In the default implementation, there is</span>
|
|
<span class="c"> * no footer.</span>
|
|
<span class="c"> * @method renderFooter</span>
|
|
<span class="c"> * @param {Array} html The current working HTML array</span>
|
|
<span class="c"> * @return {Array} The current working HTML array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderFooter</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">html</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="nx">html</span><span class="o">;</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the calendar after it has been configured. The render() method has a specific call chain that will execute</span>
|
|
<span class="c"> * when the method is called: renderHeader, renderBody, renderFooter.</span>
|
|
<span class="c"> * Refer to the documentation for those methods for information on </span>
|
|
<span class="c"> * individual render tasks.</span>
|
|
<span class="c"> * @method render</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">render</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeRenderEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="c">// Find starting day of the current month</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">workingDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">findMonthStart</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">));</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetRenderers</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">purgeElement</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">html</span> <span class="o">=</span> <span class="o">[];</span>
|
|
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<table cellSpacing="0" class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CALENDAR</span> <span class="o">+</span> <span class="s1">' y'</span> <span class="o">+</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">+</span> <span class="s1">'" id="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">id</span> <span class="o">+</span> <span class="s1">'">'</span><span class="o">;</span>
|
|
<span class="nx">html</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderHeader</span><span class="o">(</span><span class="nx">html</span><span class="o">);</span>
|
|
<span class="nx">html</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderBody</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">html</span><span class="o">);</span>
|
|
<span class="nx">html</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderFooter</span><span class="o">(</span><span class="nx">html</span><span class="o">);</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'</table>'</span><span class="o">;</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">html</span><span class="o">.</span><span class="nx">join</span><span class="o">(</span><span class="s2">"\n"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">applyListeners</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cells</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">getElementsByTagName</span><span class="o">(</span><span class="s2">"td"</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">TITLE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">CLOSE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">refireEvent</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">IFRAME</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Applies the Calendar's DOM listeners to applicable elements.</span>
|
|
<span class="c"> * @method applyListeners</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">applyListeners</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">root</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">cal</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">parent</span> <span class="o">||</span> <span class="k">this</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">anchor</span> <span class="o">=</span> <span class="s2">"a"</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">mousedown</span> <span class="o">=</span> <span class="s2">"mousedown"</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">linkLeft</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_NAV_LEFT</span><span class="o">,</span> <span class="nx">anchor</span><span class="o">,</span> <span class="nx">root</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">linkRight</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_NAV_RIGHT</span><span class="o">,</span> <span class="nx">anchor</span><span class="o">,</span> <span class="nx">root</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">linkLeft</span> <span class="o">&&</span> <span class="nx">linkLeft</span><span class="o">.</span><span class="nx">length</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">linkLeft</span> <span class="o">=</span> <span class="nx">linkLeft</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">linkLeft</span><span class="o">,</span> <span class="nx">mousedown</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">previousMonth</span><span class="o">,</span> <span class="nx">cal</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">linkRight</span> <span class="o">&&</span> <span class="nx">linkRight</span><span class="o">.</span><span class="nx">length</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">linkRight</span> <span class="o">=</span> <span class="nx">linkRight</span><span class="o">[</span><span class="m">0</span><span class="o">];</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">linkRight</span><span class="o">,</span> <span class="nx">mousedown</span><span class="o">,</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">nextMonth</span><span class="o">,</span> <span class="nx">cal</span><span class="o">,</span> <span class="kc">true</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cal</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="s2">"navigator"</span><span class="o">)</span> <span class="o">!==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">applyNavListeners</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">domEventMap</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">el</span><span class="o">,</span><span class="nx">elements</span><span class="o">;</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">cls</span> <span class="k">in</span> <span class="k">this</span><span class="o">.</span><span class="nx">domEventMap</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">hasOwnProperty</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">domEventMap</span><span class="o">,</span> <span class="nx">cls</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">items</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">domEventMap</span><span class="o">[</span><span class="nx">cls</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span> <span class="o">(</span><span class="nx">items</span> <span class="k">instanceof</span> <span class="nb">Array</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">items</span> <span class="o">=</span> <span class="o">[</span><span class="nx">items</span><span class="o">];</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">i</span><span class="o"><</span><span class="nx">items</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">item</span> <span class="o">=</span> <span class="nx">items</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
|
|
<span class="nx">elements</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="nx">cls</span><span class="o">,</span> <span class="nx">item</span><span class="o">.</span><span class="nx">tag</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">);</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">c</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">c</span><span class="o"><</span><span class="nx">elements</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">c</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="nx">el</span> <span class="o">=</span> <span class="nx">elements</span><span class="o">[</span><span class="nx">c</span><span class="o">];</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="nx">el</span><span class="o">,</span> <span class="nx">item</span><span class="o">.</span><span class="nx">event</span><span class="o">,</span> <span class="nx">item</span><span class="o">.</span><span class="nx">handler</span><span class="o">,</span> <span class="nx">item</span><span class="o">.</span><span class="nx">scope</span><span class="o">,</span> <span class="nx">item</span><span class="o">.</span><span class="nx">correct</span> <span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="s2">"click"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">doSelectCell</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="s2">"mouseover"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">doCellMouseOver</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">,</span> <span class="s2">"mouseout"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">doCellMouseOut</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="nx">applyNavListeners</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
|
|
<span class="k">var</span> <span class="nx">E</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Event</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">calParent</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">parent</span> <span class="o">||</span> <span class="k">this</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">cal</span> <span class="o">=</span> <span class="k">this</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">navBtns</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">getElementsByClassName</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_NAV</span><span class="o">,</span> <span class="s2">"a"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">navBtns</span><span class="o">.</span><span class="nx">length</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="k">function</span> <span class="nx">show</span><span class="o">(</span><span class="nx">e</span><span class="o">,</span> <span class="nx">obj</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">target</span> <span class="o">=</span> <span class="nx">E</span><span class="o">.</span><span class="nx">getTarget</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="c">// this == navBtn</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="k">this</span> <span class="o">===</span> <span class="nx">target</span> <span class="o">||</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">isAncestor</span><span class="o">(</span><span class="k">this</span><span class="o">,</span> <span class="nx">target</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">E</span><span class="o">.</span><span class="nx">preventDefault</span><span class="o">(</span><span class="nx">e</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">var</span> <span class="nx">navigator</span> <span class="o">=</span> <span class="nx">calParent</span><span class="o">.</span><span class="nx">oNavigator</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">navigator</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">pgdate</span> <span class="o">=</span> <span class="nx">cal</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="s2">"pagedate"</span><span class="o">);</span>
|
|
<span class="nx">navigator</span><span class="o">.</span><span class="nx">setYear</span><span class="o">(</span><span class="nx">pgdate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">());</span>
|
|
<span class="nx">navigator</span><span class="o">.</span><span class="nx">setMonth</span><span class="o">(</span><span class="nx">pgdate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">());</span>
|
|
<span class="nx">navigator</span><span class="o">.</span><span class="nx">show</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="nx">E</span><span class="o">.</span><span class="nx">addListener</span><span class="o">(</span><span class="nx">navBtns</span><span class="o">,</span> <span class="s2">"click"</span><span class="o">,</span> <span class="nx">show</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Retrieves the Date object for the specified Calendar cell</span>
|
|
<span class="c"> * @method getDateByCellId</span>
|
|
<span class="c"> * @param {String} id The id of the cell</span>
|
|
<span class="c"> * @return {Date} The Date object for the specified Calendar cell</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">getDateByCellId</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">date</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">getDateFieldsByCellId</span><span class="o">(</span><span class="nx">id</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">date</span><span class="o">[</span><span class="m">0</span><span class="o">],</span><span class="nx">date</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">,</span><span class="nx">date</span><span class="o">[</span><span class="m">2</span><span class="o">]);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Retrieves the Date object for the specified Calendar cell</span>
|
|
<span class="c"> * @method getDateFieldsByCellId</span>
|
|
<span class="c"> * @param {String} id The id of the cell</span>
|
|
<span class="c"> * @return {Array} The array of Date fields for the specified Calendar cell</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">getDateFieldsByCellId</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">id</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">id</span> <span class="o">=</span> <span class="nx">id</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">().</span><span class="nx">split</span><span class="o">(</span><span class="s2">"_cell"</span><span class="o">)[</span><span class="m">1</span><span class="o">];</span>
|
|
<span class="nx">id</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="o">(</span><span class="nx">id</span><span class="o">,</span> <span class="m">10</span><span class="o">);</span>
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">[</span><span class="nx">id</span><span class="o">];</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Find the Calendar's cell index for a given date.</span>
|
|
<span class="c"> * If the date is not found, the method returns -1.</span>
|
|
<span class="c"> * <p></span>
|
|
<span class="c"> * The returned index can be used to lookup the cell HTMLElement </span>
|
|
<span class="c"> * using the Calendar's cells array or passed to selectCell to select </span>
|
|
<span class="c"> * cells by index. </span>
|
|
<span class="c"> * </p></span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * See <a href="#cells">cells</a>, <a href="#selectCell">selectCell</a>.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @method getCellIndex</span>
|
|
<span class="c"> * @param {Date} date JavaScript Date object, for which to find a cell index.</span>
|
|
<span class="c"> * @return {Number} The index of the date in Calendars cellDates/cells arrays, or -1 if the date </span>
|
|
<span class="c"> * is not on the curently rendered Calendar page.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">getCellIndex</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">idx</span> <span class="o">=</span> <span class="o">-</span><span class="m">1</span><span class="o">;</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">m</span> <span class="o">=</span> <span class="nx">date</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">(),</span>
|
|
<span class="nx">y</span> <span class="o">=</span> <span class="nx">date</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span>
|
|
<span class="nx">d</span> <span class="o">=</span> <span class="nx">date</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(),</span>
|
|
<span class="nx">dates</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">;</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span> <span class="o">=</span> <span class="m">0</span><span class="o">;</span> <span class="nx">i</span> <span class="o"><</span> <span class="nx">dates</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="o">++</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cellDate</span> <span class="o">=</span> <span class="nx">dates</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cellDate</span><span class="o">[</span><span class="m">0</span><span class="o">]</span> <span class="o">===</span> <span class="nx">y</span> <span class="o">&&</span> <span class="nx">cellDate</span><span class="o">[</span><span class="m">1</span><span class="o">]</span> <span class="o">===</span> <span class="nx">m</span><span class="o">+</span><span class="m">1</span> <span class="o">&&</span> <span class="nx">cellDate</span><span class="o">[</span><span class="m">2</span><span class="o">]</span> <span class="o">===</span> <span class="nx">d</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">idx</span> <span class="o">=</span> <span class="nx">i</span><span class="o">;</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">return</span> <span class="nx">idx</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// BEGIN BUILT-IN TABLE CELL RENDERERS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders a cell that falls before the minimum date or after the maximum date.</span>
|
|
<span class="c"> * widget class.</span>
|
|
<span class="c"> * @method renderOutOfBoundsDate</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> * @return {String} YAHOO.widget.Calendar.STOP_RENDER if rendering should stop with this style, null or nothing if rendering</span>
|
|
<span class="c"> * should not be terminated</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderOutOfBoundsDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_OOB</span><span class="o">);</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">();</span>
|
|
<span class="k">return</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">STOP_RENDER</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the row header for a week.</span>
|
|
<span class="c"> * @method renderRowHeader</span>
|
|
<span class="c"> * @param {Number} weekNum The week number of the current row</span>
|
|
<span class="c"> * @param {Array} cell The current working HTML array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderRowHeader</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">weekNum</span><span class="o">,</span> <span class="nx">html</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<th class="calrowhead">'</span> <span class="o">+</span> <span class="nx">weekNum</span> <span class="o">+</span> <span class="s1">'</th>'</span><span class="o">;</span>
|
|
<span class="k">return</span> <span class="nx">html</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the row footer for a week.</span>
|
|
<span class="c"> * @method renderRowFooter</span>
|
|
<span class="c"> * @param {Number} weekNum The week number of the current row</span>
|
|
<span class="c"> * @param {Array} cell The current working HTML array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderRowFooter</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">weekNum</span><span class="o">,</span> <span class="nx">html</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">html</span><span class="o">[</span><span class="nx">html</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'<th class="calrowfoot">'</span> <span class="o">+</span> <span class="nx">weekNum</span> <span class="o">+</span> <span class="s1">'</th>'</span><span class="o">;</span>
|
|
<span class="k">return</span> <span class="nx">html</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders a single standard calendar cell in the calendar widget table.</span>
|
|
<span class="c"> * All logic for determining how a standard default cell will be rendered is </span>
|
|
<span class="c"> * encapsulated in this method, and must be accounted for when extending the</span>
|
|
<span class="c"> * widget class.</span>
|
|
<span class="c"> * @method renderCellDefault</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellDefault</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s1">'<a href="#" class="'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTOR</span> <span class="o">+</span> <span class="s1">'">'</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">buildDayLabel</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">)</span> <span class="o">+</span> <span class="s2">"</a>"</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Styles a selectable cell.</span>
|
|
<span class="c"> * @method styleCellDefault</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">styleCellDefault</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders a single standard calendar cell using the CSS hightlight1 style</span>
|
|
<span class="c"> * @method renderCellStyleHighlight1</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellStyleHighlight1</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT1</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders a single standard calendar cell using the CSS hightlight2 style</span>
|
|
<span class="c"> * @method renderCellStyleHighlight2</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellStyleHighlight2</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT2</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders a single standard calendar cell using the CSS hightlight3 style</span>
|
|
<span class="c"> * @method renderCellStyleHighlight3</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellStyleHighlight3</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT3</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders a single standard calendar cell using the CSS hightlight4 style</span>
|
|
<span class="c"> * @method renderCellStyleHighlight4</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellStyleHighlight4</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_HIGHLIGHT4</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Applies the default style used for rendering today's date to the current calendar cell</span>
|
|
<span class="c"> * @method renderCellStyleToday</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellStyleToday</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_TODAY</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Applies the default style used for rendering selected dates to the current calendar cell</span>
|
|
<span class="c"> * @method renderCellStyleSelected</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> * @return {String} YAHOO.widget.Calendar.STOP_RENDER if rendering should stop with this style, null or nothing if rendering</span>
|
|
<span class="c"> * should not be terminated</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellStyleSelected</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTED</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Applies the default style used for rendering dates that are not a part of the current</span>
|
|
<span class="c"> * month (preceding or trailing the cells for the current month)</span>
|
|
<span class="c"> * @method renderCellNotThisMonth</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> * @return {String} YAHOO.widget.Calendar.STOP_RENDER if rendering should stop with this style, null or nothing if rendering</span>
|
|
<span class="c"> * should not be terminated</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderCellNotThisMonth</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_OOM</span><span class="o">);</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">();</span>
|
|
<span class="k">return</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">STOP_RENDER</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Renders the current calendar cell as a non-selectable "black-out" date using the default</span>
|
|
<span class="c"> * restricted style.</span>
|
|
<span class="c"> * @method renderBodyCellRestricted</span>
|
|
<span class="c"> * @param {Date} workingDate The current working Date object being used to generate the calendar</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The current working cell in the calendar</span>
|
|
<span class="c"> * @return {String} YAHOO.widget.Calendar.STOP_RENDER if rendering should stop with this style, null or nothing if rendering</span>
|
|
<span class="c"> * should not be terminated</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">renderBodyCellRestricted</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">workingDate</span><span class="o">,</span> <span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL</span><span class="o">);</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">addClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_RESTRICTED</span><span class="o">);</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">innerHTML</span><span class="o">=</span><span class="nx">workingDate</span><span class="o">.</span><span class="nx">getDate</span><span class="o">();</span>
|
|
<span class="k">return</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">STOP_RENDER</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END BUILT-IN TABLE CELL RENDERERS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN MONTH NAVIGATION METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Adds the designated number of months to the current calendar month, and sets the current</span>
|
|
<span class="c"> * calendar page date to the new month.</span>
|
|
<span class="c"> * @method addMonths</span>
|
|
<span class="c"> * @param {Number} count The number of months to add to the current calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">addMonths</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">count</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cfgPageDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">add</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">),</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">MONTH</span><span class="o">,</span> <span class="nx">count</span><span class="o">));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetRenderers</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">changePageEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Subtracts the designated number of months from the current calendar month, and sets the current</span>
|
|
<span class="c"> * calendar page date to the new month.</span>
|
|
<span class="c"> * @method subtractMonths</span>
|
|
<span class="c"> * @param {Number} count The number of months to subtract from the current calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">subtractMonths</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">count</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cfgPageDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">subtract</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">),</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">MONTH</span><span class="o">,</span> <span class="nx">count</span><span class="o">));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetRenderers</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">changePageEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Adds the designated number of years to the current calendar, and sets the current</span>
|
|
<span class="c"> * calendar page date to the new month.</span>
|
|
<span class="c"> * @method addYears</span>
|
|
<span class="c"> * @param {Number} count The number of years to add to the current calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">addYears</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">count</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cfgPageDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">add</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">),</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">YEAR</span><span class="o">,</span> <span class="nx">count</span><span class="o">));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetRenderers</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">changePageEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Subtcats the designated number of years from the current calendar, and sets the current</span>
|
|
<span class="c"> * calendar page date to the new month.</span>
|
|
<span class="c"> * @method subtractYears</span>
|
|
<span class="c"> * @param {Number} count The number of years to subtract from the current calendar</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">subtractYears</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">count</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cfgPageDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">,</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">subtract</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">),</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">YEAR</span><span class="o">,</span> <span class="nx">count</span><span class="o">));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetRenderers</span><span class="o">();</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">changePageEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Navigates to the next month page in the calendar widget.</span>
|
|
<span class="c"> * @method nextMonth</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">nextMonth</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">addMonths</span><span class="o">(</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Navigates to the previous month page in the calendar widget.</span>
|
|
<span class="c"> * @method previousMonth</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">previousMonth</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">subtractMonths</span><span class="o">(</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Navigates to the next year in the currently selected month in the calendar widget.</span>
|
|
<span class="c"> * @method nextYear</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">nextYear</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">addYears</span><span class="o">(</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Navigates to the previous year in the currently selected month in the calendar widget.</span>
|
|
<span class="c"> * @method previousYear</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">previousYear</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">subtractYears</span><span class="o">(</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END MONTH NAVIGATION METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN SELECTION METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Resets the calendar widget to the originally selected month and year, and </span>
|
|
<span class="c"> * sets the calendar to the initial selection(s).</span>
|
|
<span class="c"> * @method reset</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">reset</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">resetProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">resetProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">resetEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Clears the selected dates in the current calendar widget and sets the calendar</span>
|
|
<span class="c"> * to the current month and year.</span>
|
|
<span class="c"> * @method clear</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">clear</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="o">[]);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="k">new</span> <span class="nb">Date</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">clearEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Selects a date or a collection of dates on the current calendar. This method, by default,</span>
|
|
<span class="c"> * does not call the render method explicitly. Once selection has completed, render must be </span>
|
|
<span class="c"> * called for the changes to be reflected visually.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * Any dates which are OOB (out of bounds, not selectable) will not be selected and the array of </span>
|
|
<span class="c"> * selected dates passed to the selectEvent will not contain OOB dates.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * If all dates are OOB, the no state change will occur; beforeSelect and select events will not be fired.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @method select</span>
|
|
<span class="c"> * @param {String/Date/Date[]} date The date string of dates to select in the current calendar. Valid formats are</span>
|
|
<span class="c"> * individual date(s) (12/24/2005,12/26/2005) or date range(s) (12/24/2005-1/1/2006).</span>
|
|
<span class="c"> * Multiple comma-delimited dates can also be passed to this method (12/24/2005,12/11/2005-12/13/2005).</span>
|
|
<span class="c"> * This method can also take a JavaScript Date object or an array of Date objects.</span>
|
|
<span class="c"> * @return {Date[]} Array of JavaScript Date objects representing all individual dates that are currently selected.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">select</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Select: "</span> <span class="o">+</span> <span class="nx">date</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">aToBeSelected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_toFieldArray</span><span class="o">(</span><span class="nx">date</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Selection field array: "</span> <span class="o">+</span> <span class="nx">aToBeSelected</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span>
|
|
|
|
<span class="c">// Filtered array of valid dates</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">validDates</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">var</span> <span class="nx">cfgSelected</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">a</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">a</span> <span class="o"><</span> <span class="nx">aToBeSelected</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="o">++</span><span class="nx">a</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">toSelect</span> <span class="o">=</span> <span class="nx">aToBeSelected</span><span class="o">[</span><span class="nx">a</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">isDateOOB</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_toDate</span><span class="o">(</span><span class="nx">toSelect</span><span class="o">)))</span> <span class="o">{</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">validDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeSelectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="nx">selected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">validDates</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">toSelect</span><span class="o">);</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_indexOfSelectedFieldArray</span><span class="o">(</span><span class="nx">toSelect</span><span class="o">)</span> <span class="o">==</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">selected</span><span class="o">[</span><span class="nx">selected</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="nx">toSelect</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">validDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"All provided dates were OOB. beforeSelect and select events not fired"</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span> <span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">validDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">selectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">(</span><span class="nx">validDates</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">getSelectedDates</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Selects a date on the current calendar by referencing the index of the cell that should be selected.</span>
|
|
<span class="c"> * This method is used to easily select a single cell (usually with a mouse click) without having to do</span>
|
|
<span class="c"> * a full render. The selected style is applied to the cell directly.</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * If the cell is not marked with the CSS_CELL_SELECTABLE class (as is the case by default for out of month </span>
|
|
<span class="c"> * or out of bounds cells), it will not be selected and in such a case beforeSelect and select events will not be fired.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method selectCell</span>
|
|
<span class="c"> * @param {Number} cellIndex The index of the cell to select in the current calendar. </span>
|
|
<span class="c"> * @return {Date[]} Array of JavaScript Date objects representing all individual dates that are currently selected.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">selectCell</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">cellIndex</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="k">var</span> <span class="nx">cell</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cells</span><span class="o">[</span><span class="nx">cellIndex</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">cellDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">[</span><span class="nx">cellIndex</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">dCellDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_toDate</span><span class="o">(</span><span class="nx">cellDate</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Select: "</span> <span class="o">+</span> <span class="nx">dCellDate</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">selectable</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">selectable</span><span class="o">)</span> <span class="o">{</span><span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"The cell at cellIndex:"</span> <span class="o">+</span> <span class="nx">cellIndex</span> <span class="o">+</span> <span class="s2">" is not a selectable cell. beforeSelect, select events not fired"</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span> <span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">selectable</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeSelectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
|
|
<span class="k">var</span> <span class="nx">cfgSelected</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">selectDate</span> <span class="o">=</span> <span class="nx">cellDate</span><span class="o">.</span><span class="nx">concat</span><span class="o">();</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_indexOfSelectedFieldArray</span><span class="o">(</span><span class="nx">selectDate</span><span class="o">)</span> <span class="o">==</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">selected</span><span class="o">[</span><span class="nx">selected</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="nx">selectDate</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderCellStyleSelected</span><span class="o">(</span><span class="nx">dCellDate</span><span class="o">,</span><span class="nx">cell</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">selectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">([</span><span class="nx">selectDate</span><span class="o">]);</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">doCellMouseOut</span><span class="o">.</span><span class="nx">call</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="kc">null</span><span class="o">,</span> <span class="k">this</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">getSelectedDates</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Deselects a date or a collection of dates on the current calendar. This method, by default,</span>
|
|
<span class="c"> * does not call the render method explicitly. Once deselection has completed, render must be </span>
|
|
<span class="c"> * called for the changes to be reflected visually.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * The method will not attempt to deselect any dates which are OOB (out of bounds, and hence not selectable) </span>
|
|
<span class="c"> * and the array of deselected dates passed to the deselectEvent will not contain any OOB dates.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * If all dates are OOB, beforeDeselect and deselect events will not be fired.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method deselect</span>
|
|
<span class="c"> * @param {String/Date/Date[]} date The date string of dates to deselect in the current calendar. Valid formats are</span>
|
|
<span class="c"> * individual date(s) (12/24/2005,12/26/2005) or date range(s) (12/24/2005-1/1/2006).</span>
|
|
<span class="c"> * Multiple comma-delimited dates can also be passed to this method (12/24/2005,12/11/2005-12/13/2005).</span>
|
|
<span class="c"> * This method can also take a JavaScript Date object or an array of Date objects. </span>
|
|
<span class="c"> * @return {Date[]} Array of JavaScript Date objects representing all individual dates that are currently selected.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">deselect</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Deselect: "</span> <span class="o">+</span> <span class="nx">date</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">aToBeDeselected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_toFieldArray</span><span class="o">(</span><span class="nx">date</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"Deselection field array: "</span> <span class="o">+</span> <span class="nx">aToBeDeselected</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">validDates</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">var</span> <span class="nx">cfgSelected</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">a</span><span class="o">=</span><span class="m">0</span><span class="o">;</span> <span class="nx">a</span> <span class="o"><</span> <span class="nx">aToBeDeselected</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span> <span class="o">++</span><span class="nx">a</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">toDeselect</span> <span class="o">=</span> <span class="nx">aToBeDeselected</span><span class="o">[</span><span class="nx">a</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(!</span><span class="k">this</span><span class="o">.</span><span class="nx">isDateOOB</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">_toDate</span><span class="o">(</span><span class="nx">toDeselect</span><span class="o">)))</span> <span class="o">{</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">validDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeDeselectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="nx">selected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">validDates</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">toDeselect</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">index</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_indexOfSelectedFieldArray</span><span class="o">(</span><span class="nx">toDeselect</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">index</span> <span class="o">!=</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">selected</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">index</span><span class="o">,</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">validDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">===</span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"All provided dates were OOB. beforeDeselect and deselect events not fired"</span><span class="o">);}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">validDates</span><span class="o">.</span><span class="nx">length</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">deselectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">(</span><span class="nx">validDates</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">getSelectedDates</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Deselects a date on the current calendar by referencing the index of the cell that should be deselected.</span>
|
|
<span class="c"> * This method is used to easily deselect a single cell (usually with a mouse click) without having to do</span>
|
|
<span class="c"> * a full render. The selected style is removed from the cell directly.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * If the cell is not marked with the CSS_CELL_SELECTABLE class (as is the case by default for out of month </span>
|
|
<span class="c"> * or out of bounds cells), the method will not attempt to deselect it and in such a case, beforeDeselect and </span>
|
|
<span class="c"> * deselect events will not be fired.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method deselectCell</span>
|
|
<span class="c"> * @param {Number} cellIndex The index of the cell to deselect in the current calendar. </span>
|
|
<span class="c"> * @return {Date[]} Array of JavaScript Date objects representing all individual dates that are currently selected.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">deselectCell</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">cellIndex</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cell</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cells</span><span class="o">[</span><span class="nx">cellIndex</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">cellDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cellDates</span><span class="o">[</span><span class="nx">cellIndex</span><span class="o">];</span>
|
|
<span class="k">var</span> <span class="nx">cellDateIndex</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_indexOfSelectedFieldArray</span><span class="o">(</span><span class="nx">cellDate</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">selectable</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">hasClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTABLE</span><span class="o">);</span>
|
|
<span class="k">if</span> <span class="o">(!</span><span class="nx">selectable</span><span class="o">)</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">logger</span><span class="o">.</span><span class="nx">log</span><span class="o">(</span><span class="s2">"The cell at cellIndex:"</span> <span class="o">+</span> <span class="nx">cellIndex</span> <span class="o">+</span> <span class="s2">" is not a selectable/deselectable cell"</span><span class="o">,</span> <span class="s2">"info"</span><span class="o">);</span> <span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">selectable</span><span class="o">)</span> <span class="o">{</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeDeselectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">dCellDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_toDate</span><span class="o">(</span><span class="nx">cellDate</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">selectDate</span> <span class="o">=</span> <span class="nx">cellDate</span><span class="o">.</span><span class="nx">concat</span><span class="o">();</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">cellDateIndex</span> <span class="o">></span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">getMonth</span><span class="o">()</span> <span class="o">==</span> <span class="nx">dCellDate</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()</span> <span class="o">&&</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">getFullYear</span><span class="o">()</span> <span class="o">==</span> <span class="nx">dCellDate</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="nx">cell</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTED</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="nx">selected</span><span class="o">.</span><span class="nx">splice</span><span class="o">(</span><span class="nx">cellDateIndex</span><span class="o">,</span> <span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">,</span> <span class="nx">selected</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">deselectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">(</span><span class="nx">selectDate</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">getSelectedDates</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Deselects all dates on the current calendar.</span>
|
|
<span class="c"> * @method deselectAll</span>
|
|
<span class="c"> * @return {Date[]} Array of JavaScript Date objects representing all individual dates that are currently selected.</span>
|
|
<span class="c"> * Assuming that this function executes properly, the return value should be an empty array.</span>
|
|
<span class="c"> * However, the empty array is returned for the sake of being able to check the selection status</span>
|
|
<span class="c"> * of the calendar.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">deselectAll</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">beforeDeselectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
|
|
<span class="k">var</span> <span class="nx">cfgSelected</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">count</span> <span class="o">=</span> <span class="nx">selected</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">sel</span> <span class="o">=</span> <span class="nx">selected</span><span class="o">.</span><span class="nx">concat</span><span class="o">();</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="o">[]);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgSelected</span><span class="o">,</span> <span class="o">[]);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">count</span> <span class="o">></span> <span class="m">0</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">deselectEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">(</span><span class="nx">sel</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">getSelectedDates</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END SELECTION METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN TYPE CONVERSION METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a date (either a JavaScript Date object, or a date string) to the internal data structure</span>
|
|
<span class="c"> * used to represent dates: [[yyyy,mm,dd],[yyyy,mm,dd]].</span>
|
|
<span class="c"> * @method _toFieldArray</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {String/Date/Date[]} date The date string of dates to deselect in the current calendar. Valid formats are</span>
|
|
<span class="c"> * individual date(s) (12/24/2005,12/26/2005) or date range(s) (12/24/2005-1/1/2006).</span>
|
|
<span class="c"> * Multiple comma-delimited dates can also be passed to this method (12/24/2005,12/11/2005-12/13/2005).</span>
|
|
<span class="c"> * This method can also take a JavaScript Date object or an array of Date objects. </span>
|
|
<span class="c"> * @return {Array[](Number[])} Array of date field arrays</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_toFieldArray</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">returnDate</span> <span class="o">=</span> <span class="o">[];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">date</span> <span class="k">instanceof</span> <span class="nb">Date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">returnDate</span> <span class="o">=</span> <span class="o">[[</span><span class="nx">date</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span> <span class="nx">date</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">,</span> <span class="nx">date</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()]];</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isString</span><span class="o">(</span><span class="nx">date</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="nx">returnDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDates</span><span class="o">(</span><span class="nx">date</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">lang</span><span class="o">.</span><span class="nx">isArray</span><span class="o">(</span><span class="nx">date</span><span class="o">))</span> <span class="o">{</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">i</span><span class="o"><</span><span class="nx">date</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">d</span> <span class="o">=</span> <span class="nx">date</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
|
|
<span class="nx">returnDate</span><span class="o">[</span><span class="nx">returnDate</span><span class="o">.</span><span class="nx">length</span><span class="o">]</span> <span class="o">=</span> <span class="o">[</span><span class="nx">d</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span><span class="nx">d</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">,</span><span class="nx">d</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()];</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="nx">returnDate</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a date field array [yyyy,mm,dd] to a JavaScript Date object. The date field array</span>
|
|
<span class="c"> * is the format in which dates are as provided as arguments to selectEvent and deselectEvent listeners.</span>
|
|
<span class="c"> * </span>
|
|
<span class="c"> * @method toDate</span>
|
|
<span class="c"> * @param {Number[]} dateFieldArray The date field array to convert to a JavaScript Date.</span>
|
|
<span class="c"> * @return {Date} JavaScript Date object representing the date field array.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">toDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">dateFieldArray</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="k">this</span><span class="o">.</span><span class="nx">_toDate</span><span class="o">(</span><span class="nx">dateFieldArray</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a date field array [yyyy,mm,dd] to a JavaScript Date object.</span>
|
|
<span class="c"> * @method _toDate</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @deprecated Made public, toDate </span>
|
|
<span class="c"> * @param {Number[]} dateFieldArray The date field array to convert to a JavaScript Date.</span>
|
|
<span class="c"> * @return {Date} JavaScript Date object representing the date field array</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_toDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">dateFieldArray</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">dateFieldArray</span> <span class="k">instanceof</span> <span class="nb">Date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">dateFieldArray</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">dateFieldArray</span><span class="o">[</span><span class="m">0</span><span class="o">],</span><span class="nx">dateFieldArray</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">,</span><span class="nx">dateFieldArray</span><span class="o">[</span><span class="m">2</span><span class="o">]);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END TYPE CONVERSION METHODS </span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN UTILITY METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a date field array [yyyy,mm,dd] to a JavaScript Date object.</span>
|
|
<span class="c"> * @method _fieldArraysAreEqual</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {Number[]} array1 The first date field array to compare</span>
|
|
<span class="c"> * @param {Number[]} array2 The first date field array to compare</span>
|
|
<span class="c"> * @return {Boolean} The boolean that represents the equality of the two arrays</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_fieldArraysAreEqual</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">array1</span><span class="o">,</span> <span class="nx">array2</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">match</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">array1</span><span class="o">[</span><span class="m">0</span><span class="o">]==</span><span class="nx">array2</span><span class="o">[</span><span class="m">0</span><span class="o">]&&</span><span class="nx">array1</span><span class="o">[</span><span class="m">1</span><span class="o">]==</span><span class="nx">array2</span><span class="o">[</span><span class="m">1</span><span class="o">]&&</span><span class="nx">array1</span><span class="o">[</span><span class="m">2</span><span class="o">]==</span><span class="nx">array2</span><span class="o">[</span><span class="m">2</span><span class="o">])</span> <span class="o">{</span>
|
|
<span class="nx">match</span><span class="o">=</span><span class="kc">true</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="nx">match</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Gets the index of a date field array [yyyy,mm,dd] in the current list of selected dates.</span>
|
|
<span class="c"> * @method _indexOfSelectedFieldArray</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {Number[]} find The date field array to search for</span>
|
|
<span class="c"> * @return {Number} The index of the date field array within the collection of selected dates.</span>
|
|
<span class="c"> * -1 will be returned if the date is not found.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_indexOfSelectedFieldArray</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">find</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="o">-</span><span class="m">1</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">seldates</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">s</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">s</span><span class="o"><</span><span class="nx">seldates</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">s</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">sArray</span> <span class="o">=</span> <span class="nx">seldates</span><span class="o">[</span><span class="nx">s</span><span class="o">];</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">find</span><span class="o">[</span><span class="m">0</span><span class="o">]==</span><span class="nx">sArray</span><span class="o">[</span><span class="m">0</span><span class="o">]&&</span><span class="nx">find</span><span class="o">[</span><span class="m">1</span><span class="o">]==</span><span class="nx">sArray</span><span class="o">[</span><span class="m">1</span><span class="o">]&&</span><span class="nx">find</span><span class="o">[</span><span class="m">2</span><span class="o">]==</span><span class="nx">sArray</span><span class="o">[</span><span class="m">2</span><span class="o">])</span> <span class="o">{</span>
|
|
<span class="nx">selected</span> <span class="o">=</span> <span class="nx">s</span><span class="o">;</span>
|
|
<span class="k">break</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="nx">selected</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Determines whether a given date is OOM (out of month).</span>
|
|
<span class="c"> * @method isDateOOM</span>
|
|
<span class="c"> * @param {Date} date The JavaScript Date object for which to check the OOM status</span>
|
|
<span class="c"> * @return {Boolean} true if the date is OOM</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">isDateOOM</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="o">(</span><span class="nx">date</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()</span> <span class="o">!=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">).</span><span class="nx">getMonth</span><span class="o">());</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Determines whether a given date is OOB (out of bounds - less than the mindate or more than the maxdate).</span>
|
|
<span class="c"> *</span>
|
|
<span class="c"> * @method isDateOOB</span>
|
|
<span class="c"> * @param {Date} date The JavaScript Date object for which to check the OOB status</span>
|
|
<span class="c"> * @return {Boolean} true if the date is OOB</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">isDateOOB</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">minDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MINDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">maxDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MAXDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">dm</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">minDate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">minDate</span> <span class="o">=</span> <span class="nx">dm</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="nx">minDate</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">maxDate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">maxDate</span> <span class="o">=</span> <span class="nx">dm</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="nx">maxDate</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">var</span> <span class="nx">clearedDate</span> <span class="o">=</span> <span class="k">new</span> <span class="nb">Date</span><span class="o">(</span><span class="nx">date</span><span class="o">.</span><span class="nx">getTime</span><span class="o">());</span>
|
|
<span class="nx">clearedDate</span> <span class="o">=</span> <span class="nx">dm</span><span class="o">.</span><span class="nx">clearTime</span><span class="o">(</span><span class="nx">clearedDate</span><span class="o">);</span>
|
|
|
|
<span class="k">return</span> <span class="o">((</span><span class="nx">minDate</span> <span class="o">&&</span> <span class="nx">clearedDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o"><</span> <span class="nx">minDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">())</span> <span class="o">||</span> <span class="o">(</span><span class="nx">maxDate</span> <span class="o">&&</span> <span class="nx">clearedDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o">></span> <span class="nx">maxDate</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()));</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Parses a pagedate configuration property value. The value can either be specified as a string of form "mm/yyyy" or a Date object </span>
|
|
<span class="c"> * and is parsed into a Date object normalized to the first day of the month. If no value is passed in, the month and year from today's date are used to create the Date object </span>
|
|
<span class="c"> * @method _parsePageDate</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {Date|String} date Pagedate value which needs to be parsed</span>
|
|
<span class="c"> * @return {Date} The Date object representing the pagedate</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_parsePageDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">parsedDate</span><span class="o">;</span>
|
|
|
|
<span class="k">var</span> <span class="nx">defCfg</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">date</span> <span class="k">instanceof</span> <span class="nb">Date</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">parsedDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">findMonthStart</span><span class="o">(</span><span class="nx">date</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">month</span><span class="o">,</span> <span class="nx">year</span><span class="o">,</span> <span class="nx">aMonthYear</span><span class="o">;</span>
|
|
<span class="nx">aMonthYear</span> <span class="o">=</span> <span class="nx">date</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">DATE_FIELD_DELIMITER</span><span class="o">.</span><span class="nx">key</span><span class="o">));</span>
|
|
<span class="nx">month</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="o">(</span><span class="nx">aMonthYear</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_MONTH_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">)-</span><span class="m">1</span><span class="o">],</span> <span class="m">10</span><span class="o">)-</span><span class="m">1</span><span class="o">;</span>
|
|
<span class="nx">year</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="o">(</span><span class="nx">aMonthYear</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">defCfg</span><span class="o">.</span><span class="nx">MY_YEAR_POSITION</span><span class="o">.</span><span class="nx">key</span><span class="o">)-</span><span class="m">1</span><span class="o">],</span> <span class="m">10</span><span class="o">);</span>
|
|
|
|
<span class="nx">parsedDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">year</span><span class="o">,</span> <span class="nx">month</span><span class="o">,</span> <span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">parsedDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span> <span class="k">this</span><span class="o">.</span><span class="nx">today</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">(),</span> <span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">return</span> <span class="nx">parsedDate</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END UTILITY METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN EVENT HANDLERS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed before a date is selected in the calendar widget.</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to beforeSelectEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onBeforeSelect</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">MULTI_SELECT</span><span class="o">.</span><span class="nx">key</span><span class="o">)</span> <span class="o">===</span> <span class="kc">false</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">callChildFunction</span><span class="o">(</span><span class="s2">"clearAllBodyCellStyles"</span><span class="o">,</span> <span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTED</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">parent</span><span class="o">.</span><span class="nx">deselectAll</span><span class="o">();</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">clearAllBodyCellStyles</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Style</span><span class="o">.</span><span class="nx">CSS_CELL_SELECTED</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">deselectAll</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed when a date is selected in the calendar widget.</span>
|
|
<span class="c"> * @param {Array} selected An array of date field arrays representing which date or dates were selected. Example: [ [2006,8,6],[2006,8,7],[2006,8,8] ]</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to selectEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onSelect</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">selected</span><span class="o">)</span> <span class="o">{</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed before a date is deselected in the calendar widget.</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to beforeDeselectEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onBeforeDeselect</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed when a date is deselected in the calendar widget.</span>
|
|
<span class="c"> * @param {Array} selected An array of date field arrays representing which date or dates were deselected. Example: [ [2006,8,6],[2006,8,7],[2006,8,8] ]</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to deselectEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onDeselect</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">deselected</span><span class="o">)</span> <span class="o">{</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed when the user navigates to a different calendar page.</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to changePageEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onChangePage</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">render</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed when the calendar widget is rendered.</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to renderEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onRender</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed when the calendar widget is reset to its original state.</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to resetEvemt.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onReset</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">render</span><span class="o">();</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Event executed when the calendar widget is completely cleared to the current month with no selections.</span>
|
|
<span class="c"> * @deprecated Event handlers for this event should be susbcribed to clearEvent.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">onClear</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> <span class="k">this</span><span class="o">.</span><span class="nx">render</span><span class="o">();</span> <span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Validates the calendar widget. This method has no default implementation</span>
|
|
<span class="c"> * and must be extended by subclassing the widget.</span>
|
|
<span class="c"> * @return Should return true if the widget validates, and false if</span>
|
|
<span class="c"> * it doesn't.</span>
|
|
<span class="c"> * @type Boolean</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">validate</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span> <span class="k">return</span> <span class="kc">true</span><span class="o">;</span> <span class="o">},</span>
|
|
|
|
<span class="c">// END EVENT HANDLERS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN DATE PARSE METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a date string to a date field array</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {String} sDate Date string. Valid formats are mm/dd and mm/dd/yyyy.</span>
|
|
<span class="c"> * @return A date field array representing the string passed to the method</span>
|
|
<span class="c"> * @type Array[](Number[])</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_parseDate</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">sDate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">aDate</span> <span class="o">=</span> <span class="nx">sDate</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">DATE_FIELD_DELIMITER</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">rArray</span><span class="o">;</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">aDate</span><span class="o">.</span><span class="nx">length</span> <span class="o">==</span> <span class="m">2</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">rArray</span> <span class="o">=</span> <span class="o">[</span><span class="nx">aDate</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MD_MONTH_POSITION</span><span class="o">-</span><span class="m">1</span><span class="o">],</span><span class="nx">aDate</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MD_DAY_POSITION</span><span class="o">-</span><span class="m">1</span><span class="o">]];</span>
|
|
<span class="nx">rArray</span><span class="o">.</span><span class="nx">type</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MONTH_DAY</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="nx">rArray</span> <span class="o">=</span> <span class="o">[</span><span class="nx">aDate</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MDY_YEAR_POSITION</span><span class="o">-</span><span class="m">1</span><span class="o">],</span><span class="nx">aDate</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MDY_MONTH_POSITION</span><span class="o">-</span><span class="m">1</span><span class="o">],</span><span class="nx">aDate</span><span class="o">[</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">MDY_DAY_POSITION</span><span class="o">-</span><span class="m">1</span><span class="o">]];</span>
|
|
<span class="nx">rArray</span><span class="o">.</span><span class="nx">type</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">DATE</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">i</span><span class="o"><</span><span class="nx">rArray</span><span class="o">.</span><span class="nx">length</span><span class="o">;</span><span class="nx">i</span><span class="o">++)</span> <span class="o">{</span>
|
|
<span class="nx">rArray</span><span class="o">[</span><span class="nx">i</span><span class="o">]</span> <span class="o">=</span> <span class="nb">parseInt</span><span class="o">(</span><span class="nx">rArray</span><span class="o">[</span><span class="nx">i</span><span class="o">],</span> <span class="m">10</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="k">return</span> <span class="nx">rArray</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a multi or single-date string to an array of date field arrays</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {String} sDates Date string with one or more comma-delimited dates. Valid formats are mm/dd, mm/dd/yyyy, mm/dd/yyyy-mm/dd/yyyy</span>
|
|
<span class="c"> * @return An array of date field arrays</span>
|
|
<span class="c"> * @type Array[](Number[])</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_parseDates</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">sDates</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">aReturn</span> <span class="o">=</span> <span class="o">[];</span>
|
|
|
|
<span class="k">var</span> <span class="nx">aDates</span> <span class="o">=</span> <span class="nx">sDates</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">DATE_DELIMITER</span><span class="o">);</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">d</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">d</span><span class="o"><</span><span class="nx">aDates</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">d</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">sDate</span> <span class="o">=</span> <span class="nx">aDates</span><span class="o">[</span><span class="nx">d</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">sDate</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">DATE_RANGE_DELIMITER</span><span class="o">)</span> <span class="o">!=</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="c">// This is a range</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">aRange</span> <span class="o">=</span> <span class="nx">sDate</span><span class="o">.</span><span class="nx">split</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">Locale</span><span class="o">.</span><span class="nx">DATE_RANGE_DELIMITER</span><span class="o">);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">dateStart</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDate</span><span class="o">(</span><span class="nx">aRange</span><span class="o">[</span><span class="m">0</span><span class="o">]);</span>
|
|
<span class="k">var</span> <span class="nx">dateEnd</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDate</span><span class="o">(</span><span class="nx">aRange</span><span class="o">[</span><span class="m">1</span><span class="o">]);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">fullRange</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseRange</span><span class="o">(</span><span class="nx">dateStart</span><span class="o">,</span> <span class="nx">dateEnd</span><span class="o">);</span>
|
|
<span class="nx">aReturn</span> <span class="o">=</span> <span class="nx">aReturn</span><span class="o">.</span><span class="nx">concat</span><span class="o">(</span><span class="nx">fullRange</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="c">// This is not a range</span>
|
|
<span class="c"></span> <span class="k">var</span> <span class="nx">aDate</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDate</span><span class="o">(</span><span class="nx">sDate</span><span class="o">);</span>
|
|
<span class="nx">aReturn</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">aDate</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="k">return</span> <span class="nx">aReturn</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Converts a date range to the full list of included dates</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {Number[]} startDate Date field array representing the first date in the range</span>
|
|
<span class="c"> * @param {Number[]} endDate Date field array representing the last date in the range</span>
|
|
<span class="c"> * @return An array of date field arrays</span>
|
|
<span class="c"> * @type Array[](Number[])</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_parseRange</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">startDate</span><span class="o">,</span> <span class="nx">endDate</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">dCurrent</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">add</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">startDate</span><span class="o">[</span><span class="m">0</span><span class="o">],</span><span class="nx">startDate</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">,</span><span class="nx">startDate</span><span class="o">[</span><span class="m">2</span><span class="o">]),</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">DAY</span><span class="o">,</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="k">var</span> <span class="nx">dEnd</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">endDate</span><span class="o">[</span><span class="m">0</span><span class="o">],</span> <span class="nx">endDate</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">,</span> <span class="nx">endDate</span><span class="o">[</span><span class="m">2</span><span class="o">]);</span>
|
|
|
|
<span class="k">var</span> <span class="nx">results</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="nx">results</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">startDate</span><span class="o">);</span>
|
|
<span class="k">while</span> <span class="o">(</span><span class="nx">dCurrent</span><span class="o">.</span><span class="nx">getTime</span><span class="o">()</span> <span class="o"><=</span> <span class="nx">dEnd</span><span class="o">.</span><span class="nx">getTime</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="nx">results</span><span class="o">.</span><span class="nx">push</span><span class="o">([</span><span class="nx">dCurrent</span><span class="o">.</span><span class="nx">getFullYear</span><span class="o">(),</span><span class="nx">dCurrent</span><span class="o">.</span><span class="nx">getMonth</span><span class="o">()+</span><span class="m">1</span><span class="o">,</span><span class="nx">dCurrent</span><span class="o">.</span><span class="nx">getDate</span><span class="o">()]);</span>
|
|
<span class="nx">dCurrent</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">add</span><span class="o">(</span><span class="nx">dCurrent</span><span class="o">,</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">DAY</span><span class="o">,</span><span class="m">1</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="k">return</span> <span class="nx">results</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END DATE PARSE METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN RENDERER METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Resets the render stack of the current calendar to its original pre-render value.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">resetRenderers</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_renderStack</span><span class="o">.</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Removes all custom renderers added to the Calendar through the addRenderer, addMonthRenderer and </span>
|
|
<span class="c"> * addWeekdayRenderer methods. Calendar's render method needs to be called after removing renderers </span>
|
|
<span class="c"> * to re-render the Calendar without custom renderers applied.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">removeRenderers</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_renderStack</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Clears the inner HTML, CSS class and style information from the specified cell.</span>
|
|
<span class="c"> * @method clearElement</span>
|
|
<span class="c"> * @param {HTMLTableCellElement} cell The cell to clear</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">clearElement</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">cell</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">innerHTML</span> <span class="o">=</span> <span class="s2">"&#160;"</span><span class="o">;</span>
|
|
<span class="nx">cell</span><span class="o">.</span><span class="nx">className</span><span class="o">=</span><span class="s2">""</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Adds a renderer to the render stack. The function reference passed to this method will be executed</span>
|
|
<span class="c"> * when a date cell matches the conditions specified in the date string for this renderer.</span>
|
|
<span class="c"> * @method addRenderer</span>
|
|
<span class="c"> * @param {String} sDates A date string to associate with the specified renderer. Valid formats</span>
|
|
<span class="c"> * include date (12/24/2005), month/day (12/24), and range (12/1/2004-1/1/2005)</span>
|
|
<span class="c"> * @param {Function} fnRender The function executed to render cells that match the render rules for this renderer.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">addRenderer</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">sDates</span><span class="o">,</span> <span class="nx">fnRender</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">aDates</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">_parseDates</span><span class="o">(</span><span class="nx">sDates</span><span class="o">);</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">i</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">i</span><span class="o"><</span><span class="nx">aDates</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">i</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">aDate</span> <span class="o">=</span> <span class="nx">aDates</span><span class="o">[</span><span class="nx">i</span><span class="o">];</span>
|
|
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">aDate</span><span class="o">.</span><span class="nx">length</span> <span class="o">==</span> <span class="m">2</span><span class="o">)</span> <span class="o">{</span> <span class="c">// this is either a range or a month/day combo</span>
|
|
<span class="c"></span> <span class="k">if</span> <span class="o">(</span><span class="nx">aDate</span><span class="o">[</span><span class="m">0</span><span class="o">]</span> <span class="k">instanceof</span> <span class="nb">Array</span><span class="o">)</span> <span class="o">{</span> <span class="c">// this is a range</span>
|
|
<span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_addRenderer</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">RANGE</span><span class="o">,</span><span class="nx">aDate</span><span class="o">,</span><span class="nx">fnRender</span><span class="o">);</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span> <span class="c">// this is a month/day combo</span>
|
|
<span class="c"></span> <span class="k">this</span><span class="o">.</span><span class="nx">_addRenderer</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MONTH_DAY</span><span class="o">,</span><span class="nx">aDate</span><span class="o">,</span><span class="nx">fnRender</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">aDate</span><span class="o">.</span><span class="nx">length</span> <span class="o">==</span> <span class="m">3</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_addRenderer</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">DATE</span><span class="o">,</span><span class="nx">aDate</span><span class="o">,</span><span class="nx">fnRender</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * The private method used for adding cell renderers to the local render stack.</span>
|
|
<span class="c"> * This method is called by other methods that set the renderer type prior to the method call.</span>
|
|
<span class="c"> * @method _addRenderer</span>
|
|
<span class="c"> * @private</span>
|
|
<span class="c"> * @param {String} type The type string that indicates the type of date renderer being added.</span>
|
|
<span class="c"> * Values are YAHOO.widget.Calendar.DATE, YAHOO.widget.Calendar.MONTH_DAY, YAHOO.widget.Calendar.WEEKDAY,</span>
|
|
<span class="c"> * YAHOO.widget.Calendar.RANGE, YAHOO.widget.Calendar.MONTH</span>
|
|
<span class="c"> * @param {Array} aDates An array of dates used to construct the renderer. The format varies based</span>
|
|
<span class="c"> * on the renderer type</span>
|
|
<span class="c"> * @param {Function} fnRender The function executed to render cells that match the render rules for this renderer.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">_addRenderer</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">type</span><span class="o">,</span> <span class="nx">aDates</span><span class="o">,</span> <span class="nx">fnRender</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">add</span> <span class="o">=</span> <span class="o">[</span><span class="nx">type</span><span class="o">,</span><span class="nx">aDates</span><span class="o">,</span><span class="nx">fnRender</span><span class="o">];</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">.</span><span class="nx">unshift</span><span class="o">(</span><span class="nx">add</span><span class="o">);</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_renderStack</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">renderStack</span><span class="o">.</span><span class="nx">concat</span><span class="o">();</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Adds a month to the render stack. The function reference passed to this method will be executed</span>
|
|
<span class="c"> * when a date cell matches the month passed to this method.</span>
|
|
<span class="c"> * @method addMonthRenderer</span>
|
|
<span class="c"> * @param {Number} month The month (1-12) to associate with this renderer</span>
|
|
<span class="c"> * @param {Function} fnRender The function executed to render cells that match the render rules for this renderer.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">addMonthRenderer</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">month</span><span class="o">,</span> <span class="nx">fnRender</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_addRenderer</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">MONTH</span><span class="o">,[</span><span class="nx">month</span><span class="o">],</span><span class="nx">fnRender</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Adds a weekday to the render stack. The function reference passed to this method will be executed</span>
|
|
<span class="c"> * when a date cell matches the weekday passed to this method.</span>
|
|
<span class="c"> * @method addWeekdayRenderer</span>
|
|
<span class="c"> * @param {Number} weekday The weekday (Sunday = 1, Monday = 2 ... Saturday = 7) to associate with this renderer</span>
|
|
<span class="c"> * @param {Function} fnRender The function executed to render cells that match the render rules for this renderer.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">addWeekdayRenderer</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">weekday</span><span class="o">,</span> <span class="nx">fnRender</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">_addRenderer</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">WEEKDAY</span><span class="o">,[</span><span class="nx">weekday</span><span class="o">],</span><span class="nx">fnRender</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END RENDERER METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN CSS METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Removes all styles from all body cells in the current calendar table.</span>
|
|
<span class="c"> * @method clearAllBodyCellStyles</span>
|
|
<span class="c"> * @param {style} style The CSS class name to remove from all calendar body cells</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">clearAllBodyCellStyles</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">style</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">c</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">c</span><span class="o"><</span><span class="k">this</span><span class="o">.</span><span class="nx">cells</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">c</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">util</span><span class="o">.</span><span class="nx">Dom</span><span class="o">.</span><span class="nx">removeClass</span><span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">cells</span><span class="o">[</span><span class="nx">c</span><span class="o">],</span><span class="nx">style</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">// END CSS METHODS</span>
|
|
<span class="c"></span>
|
|
<span class="c">// BEGIN GETTER/SETTER METHODS</span>
|
|
<span class="c"></span> <span class="c">/**</span>
|
|
<span class="c"> * Sets the calendar's month explicitly</span>
|
|
<span class="c"> * @method setMonth</span>
|
|
<span class="c"> * @param {Number} month The numeric month, from 0 (January) to 11 (December)</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">setMonth</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">month</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cfgPageDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">current</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">);</span>
|
|
<span class="nx">current</span><span class="o">.</span><span class="nx">setMonth</span><span class="o">(</span><span class="nb">parseInt</span><span class="o">(</span><span class="nx">month</span><span class="o">,</span> <span class="m">10</span><span class="o">));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">,</span> <span class="nx">current</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Sets the calendar's year explicitly.</span>
|
|
<span class="c"> * @method setYear</span>
|
|
<span class="c"> * @param {Number} year The numeric 4-digit year</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">setYear</span> <span class="o">:</span> <span class="k">function</span><span class="o">(</span><span class="nx">year</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">cfgPageDate</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">PAGEDATE</span><span class="o">.</span><span class="nx">key</span><span class="o">;</span>
|
|
<span class="k">var</span> <span class="nx">current</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">);</span>
|
|
<span class="nx">current</span><span class="o">.</span><span class="nx">setFullYear</span><span class="o">(</span><span class="nb">parseInt</span><span class="o">(</span><span class="nx">year</span><span class="o">,</span> <span class="m">10</span><span class="o">));</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">setProperty</span><span class="o">(</span><span class="nx">cfgPageDate</span><span class="o">,</span> <span class="nx">current</span><span class="o">);</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Gets the list of currently selected dates from the calendar.</span>
|
|
<span class="c"> * @method getSelectedDates</span>
|
|
<span class="c"> * @return {Date[]} An array of currently selected JavaScript Date objects.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">getSelectedDates</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">returnDates</span> <span class="o">=</span> <span class="o">[];</span>
|
|
<span class="k">var</span> <span class="nx">selected</span> <span class="o">=</span> <span class="k">this</span><span class="o">.</span><span class="nx">cfg</span><span class="o">.</span><span class="nx">getProperty</span><span class="o">(</span><span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">.</span><span class="nx">_DEFAULT_CONFIG</span><span class="o">.</span><span class="nx">SELECTED</span><span class="o">.</span><span class="nx">key</span><span class="o">);</span>
|
|
|
|
<span class="k">for</span> <span class="o">(</span><span class="k">var</span> <span class="nx">d</span><span class="o">=</span><span class="m">0</span><span class="o">;</span><span class="nx">d</span><span class="o"><</span><span class="nx">selected</span><span class="o">.</span><span class="nx">length</span><span class="o">;++</span><span class="nx">d</span><span class="o">)</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">dateArray</span> <span class="o">=</span> <span class="nx">selected</span><span class="o">[</span><span class="nx">d</span><span class="o">];</span>
|
|
|
|
<span class="k">var</span> <span class="nx">date</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">DateMath</span><span class="o">.</span><span class="nx">getDate</span><span class="o">(</span><span class="nx">dateArray</span><span class="o">[</span><span class="m">0</span><span class="o">],</span><span class="nx">dateArray</span><span class="o">[</span><span class="m">1</span><span class="o">]-</span><span class="m">1</span><span class="o">,</span><span class="nx">dateArray</span><span class="o">[</span><span class="m">2</span><span class="o">]);</span>
|
|
<span class="nx">returnDates</span><span class="o">.</span><span class="nx">push</span><span class="o">(</span><span class="nx">date</span><span class="o">);</span>
|
|
<span class="o">}</span>
|
|
|
|
<span class="nx">returnDates</span><span class="o">.</span><span class="nx">sort</span><span class="o">(</span> <span class="k">function</span><span class="o">(</span><span class="nx">a</span><span class="o">,</span><span class="nx">b</span><span class="o">)</span> <span class="o">{</span> <span class="k">return</span> <span class="nx">a</span><span class="o">-</span><span class="nx">b</span><span class="o">;</span> <span class="o">}</span> <span class="o">);</span>
|
|
<span class="k">return</span> <span class="nx">returnDates</span><span class="o">;</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/// END GETTER/SETTER METHODS ///</span>
|
|
<span class="c"></span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Hides the Calendar's outer container from view.</span>
|
|
<span class="c"> * @method hide</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">hide</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">beforeHideEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">style</span><span class="o">.</span><span class="nx">display</span> <span class="o">=</span> <span class="s2">"none"</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">hideEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Shows the Calendar's outer container.</span>
|
|
<span class="c"> * @method show</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">show</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="k">this</span><span class="o">.</span><span class="nx">beforeShowEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">())</span> <span class="o">{</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">oDomContainer</span><span class="o">.</span><span class="nx">style</span><span class="o">.</span><span class="nx">display</span> <span class="o">=</span> <span class="s2">"block"</span><span class="o">;</span>
|
|
<span class="k">this</span><span class="o">.</span><span class="nx">showEvent</span><span class="o">.</span><span class="nx">fire</span><span class="o">();</span>
|
|
<span class="o">}</span>
|
|
<span class="o">},</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns a string representing the current browser.</span>
|
|
<span class="c"> * @deprecated As of 2.3.0, environment information is available in YAHOO.env.ua</span>
|
|
<span class="c"> * @see YAHOO.env.ua</span>
|
|
<span class="c"> * @property browser</span>
|
|
<span class="c"> * @type String</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">browser</span> <span class="o">:</span> <span class="o">(</span><span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">var</span> <span class="nx">ua</span> <span class="o">=</span> <span class="nx">navigator</span><span class="o">.</span><span class="nx">userAgent</span><span class="o">.</span><span class="nx">toLowerCase</span><span class="o">();</span>
|
|
<span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="s1">'opera'</span><span class="o">)!=-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> <span class="c">// Opera (check first in case of spoof)</span>
|
|
<span class="c"></span> <span class="k">return</span> <span class="s1">'opera'</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="s1">'msie 7'</span><span class="o">)!=-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> <span class="c">// IE7</span>
|
|
<span class="c"></span> <span class="k">return</span> <span class="s1">'ie7'</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="s1">'msie'</span><span class="o">)</span> <span class="o">!=-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> <span class="c">// IE</span>
|
|
<span class="c"></span> <span class="k">return</span> <span class="s1">'ie'</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="s1">'safari'</span><span class="o">)!=-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> <span class="c">// Safari (check before Gecko because it includes "like Gecko")</span>
|
|
<span class="c"></span> <span class="k">return</span> <span class="s1">'safari'</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="k">if</span> <span class="o">(</span><span class="nx">ua</span><span class="o">.</span><span class="nx">indexOf</span><span class="o">(</span><span class="s1">'gecko'</span><span class="o">)</span> <span class="o">!=</span> <span class="o">-</span><span class="m">1</span><span class="o">)</span> <span class="o">{</span> <span class="c">// Gecko</span>
|
|
<span class="c"></span> <span class="k">return</span> <span class="s1">'gecko'</span><span class="o">;</span>
|
|
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="kc">false</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">})(),</span>
|
|
<span class="c">/**</span>
|
|
<span class="c"> * Returns a string representation of the object.</span>
|
|
<span class="c"> * @method toString</span>
|
|
<span class="c"> * @return {String} A string representation of the Calendar object.</span>
|
|
<span class="c"> */</span>
|
|
<span class="nx">toString</span> <span class="o">:</span> <span class="k">function</span><span class="o">()</span> <span class="o">{</span>
|
|
<span class="k">return</span> <span class="s2">"Calendar "</span> <span class="o">+</span> <span class="k">this</span><span class="o">.</span><span class="nx">id</span><span class="o">;</span>
|
|
<span class="o">}</span>
|
|
<span class="o">};</span>
|
|
|
|
<span class="c">/**</span>
|
|
<span class="c">* @namespace YAHOO.widget</span>
|
|
<span class="c">* @class Calendar_Core</span>
|
|
<span class="c">* @extends YAHOO.widget.Calendar</span>
|
|
<span class="c">* @deprecated The old Calendar_Core class is no longer necessary.</span>
|
|
<span class="c">*/</span>
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar_Core</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">;</span>
|
|
|
|
<span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Cal_Core</span> <span class="o">=</span> <span class="nx">YAHOO</span><span class="o">.</span><span class="nx">widget</span><span class="o">.</span><span class="nx">Calendar</span><span class="o">;</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
<div class="nav">
|
|
|
|
<div class="module">
|
|
<h4>Modules</h4>
|
|
<ul class="content">
|
|
|
|
<li class=""><a href="module_animation.html">animation</a></li>
|
|
|
|
<li class=""><a href="module_autocomplete.html">autocomplete</a></li>
|
|
|
|
<li class=""><a href="module_button.html">button</a></li>
|
|
|
|
<li class="selected"><a href="module_calendar.html">calendar</a></li>
|
|
|
|
<li class=""><a href="module_charts.html">charts</a></li>
|
|
|
|
<li class=""><a href="module_colorpicker.html">colorpicker</a></li>
|
|
|
|
<li class=""><a href="module_connection.html">connection</a></li>
|
|
|
|
<li class=""><a href="module_container.html">container</a></li>
|
|
|
|
<li class=""><a href="module_cookie.html">cookie</a></li>
|
|
|
|
<li class=""><a href="module_datasource.html">datasource</a></li>
|
|
|
|
<li class=""><a href="module_datatable.html">datatable</a></li>
|
|
|
|
<li class=""><a href="module_dom.html">dom</a></li>
|
|
|
|
<li class=""><a href="module_dragdrop.html">dragdrop</a></li>
|
|
|
|
<li class=""><a href="module_editor.html">editor</a></li>
|
|
|
|
<li class=""><a href="module_element.html">element</a></li>
|
|
|
|
<li class=""><a href="module_event.html">event</a></li>
|
|
|
|
<li class=""><a href="module_get.html">get</a></li>
|
|
|
|
<li class=""><a href="module_history.html">history</a></li>
|
|
|
|
<li class=""><a href="module_imagecropper.html">imagecropper</a></li>
|
|
|
|
<li class=""><a href="module_imageloader.html">imageloader</a></li>
|
|
|
|
<li class=""><a href="module_json.html">json</a></li>
|
|
|
|
<li class=""><a href="module_layout.html">layout</a></li>
|
|
|
|
<li class=""><a href="module_logger.html">logger</a></li>
|
|
|
|
<li class=""><a href="module_menu.html">menu</a></li>
|
|
|
|
<li class=""><a href="module_profiler.html">profiler</a></li>
|
|
|
|
<li class=""><a href="module_profilerviewer.html">profilerviewer</a></li>
|
|
|
|
<li class=""><a href="module_resize.html">resize</a></li>
|
|
|
|
<li class=""><a href="module_selector.html">selector</a></li>
|
|
|
|
<li class=""><a href="module_slider.html">slider</a></li>
|
|
|
|
<li class=""><a href="module_tabview.html">tabview</a></li>
|
|
|
|
<li class=""><a href="module_treeview.html">treeview</a></li>
|
|
|
|
<li class=""><a href="module_uploader.html">uploader</a></li>
|
|
|
|
<li class=""><a href="module_yahoo.html">yahoo</a></li>
|
|
|
|
<li class=""><a href="module_yuiloader.html">yuiloader</a></li>
|
|
|
|
<li class=""><a href="module_yuitest.html">yuitest</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="module">
|
|
<h4>Classes</h4>
|
|
<ul class="content">
|
|
<li class=""><a href="YAHOO.widget.Calendar.html">YAHOO.widget.Calendar</a></li>
|
|
<li class=""><a href="YAHOO.widget.Calendar2up.html">YAHOO.widget.Calendar2up</a></li>
|
|
<li class=""><a href="YAHOO.widget.Calendar_Core.html">YAHOO.widget.Calendar_Core</a></li>
|
|
<li class=""><a href="YAHOO.widget.CalendarGroup.html">YAHOO.widget.CalendarGroup</a></li>
|
|
<li class=""><a href="YAHOO.widget.CalendarNavigator.html">YAHOO.widget.CalendarNavigator</a></li>
|
|
<li class=""><a href="YAHOO.widget.DateMath.html">YAHOO.widget.DateMath</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="module">
|
|
<h4>Files</h4>
|
|
<ul class="content">
|
|
<li class="selected"><a href="Calendar.js.html">Calendar.js</a></li>
|
|
<li class=""><a href="CalendarGroup.js.html">CalendarGroup.js</a></li>
|
|
<li class=""><a href="CalendarNavigator.js.html">CalendarNavigator.js</a></li>
|
|
<li class=""><a href="DateMath.js.html">DateMath.js</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="ft">
|
|
<hr />
|
|
Copyright © 2007 Yahoo! Inc. All rights reserved.
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|