feat(plugin): add email composer plugin

This commit is contained in:
Christopher Manouvrier 2016-04-05 21:55:24 +10:00
parent 8e062a94c7
commit 804c9ee463
2 changed files with 66 additions and 0 deletions

View File

@ -25,6 +25,7 @@ import {DeviceMotion} from './plugins/devicemotion';
import {DeviceOrientation} from './plugins/deviceorientation';
import {Diagnostic} from './plugins/diagnostic';
import {Dialogs} from './plugins/dialogs';
import {EmailComposer} from './plugins/emailcomposer';
import {Facebook} from './plugins/facebook';
import {File} from './plugins/file';
import {Flashlight} from './plugins/flashlight';
@ -69,6 +70,7 @@ export {
DeviceOrientation,
Dialogs,
Diagnostic,
EmailComposer,
Facebook,
File,
Flashlight,
@ -117,6 +119,7 @@ window['IonicNative'] = {
DeviceOrientation: DeviceOrientation,
Dialogs: Dialogs,
Diagnostic: Diagnostic,
EmailComposer: EmailComposer,
Facebook: Facebook,
File: File,
Flashlight: Flashlight,

View File

@ -0,0 +1,63 @@
import {Plugin, Cordova} from './plugin';
/**
* Email object for Opening Email Composer
*/
export interface email {
to: string | Array<string>,
cc: string | Array<string>,
bcc: string | Array<string>,
attachments: Array<any>,
subject: string,
body: string,
isHtml: boolean
}
/**
* @name Email Composer
* @description
*
* Requires Cordova plugin: cordova-plugin-email-composer. For more info, please see the [Email Composer plugin docs](https://github.com/katzer/cordova-plugin-email-composer).
*
* @usage
* ```ts
* import {EmailComposer} from 'ionic-native';
*
*
* let email = {
* to: 'max@mustermann.de',
* cc: 'erika@mustermann.de',
* bcc: ['john@doe.com', 'jane@doe.com'],
* attachments: [
* 'file://img/logo.png',
* 'res://icon.png',
* 'base64:icon.png//iVBORw0KGgoAAAANSUhEUg...',
* 'file://README.pdf'
* ],
* subject: 'Cordova Icons',
* body: 'How are you? Nice greetings from Leipzig',
* isHtml: true
* };
*
* // Send a text message using default options
* EmailComposer.send(email);
*
* ```
*/
@Plugin({
plugin: 'cordova-plugin-email-composer',
pluginRef: 'emailComposer',
repo: 'https://github.com/katzer/cordova-plugin-email-composer.git',
platforms: ['Android', 'iOS', 'Windows Phone 8']
})
export class EmailComposer {
/**
* Opens Email Composer with email contents
* @param email {email} Email
* @returns {Promise<any>} Resolves promise when the EmailComposer has been opened
*/
@Cordova()
static open(email: email): Promise<any> { return }
}