Loading src/windows/LocalNotificationCore.js +8 −0 Changes for src/windows/LocalNotificationCore.js: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -200,7 +200,9 @@ exports.core = { clearLocalNotification: function (id) { var notification = this.getAll([id])[0]; try { this.getToastHistory().remove('Toast' + id); } catch (e) {/*Only Phones support the NotificationHistory*/ } if (this.isRepeating(notification)) return; Loading @@ -220,7 +222,9 @@ exports.core = { this.clearLocalNotification(ids[i]); } try { this.getToastHistory().clear(); } catch (e) {/*Only Phones support the NotificationHistory*/ } this.fireEvent('clearall'); }, Loading Loading @@ -251,7 +255,9 @@ exports.core = { history = this.getToastHistory(), toasts = this.getScheduledToasts(); try { history.remove('Toast' + id); } catch (e) {/*Only Phones support the NotificationHistory*/ } for (var i = 0; i < toasts.length; i++) { var toast = toasts[i]; Loading @@ -272,7 +278,9 @@ exports.core = { this.cancelLocalNotification(ids[i]); } try { this.getToastHistory().clear(); } catch (e) {/*Only Phones support the NotificationHistory*/ } this.fireEvent('cancelall'); }, Loading src/windows/LocalNotificationUtil.js +61 −19 Changes for src/windows/LocalNotificationUtil.js: 61 added lines, 19 removed lines. Original line number Diff line number Diff line Loading @@ -86,20 +86,52 @@ exports.isRepeating = function (notification) { * @param {String} path * Relative path to sound resource * * @return {String} URI to Sound-File * @return {String} XML Tag for Sound-File */ exports.parseSound = function (path) { if (!path.match(/^file/)) return ''; var uri = this.parseUri(path), audio = "<audio src=" + uri + " loop='false'/>"; return audio; }; /** * Parses image file path. * * @param {String} path * Relative path to image resource * * @return {String} XML-Tag for Image-File */ exports.parseImage = function (path) { if (!path.match(/^file/)) return ''; var uri = this.parseUri(path), image = "<image id='1' src=" + uri + " />"; return image; }; /** * Parses file path to URI. * * @param {String} path * Relative path to a resource * * @return {String} URI to File */ exports.parseUri = function (path) { var pkg = Windows.ApplicationModel.Package.current, pkgId = pkg.id, pkgName = pkgId.name; if (!path.match(/^file/)) return; var uri = "'ms-appx://" + pkgName + "/www" + path.slice(6, path.length) + "'"; var sound = "'ms-appx://" + pkgName + "/www/" + path.slice(6, path.length) + "'", audio = "<audio src=" + sound + " loop='false'/>"; return audio; return uri; }; /** Loading Loading @@ -150,28 +182,38 @@ exports.buildToastTemplate = function (options) { sound = this.parseSound(options.sound); } var templateName = "ToastText", imageNode; if (options.icon && options.icon !== '') { imageNode = this.parseImage(options.icon); // template with Image if (imageNode !== '') { templateName = "ToastImageAndText"; }; } else { imageNode = ""; } var bindingNode; if (title && title !== '') { return "<toast>" + "<visual>" + "<binding template='ToastText02'>" + bindingNode = "<binding template='" + templateName + "02'>" + imageNode + "<text id='1'>" + title + "</text>" + "<text id='2'>" + message + "</text>" + "</binding>" + "</visual>" + sound + "<json>" + json + "</json>" + "</toast>"; "</binding>"; } else { bindingNode = "<binding template='" + templateName + "01'>" + imageNode + "<text id='1'>" + message + "</text>" + "</binding>"; } return "<toast>" + "<visual>" + "<binding template='ToastText01'>" + "<text id='1'>" + message + "</text>" + "</binding>" + bindingNode + "</visual>" + sound + "<json>" + json + "</json>" + "</toast>"; } }; /** Loading Loading
src/windows/LocalNotificationCore.js +8 −0 Changes for src/windows/LocalNotificationCore.js: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -200,7 +200,9 @@ exports.core = { clearLocalNotification: function (id) { var notification = this.getAll([id])[0]; try { this.getToastHistory().remove('Toast' + id); } catch (e) {/*Only Phones support the NotificationHistory*/ } if (this.isRepeating(notification)) return; Loading @@ -220,7 +222,9 @@ exports.core = { this.clearLocalNotification(ids[i]); } try { this.getToastHistory().clear(); } catch (e) {/*Only Phones support the NotificationHistory*/ } this.fireEvent('clearall'); }, Loading Loading @@ -251,7 +255,9 @@ exports.core = { history = this.getToastHistory(), toasts = this.getScheduledToasts(); try { history.remove('Toast' + id); } catch (e) {/*Only Phones support the NotificationHistory*/ } for (var i = 0; i < toasts.length; i++) { var toast = toasts[i]; Loading @@ -272,7 +278,9 @@ exports.core = { this.cancelLocalNotification(ids[i]); } try { this.getToastHistory().clear(); } catch (e) {/*Only Phones support the NotificationHistory*/ } this.fireEvent('cancelall'); }, Loading
src/windows/LocalNotificationUtil.js +61 −19 Changes for src/windows/LocalNotificationUtil.js: 61 added lines, 19 removed lines. Original line number Diff line number Diff line Loading @@ -86,20 +86,52 @@ exports.isRepeating = function (notification) { * @param {String} path * Relative path to sound resource * * @return {String} URI to Sound-File * @return {String} XML Tag for Sound-File */ exports.parseSound = function (path) { if (!path.match(/^file/)) return ''; var uri = this.parseUri(path), audio = "<audio src=" + uri + " loop='false'/>"; return audio; }; /** * Parses image file path. * * @param {String} path * Relative path to image resource * * @return {String} XML-Tag for Image-File */ exports.parseImage = function (path) { if (!path.match(/^file/)) return ''; var uri = this.parseUri(path), image = "<image id='1' src=" + uri + " />"; return image; }; /** * Parses file path to URI. * * @param {String} path * Relative path to a resource * * @return {String} URI to File */ exports.parseUri = function (path) { var pkg = Windows.ApplicationModel.Package.current, pkgId = pkg.id, pkgName = pkgId.name; if (!path.match(/^file/)) return; var uri = "'ms-appx://" + pkgName + "/www" + path.slice(6, path.length) + "'"; var sound = "'ms-appx://" + pkgName + "/www/" + path.slice(6, path.length) + "'", audio = "<audio src=" + sound + " loop='false'/>"; return audio; return uri; }; /** Loading Loading @@ -150,28 +182,38 @@ exports.buildToastTemplate = function (options) { sound = this.parseSound(options.sound); } var templateName = "ToastText", imageNode; if (options.icon && options.icon !== '') { imageNode = this.parseImage(options.icon); // template with Image if (imageNode !== '') { templateName = "ToastImageAndText"; }; } else { imageNode = ""; } var bindingNode; if (title && title !== '') { return "<toast>" + "<visual>" + "<binding template='ToastText02'>" + bindingNode = "<binding template='" + templateName + "02'>" + imageNode + "<text id='1'>" + title + "</text>" + "<text id='2'>" + message + "</text>" + "</binding>" + "</visual>" + sound + "<json>" + json + "</json>" + "</toast>"; "</binding>"; } else { bindingNode = "<binding template='" + templateName + "01'>" + imageNode + "<text id='1'>" + message + "</text>" + "</binding>"; } return "<toast>" + "<visual>" + "<binding template='ToastText01'>" + "<text id='1'>" + message + "</text>" + "</binding>" + bindingNode + "</visual>" + sound + "<json>" + json + "</json>" + "</toast>"; } }; /** Loading