source: Dev/trunk/src/client/dojox/calendar/MobileCalendar.js @ 485

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