diff options
| author | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-10-10 11:28:44 -0400 |
|---|---|---|
| committer | Arjun Roychowdhury <pliablepixels@gmail.com> | 2015-10-10 11:28:44 -0400 |
| commit | d0d3aaf7af63afa041e9af145267b0bb04ee729f (patch) | |
| tree | be718a451ed33afeead4d87c186fe231fe09a444 /plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js | |
| parent | 7b0d282994db52cc4bc6b62b33ce05efbb522fae (diff) | |
Notifications now have a blop sound, also handling application badges
Diffstat (limited to 'plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js')
| -rw-r--r-- | plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js | 370 |
1 files changed, 370 insertions, 0 deletions
diff --git a/plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js b/plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js new file mode 100644 index 00000000..9e9bd284 --- /dev/null +++ b/plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js @@ -0,0 +1,370 @@ +/* + * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. + * + * @APPPLANT_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apache License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://opensource.org/licenses/Apache-2.0/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPPLANT_LICENSE_HEADER_END@ + */ + + +/************* + * INTERFACE * + *************/ + +/** + * Returns the default settings. + * + * @return {Object} + */ +exports.getDefaults = function () { + return this.core.getDefaults(); +}; + +/** + * Overwrite default settings. + * + * @param {Object} defaults + */ +exports.setDefaults = function (defaults) { + this.core.setDefaults(defaults); +}; + +/** + * Schedule a new local notification. + * + * @param {Object} opts + * The notification properties + * @param {Function} callback + * A function to be called after the notification has been canceled + * @param {Object?} scope + * The scope for the callback function + */ +exports.schedule = function (opts, callback, scope) { + this.core.schedule(opts, callback, scope); +}; + +/** + * Update existing notifications specified by IDs in options. + * + * @param {Object} options + * The notification properties to update + * @param {Function} callback + * A function to be called after the notification has been updated + * @param {Object?} scope + * The scope for the callback function + */ +exports.update = function (opts, callback, scope) { + this.core.update(opts, callback, scope); +}; + +/** + * Clear the specified notification. + * + * @param {String} id + * The ID of the notification + * @param {Function} callback + * A function to be called after the notification has been cleared + * @param {Object?} scope + * The scope for the callback function + */ +exports.clear = function (ids, callback, scope) { + this.core.clear(ids, callback, scope); +}; + +/** + * Clear all previously sheduled notifications. + * + * @param {Function} callback + * A function to be called after all notifications have been cleared + * @param {Object?} scope + * The scope for the callback function + */ +exports.clearAll = function (callback, scope) { + this.core.clearAll(callback, scope); +}; + +/** + * Cancel the specified notifications. + * + * @param {String[]} ids + * The IDs of the notifications + * @param {Function} callback + * A function to be called after the notifications has been canceled + * @param {Object?} scope + * The scope for the callback function + */ +exports.cancel = function (ids, callback, scope) { + this.core.cancel(ids, callback, scope); +}; + +/** + * Remove all previously registered notifications. + * + * @param {Function} callback + * A function to be called after all notifications have been canceled + * @param {Object?} scope + * The scope for the callback function + */ +exports.cancelAll = function (callback, scope) { + this.core.cancelAll(callback, scope); +}; + +/** + * Check if a notification with an ID is present. + * + * @param {String} id + * The ID of the notification + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.isPresent = function (id, callback, scope) { + this.core.isPresent(id, callback, scope); +}; + +/** + * Check if a notification with an ID is scheduled. + * + * @param {String} id + * The ID of the notification + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.isScheduled = function (id, callback, scope) { + this.core.isScheduled(id, callback, scope); +}; + +/** + * Check if a notification with an ID was triggered. + * + * @param {String} id + * The ID of the notification + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.isTriggered = function (id, callback, scope) { + this.core.isTriggered(id, callback, scope); +}; + +/** + * List all local notification IDs. + * + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getAllIds = function (callback, scope) { + this.core.getAllIds(callback, scope); +}; + +/** + * Alias for `getAllIds`. + */ +exports.getIds = function () { + this.getAllIds.apply(this, arguments); +}; + +/** + * List all scheduled notification IDs. + * + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getScheduledIds = function (callback, scope) { + this.core.getScheduledIds(callback, scope); +}; + +/** + * List all triggered notification IDs. + * + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getTriggeredIds = function (callback, scope) { + this.core.getTriggeredIds(callback, scope); +}; + +/** + * Property list for given local notifications. + * If called without IDs, all notification will be returned. + * + * @param {Number[]?} ids + * Set of notification IDs + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.get = function () { + this.core.get.apply(this.core, arguments); +}; + +/** + * Property list for all local notifications. + * + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getAll = function (callback, scope) { + this.core.getAll(callback, scope); +}; + +/** + * Property list for given scheduled notifications. + * If called without IDs, all notification will be returned. + * + * @param {Number[]?} ids + * Set of notification IDs + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getScheduled = function () { + this.core.getScheduled.apply(this.core, arguments); +}; + +/** + * Property list for all scheduled notifications. + * + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getAllScheduled = function (callback, scope) { + this.core.getAllScheduled(callback, scope); +}; + +/** + * Property list for given triggered notifications. + * If called without IDs, all notification will be returned. + * + * @param {Number[]?} ids + * Set of notification IDs + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getTriggered = function () { + this.core.getTriggered.apply(this.core, arguments); +}; + +/** + * Property list for all triggered notifications. + * + * @param {Function} callback + * A callback function to be called with the list + * @param {Object?} scope + * The scope for the callback function + */ +exports.getAllTriggered = function (callback, scope) { + this.core.getAllTriggered(callback, scope); +}; + +/** + * Informs if the app has the permission to show notifications. + * + * @param {Function} callback + * The function to be exec as the callback + * @param {Object?} scope + * The callback function's scope + */ +exports.hasPermission = function (callback, scope) { + this.core.hasPermission(callback, scope); +}; + +/** + * Register permission to show notifications if not already granted. + * + * @param {Function} callback + * The function to be exec as the callback + * @param {Object?} scope + * The callback function's scope + */ +exports.registerPermission = function (callback, scope) { + this.core.registerPermission(callback, scope); +}; + + +/**************** + * DEPRECATIONS * + ****************/ + +/** + * Schedule a new local notification. + */ +exports.add = function () { + console.warn('Depreated: Please use `notification.local.schedule` instead.'); + + this.schedule.apply(this, arguments); +}; + +/** + * Register permission to show notifications + * if not already granted. + */ +exports.promptForPermission = function () { + console.warn('Depreated: Please use `notification.local.registerPermission` instead.'); + + this.registerPermission.apply(this, arguments); +}; + + +/********** + * EVENTS * + **********/ + +/** + * Register callback for given event. + * + * @param {String} event + * The event's name + * @param {Function} callback + * The function to be exec as callback + * @param {Object?} scope + * The callback function's scope + */ +exports.on = function (event, callback, scope) { + this.core.on(event, callback, scope); +}; + +/** + * Unregister callback for given event. + * + * @param {String} event + * The event's name + * @param {Function} callback + * The function to be exec as callback + */ +exports.un = function (event, callback) { + this.core.un(event, callback, scope); +}; |
