Merge pull request #4023 from davetayls/feature/cordova-plugin-email-composer

Feature/cordova plugin email composer
This commit is contained in:
Masahiro Wakame
2015-04-03 01:15:22 +09:00
4 changed files with 57 additions and 5 deletions
+1 -5
View File
@@ -5,10 +5,6 @@
/// <reference path="./plugins/keyboard.d.ts" />
interface Cordova {
plugins:Plugins;
}
interface Plugins {
interface CordovaPlugins {
Keyboard:Ionic.Keyboard;
}
@@ -0,0 +1,19 @@
/// <reference path="../cordova/cordova.d.ts" />
/// <reference path="./cordova-plugin-email-composer.d.ts" />
cordova.plugins.email.isAvailable((isAvailable) => {}, {});
cordova.plugins.email.open({
to: ['foo@bar.com'],
body: 'foo bar'
});
cordova.plugins.email.open();
cordova.plugins.email.open({}, () => {});
cordova.plugins.email.open({}, () => {}, {});
cordova.plugins.email.openDraft({
to: ['foo@bar.com'],
body: 'foo bar'
});
cordova.plugins.email.openDraft();
cordova.plugins.email.openDraft({}, () => {});
cordova.plugins.email.openDraft({}, () => {}, {});
@@ -0,0 +1,33 @@
// Type definitions for Apache Cordova Email Composer plugin
// Project: https://github.com/katzer/cordova-plugin-email-composer
// Definitions by: Dave Taylor <http://davetayls.me>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/**
* The plugin provides access to the standard interface that manages the
* editing and sending an email message
*/
interface CordovaPluginEmailComposer {
/** Determine if the device is capable to send emails */
isAvailable(callback:(isAvailable:boolean) => void, scope?:any):void;
/** Open a pre-filled email draft */
open(options?:ICordovaPluginEmailComposerOpenOptions, callback?:() => void, scope?:any):void;
openDraft(options?:ICordovaPluginEmailComposerOpenOptions, callback?:() => void, scope?:any):void;
}
interface ICordovaPluginEmailComposerOpenOptions {
/** An configured email account is required to send emails */
to?:string[];
body?:string;
cc?:string[];
bcc?:string[];
/** Attachments can be either base64 encoded datas, files from the the device storage or assets from within the www folder */
attachments?:any[];
subject?:string;
/** The default value for isHTML is true */
isHtml?:boolean;
}
interface CordovaPlugins {
email:CordovaPluginEmailComposer;
}
+4
View File
@@ -43,8 +43,12 @@ interface Cordova {
define(moduleName: string, factory: (require: any, exports: any, module: any) => any): void;
/** Access a Cordova module by name. */
require(moduleName: string): any;
/** Namespace for Cordova plugin functionality */
plugins:CordovaPlugins;
}
interface CordovaPlugins {}
interface Document {
addEventListener(type: "deviceready", listener: (ev: Event) => any, useCapture?: boolean): void;
addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void;