Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / reminder.html
1 <html>\r
2 <head>\r
3   <title>The source code</title>\r
4     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
5     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
6 </head>\r
7 <body  onload="prettyPrint();">\r
8     <pre class="prettyprint lang-js">Ext.onReady(function(){\r
9         var win = window.nativeWindow;\r
10         var opener = Ext.air.NativeWindow.getRootHtmlWindow();\r
11         var taskId = String(window.location).split('=')[1];\r
12         \r
13         var store = opener.tx.data.tasks;\r
14         var task = store.lookup(taskId);\r
15         \r
16         win.title = 'Reminder - ' + Ext.util.Format.ellipsis(task.data.title, 40);\r
17         \r
18         bulkUpdate({\r
19                 'task-title' : Ext.util.Format.ellipsis(task.data.title, 80),\r
20                 'task-due' : task.data.dueDate ? task.data.dueDate.format('F d, Y') : 'None'\r
21         });\r
22         \r
23         function bulkUpdate(o){\r
24                 for(var id in o){\r
25                         Ext.fly(id).update(o[id]);\r
26                 }\r
27         }\r
28                 \r
29         var dismiss = new Ext.Button({\r
30                 text: 'Dismiss',\r
31                 minWidth: 80,\r
32                 renderTo: 'btns',\r
33                 handler: function(){\r
34                         win.close();\r
35                 }\r
36         });\r
37         \r
38         var snooze = new Ext.Button({\r
39                 text: 'Snooze',\r
40                 minWidth: 80,\r
41                 renderTo: 'btns',\r
42                 handler: function(){\r
43                         var min = parseInt(Ext.get('snooze-time').getValue(), 10);\r
44                         var reminder = new Date().add('mi', min);\r
45                         var o = store.getById(taskId);\r
46                         if(o){\r
47                                 o.set('reminder', reminder);\r
48                         }else{\r
49                                 store.proxy.table.updateBy({reminder: reminder}, 'where taskId = ?', [taskId]);\r
50                         }\r
51                         win.close();\r
52                 }\r
53         });\r
54         \r
55         win.visible = true;\r
56         win.activate();\r
57         win.notifyUser('informational');\r
58         \r
59         Ext.air.Sound.play('beep.mp3', 10500);\r
60 });\r
61 \r
62     \r
63 \r
64 </pre>    \r
65 </body>\r
66 </html>