source: Dev/trunk/src/client/dojox/calendar/Calendar.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.4 KB
Line 
1define(["dojo/_base/declare", "dojo/_base/lang", "./CalendarBase", "./ColumnView", "./ColumnViewSecondarySheet",
2                                "./VerticalRenderer", "./MatrixView",   "./HorizontalRenderer", "./LabelRenderer",
3                                "./ExpandRenderer", "./Keyboard", "./Mouse", "dojo/text!./templates/Calendar.html",
4                                "dijit/form/Button", "dijit/Toolbar", "dijit/ToolbarSeparator"],
5       
6        function(declare, lang, CalendarBase, ColumnView, ColumnViewSecondarySheet, VerticalRenderer,
7                                         MatrixView, HorizontalRenderer, LabelRenderer, ExpandRenderer, Keyboard, Mouse, template){
8       
9        return declare("dojox.calendar.Calendar", CalendarBase, {
10               
11                templateString: template,
12               
13                // summary:
14                //              This class defines a calendar widget that display events in time.
15               
16                _createDefaultViews: function(){
17                        // summary:
18                        //              Creates the default views:
19                        //              - A dojox.calendar.ColumnView instance used to display one day to seven days time intervals,
20                        //              - A dojox.calendar.MatrixView instance used to display the other time intervals.
21                        //              The views are mixed with Mouse and Keyboard to allow editing items using mouse and keyboard.
22
23                        var secondarySheetClass = declare([ColumnViewSecondarySheet, Keyboard, Mouse]);
24                       
25                        var colView = declare([ColumnView, Keyboard, Mouse])(lang.mixin({
26                                secondarySheetClass: secondarySheetClass,
27                                verticalRenderer: VerticalRenderer,
28                                horizontalRenderer: HorizontalRenderer,
29                                expandRenderer: ExpandRenderer
30                        }, this.columnViewProps));
31                       
32                        var matrixView = declare([MatrixView, Keyboard, Mouse])(lang.mixin({
33                                horizontalRenderer: HorizontalRenderer,
34                                labelRenderer: LabelRenderer,
35                                expandRenderer: ExpandRenderer
36                        }, this.matrixViewProps));
37                                                               
38                        this.columnView = colView;
39                        this.matrixView = matrixView;
40                       
41                        var views = [colView, matrixView];
42                       
43                        this.installDefaultViewsActions(views);
44                       
45                        return views;
46                },
47               
48                installDefaultViewsActions: function(views){
49                        // summary:
50                        //              Installs the default actions on newly created default views.
51                        //              By default this action is registering:
52                        //              - the matrixViewRowHeaderClick method on the rowHeaderClick event of the matrix view.
53                        //              - the columnViewColumnHeaderClick method on the columnHeaderClick event of the column view.
54                        this.matrixView.on("rowHeaderClick", lang.hitch(this, this.matrixViewRowHeaderClick));
55                        this.columnView.on("columnHeaderClick", lang.hitch(this, this.columnViewColumnHeaderClick));
56                }
57               
58        });
59});
Note: See TracBrowser for help on using the repository browser.