c98c2b32fac1d996471fc6fc9eb6f5a83be1a57c
[roojs1] / examples / grid / calendar.js
1 /*
2  * Based on:
3  * Ext JS Library 1.1.1
4  * Copyright(c) 2006-2007, Ext JS, LLC.
5  *
6  * Originally Released Under LGPL - original licence link has changed is not relivant.
7  *
8  * Fork - LGPL
9  * <script type="text/javascript">
10  */
11
12 Roo.BLANK_IMAGE_URL  = "../../images/default/s.gif";
13  
14  
15 var Example = {
16     init : function(){
17         // some data yanked off the web
18         Roo.QuickTips.init ();
19   
20         // create the Grid
21         this.grid = new Roo.grid.Calendar('grid-example', {
22             background: false,
23             eventStore : {
24                         xtype: 'Store',
25                         xns: Roo.data,
26                         listeners : {
27                             beforeload : function (_self, o){
28                                 o.params = o.params || {};
29                                 //var d = new Date().format('Y-m-d');
30                                 //if(_this.cal){
31                                 //    d = typeof(_this.cal.activeDate) == 'string' ? _this.cal.activeDate : _this.cal.activeDate.format("Y-m-d");
32                                 //}
33                                 //o.params._activeDate = d
34                             }
35                         },
36                         remoteSort : true,
37                         sortInfo : { direction : 'ASC', field: 'start_dt' },
38                         proxy : {
39                             xtype: 'HttpProxy',
40                             xns: Roo.data,
41                             method : 'GET',
42                             url : 'http://roojs.com/admin.php/Roo/mtrack_ticket?_dc=1396967515369&_future_schedule=1&query%5Bviewtype%5D=active&limit=999&sort=summary&dir=ASC'
43                         },
44                         reader : {
45                             xtype: 'JsonReader',
46                             xns: Roo.data,
47                             id : 'id',
48                             root : 'data',
49                             totalProperty : 'total',
50                             fields : [{"name":"id","type":"int"},{"name":"title","type":"string"}]
51                         }
52                     }
53         });
54         
55         var gpanel = new Roo.GridPanel(this.grid);
56         var layout = Roo.BorderLayout.create({
57             center: {
58                 margins:{left:3,top:3,right:3,bottom:3},
59                 panels: [ gpanel ]
60             }
61         }, 'grid-panel');
62
63         this.grid.render();
64         this.grid.load();
65         
66         var gridHead = this.grid.getView().getHeaderPanel(true);
67         var tb = new Roo.Toolbar(gridHead, [ {
68                             xtype: 'Button',
69                             xns: Roo.Toolbar,
70                             listeners : {
71                                 click : function (_self, e)
72                                 {
73                                     var sd = Date.parseDate(_this.monthField.getValue(), "Y-m-d");
74                                     sd.setMonth(sd.getMonth()-1);
75                                     _this.monthField.setValue(sd.format('Y-m-d'));
76                                     _this.grid.ds.load({});
77                                 }
78                             },
79                             text : "Back"
80                         },
81                         {
82                             xtype: 'Separator',
83                             xns: Roo.Toolbar
84                         },
85                         {
86                             xtype: 'MonthField',
87                             xns: Roo.form,
88                             listeners : {
89                                 render : function (_self)
90                                 {
91                                  //   _this.monthField = _self;
92                                    // _this.monthField.set  today
93                                 },
94                                 select : function (combo, date)
95                                 {
96                                    // _this.grid.ds.load({});
97                                 }
98                             },
99                             value : (function() { return new Date(); })()
100                         },
101                         {
102                             xtype: 'Separator',
103                             xns: Roo.Toolbar
104                         },
105                         {
106                             xtype: 'TextItem',
107                             xns: Roo.Toolbar,
108                             text : "Blue: in-active, green: in-active sup-event, red: de-active, purple: de-active sup-event"
109                         },
110                         {
111                             xtype: 'Fill',
112                             xns: Roo.Toolbar
113                         },
114                         {
115                             xtype: 'Button',
116                             xns: Roo.Toolbar,
117                             listeners : {
118                                 click : function (_self, e)
119                                 {
120                                     var sd = Date.parseDate(_this.monthField.getValue(), "Y-m-d");
121                                     sd.setMonth(sd.getMonth()+1);
122                                     _this.monthField.setValue(sd.format('Y-m-d'));
123                                     _this.grid.ds.load({});
124                                 }
125                             },
126                             text : "Next"
127                         }
128             ]);
129         
130         
131         
132         //grid.getSelectionModel().selectFirstRow();
133     }
134 };
135 Roo.onReady(Example.init, Example);