]> git.proxmox.com Git - extjs.git/blame - extjs/packages/legacy/modern/src/device/notification/Cordova.js
add extjs 6.0.1 sources
[extjs.git] / extjs / packages / legacy / modern / src / device / notification / Cordova.js
CommitLineData
6527f429
DM
1/**\r
2 * @private\r
3 */\r
4Ext.define('Ext.device.notification.Cordova', {\r
5 alternateClassName: 'Ext.device.notification.PhoneGap',\r
6 extend: 'Ext.device.notification.Abstract',\r
7 requires: ['Ext.device.Communicator'],\r
8\r
9 show: function(config) {\r
10 config = this.callParent(arguments);\r
11 this.confirm(config);\r
12 },\r
13\r
14 confirm: function(config) {\r
15 config = this.callParent(arguments);\r
16\r
17 var buttons = config.buttons,\r
18 ln = config.buttons.length;\r
19\r
20 if (ln && typeof buttons[0] != "string") {\r
21 var newButtons = [],\r
22 i;\r
23\r
24 for (i = 0; i < ln; i++) {\r
25 newButtons.push(buttons[i].text);\r
26 }\r
27 buttons = newButtons;\r
28 }\r
29\r
30 var callback = function(index) {\r
31 if (config.callback) {\r
32 config.callback.apply(config.scope, (buttons) ? [buttons[index - 1].toLowerCase()] : []);\r
33 }\r
34 };\r
35\r
36\r
37 navigator.notification.confirm(\r
38 config.message,\r
39 callback,\r
40 config.title,\r
41 buttons\r
42 );\r
43 },\r
44\r
45 alert: function(config) {\r
46 navigator.notification.alert(\r
47 config.message,\r
48 config.callback,\r
49 config.title,\r
50 config.buttonName\r
51 );\r
52 },\r
53\r
54 prompt: function(config) {\r
55 config = this.callParent(arguments);\r
56 var buttons = config.buttons,\r
57 ln = config.buttons.length;\r
58\r
59 if (ln && typeof buttons[0] != "string") {\r
60 var newButtons = [],\r
61 i;\r
62\r
63 for (i = 0; i < ln; i++) {\r
64 newButtons.push(buttons[i].text);\r
65 }\r
66 buttons = newButtons;\r
67 }\r
68\r
69 var callback = function(result) {\r
70 if (config.callback) {\r
71 config.callback.call(config.scope, (buttons) ? buttons[result.buttonIndex - 1].toLowerCase() : null, result.input1);\r
72 }\r
73 };\r
74\r
75 navigator.notification.prompt(\r
76 config.message,\r
77 callback,\r
78 config.title,\r
79 buttons\r
80 );\r
81 },\r
82\r
83 vibrate: function(time) {\r
84 navigator.notification.vibrate(time);\r
85 },\r
86\r
87 beep: function(times) {\r
88 navigator.notification.vibrate(times);\r
89 }\r
90});\r