Daniel Sogl 328e5de3f3 docs(plugins): added platforms (#1638)
* added platforms

* round 2

* round 3

* Update index.ts
2017-06-02 15:34:18 -04:00

111 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Injectable } from '@angular/core';
import { Cordova, CordovaInstance, Plugin, IonicNativePlugin, checkAvailability } from '@ionic-native/core';
declare var Notification: any;
export class PLNObject {
private _objectInstance: any;
constructor(title: string, options: LocalNotificationOptions) {
if (checkAvailability(PhonegapLocalNotifications.pluginRef, null, PhonegapLocalNotifications.pluginName) === true) {
this._objectInstance = new Notification(title, options);
}
}
@CordovaInstance({ sync: true })
close(): void { }
}
export interface LocalNotificationOptions {
/**
* Sets the direction of the notification. One of "auto", "ltr" or "rtl"
*/
dir?: string;
/**
* Sets the language of the notification
*/
lang?: string;
/**
* Sets the body of the notification
*/
body?: string;
/**
* Sets the identifying tag of the notification
*/
tag?: string;
/**
* Sets the icon of the notification
*/
icon?: string;
}
/**
* @name Phonegap Local Notification
* @description
* The Local Notification plugin gives developers the ability to post notifications from their app that show up in the devices notification area.
* The API for the local notification plugin follows the W3C Web Notifications specification: https://www.w3.org/TR/notifications/
*
* @usage
* ```
* import { PhonegapLocalNotifications } from '@ionic-native/phonegap-local-notifications';
*
*
* constructor(private localNotification: PhonegapLocalNotifications) { }
*
* ...
*
* this.localNotification.requestPermission().then(
* (permission) => {
* if (permission === 'granted') {
*
* // Create the notification
* this.localNotification.create('My Title', {
* tag: 'message1',
* body: 'My body',
* icon: 'assets/icon/favicon.ico'
* });
*
* }
* }
* );
*
* ```
*
* @interfaces
* LocalNotificationOptions
*/
@Plugin({
pluginName: 'Phonegap Local Notifications',
plugin: 'phonegap-local-notifications',
pluginRef: 'Notification',
repo: 'https://github.com/phonegap/phonegap-plugin-local-notification',
platforms: ['Android', , 'Browser', 'iOS', 'Windows']
})
@Injectable()
export class PhonegapLocalNotifications extends IonicNativePlugin {
/**
* A global object that lets you interact with the Notification API.
* @param title {string} Title of the local notification.
* @param Options {LocalNotificationOptions} An object containing optional property/value pairs.
* @returns {PLNObject}
*/
create(title: string, options: LocalNotificationOptions) { return new PLNObject(title, options); }
/**
* requests permission from the user to show a local notification.
* @returns {Promise<any>}
*/
@Cordova()
requestPermission(): Promise<any> { return; }
}