Skip to content

Commit

Permalink
feat(plugin): add sms
Browse files Browse the repository at this point in the history
  • Loading branch information
ihadeed committed Mar 6, 2016
1 parent ce6adcc commit 6843177
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/plugins/push.ts
Original file line number Diff line number Diff line change
Expand Up @@ -296,10 +296,10 @@ export class Push {
@Cordova()
static hasPermission(){
// This Promise is replaced by one from the @Cordova decorator that wraps
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
return new Promise<{ isEnabled: boolean }>((res, rej) => {});
}
}
64 changes: 64 additions & 0 deletions src/plugins/sms.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import {Plugin, Cordova} from './plugin';
import {isInstalled} from "./plugin";
import {pluginWarn} from "./plugin";

export interface smsOptions {

/**
* Set to true to replace \n by a new line. Default: false
*/
replaceLineBreaks : boolean,

android : smsOptionsAndroid

}

export interface smsOptionsAndroid {

/**
* Set to "INTENT" to send SMS with the native android SMS messaging. Leaving it empty will send the SMS without opening any app.
*/
intent : string

}

declare var sms : any;

/**
*
*
* Requires Cordova plugin: cordova-plugin-sms. For more info, please see the [SMS plugin docs](https://github.com/cordova-sms/cordova-sms-plugin).
*
* ```
* cordova plugin add cordova-plugin-sms
* ```
*
* @usage
* ```js
*
*
* ```
*/
@Plugin({
plugin: 'cordova-plugin-sms',
pluginRef: 'sms'
})
export class SMS {

/**
* Sends sms to a number
* @param number [number] Phone number
* @param message [string] Message
* @param options [object] Options
* @param options.replaceLineBreaks [boolean] Set to true to replace \n by a new line. Default: false
* @param options.android.intent [string] Set to "INTENT" to send SMS with the native android SMS messaging. Leaving it empty will send the SMS without opening any app.
* @returns {Promise<any>}
*/
static send(number : number, message : string, options : smsOptions) : Promise<any> {
return new Promise<any>((res, rej) => {
// TODO handle error in case plugin doesn't exist
sms.send(number, message, options, () => res(), (error : any) => rej(error));
});
}

}

0 comments on commit 6843177

Please sign in to comment.