source: Dev/trunk/src/client/dojox/widget/_CalendarMonthView.js @ 532

Last change on this file since 532 was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 2.3 KB
Line 
1define([
2        "dojo/_base/declare",
3        "./_CalendarView",
4        "dijit/_TemplatedMixin",
5        "./_CalendarMonthYearView",
6        "dojo/dom-class",
7        "dojo/_base/event",
8        "dojo/text!./Calendar/CalendarMonth.html"
9], function(declare, _CalendarView, _TemplatedMixin, _CalendarMonthYearView, domClass, event, template){
10        return declare("dojox.widget._CalendarMonthView", [_CalendarView, _TemplatedMixin], {
11                // summary:
12                //              A Calendar view listing the 12 months of the year
13
14                // templateString: String
15                //              The template to be used to construct the widget.
16                templateString: template,
17
18                // datePart: String
19                //              Specifies how much to increment the displayed date when the user
20                //              clicks the array button to increment of decrement the view.
21                datePart: "year",
22
23                // headerClass: String
24                //              Specifies the CSS class to apply to the header node for this view.
25                headerClass: "dojoxCalendarMonthHeader",
26
27                // displayedYear: String
28                //              The current year being displayed
29                displayedYear: "",
30
31                postCreate: function(){
32                        // summary:
33                        //              Constructs the view
34                        this.cloneClass(".dojoxCalendarMonthTemplate", 3);
35                        this.cloneClass(".dojoxCalendarMonthGroupTemplate", 2);
36                        this._populateMonths();
37
38                        // Add visual effects to the view, if any have been mixed in
39                        this.addFx(".dojoxCalendarMonthLabel", this.domNode);
40                },
41
42                _setValueAttr: function(value){
43                        var year = this.header.innerHTML = value.getFullYear();
44                        // We should be keeping this info around, might as well expose it too.
45                        // Added while patching http://bugs.dojotoolkit.org/ticket/15520
46                        this.set("displayedYear", year);
47                        this._populateMonths();
48                },
49
50                _getMonthNames: _CalendarMonthYearView.prototype._getMonthNames,
51
52                _populateMonths: _CalendarMonthYearView.prototype._populateMonths,
53
54                onClick: function(evt){
55                        // summary:
56                        //              Handles clicks on month names
57                        if(!domClass.contains(evt.target, "dojoxCalendarMonthLabel")){event.stop(evt); return;}
58                        var parentNode = evt.target.parentNode;
59                        var month = parentNode.cellIndex + (parentNode.parentNode.rowIndex * 4);
60                        var date = this.get("value");
61                        // Seeing a really strange bug in FF3.6 where this has to be called twice
62                        // in order to take affect
63                        date.setMonth(month);
64                        date.setMonth(month);
65                        date.setYear(this.displayedYear);
66                        this.onValueSelected(date, month);
67                }
68        });
69});
Note: See TracBrowser for help on using the repository browser.