commit extjs-2.2.1
[extjs.git] / air / samples / tasks / reminder.js
1 /*\r
2  * Ext JS Library 0.30\r
3  * Copyright(c) 2006-2009, Ext JS, LLC.\r
4  * licensing@extjs.com\r
5  * \r
6  * http://extjs.com/license\r
7  */\r
8 \r
9 Ext.onReady(function(){\r
10         var win = window.nativeWindow;\r
11         var opener = Ext.air.NativeWindow.getRootHtmlWindow();\r
12         var taskId = String(window.location).split('=')[1];\r
13         \r
14         var store = opener.tx.data.tasks;\r
15         var task = store.lookup(taskId);\r
16         \r
17         win.title = 'Reminder - ' + Ext.util.Format.ellipsis(task.data.title, 40);\r
18         \r
19         bulkUpdate({\r
20                 'task-title' : Ext.util.Format.ellipsis(task.data.title, 80),\r
21                 'task-due' : task.data.dueDate ? task.data.dueDate.format('F d, Y') : 'None'\r
22         });\r
23         \r
24         function bulkUpdate(o){\r
25                 for(var id in o){\r
26                         Ext.fly(id).update(o[id]);\r
27                 }\r
28         }\r
29                 \r
30         var dismiss = new Ext.Button({\r
31                 text: 'Dismiss',\r
32                 minWidth: 80,\r
33                 renderTo: 'btns',\r
34                 handler: function(){\r
35                         win.close();\r
36                 }\r
37         });\r
38         \r
39         var snooze = new Ext.Button({\r
40                 text: 'Snooze',\r
41                 minWidth: 80,\r
42                 renderTo: 'btns',\r
43                 handler: function(){\r
44                         var min = parseInt(Ext.get('snooze-time').getValue(), 10);\r
45                         var reminder = new Date().add('mi', min);\r
46                         var o = store.getById(taskId);\r
47                         if(o){\r
48                                 o.set('reminder', reminder);\r
49                         }else{\r
50                                 store.proxy.table.updateBy({reminder: reminder}, 'where taskId = ?', [taskId]);\r
51                         }\r
52                         win.close();\r
53                 }\r
54         });\r
55         \r
56         win.visible = true;\r
57         win.activate();\r
58         win.notifyUser('informational');\r
59         \r
60         Ext.air.Sound.play('beep.mp3', 10500);\r
61 });\r
62 \r
63     \r
64 \r