1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/**
* @author Piotr Smolarski <ph0ndragxdev@gmail.com>
*/
var toastProxy = {
lastDisplayedNotification: null,
show: function(successCallback, errorCallback, options) {
var notifications = Windows.UI.Notifications;
var template = notifications.ToastTemplateType.ToastText01;
var toastXml = notifications.ToastNotificationManager.getTemplateContent(template);
var toastTextElements = toastXml.getElementsByTagName("text");
toastTextElements[0].appendChild(toastXml.createTextNode(options[0].message));
var toastNode = toastXml.selectSingleNode("/toast");
toastNode.setAttribute("duration", options[0].duration);
var toast = new notifications.ToastNotification(toastXml);
toast.onactivated = function (event) {
toastProxy.lastDisplayedNotification = null;
successCallback({
event: "touch",
message: options[0].message,
data: options[0].data
});
};
toast.ondismissed = function (event) {
toastProxy.lastDisplayedNotification = null;
successCallback({
event: "hide",
message: options[0].message,
data: options[0].data
});
};
toast.onfailed = function(err) {
toastProxy.lastDisplayedNotification = null;
errorCallback(err);
};
notifications.ToastNotificationManager.createToastNotifier().show(toast);
},
hide: function() {
if (this.lastDisplayedNotification !== null) {
notifications.ToastNotificationManager.createToastNotifier().hide(toast);
this.lastDisplayedNotification = null;
}
}
};
cordova.commandProxy.add("Toast", toastProxy);