feat(printer): add printer plugin (#225)

* feat(printer): add printer plugin

* Fixed function implementations. Removed unnecessary reference.
This commit is contained in:
Zachary Keeton 2016-06-15 11:39:01 -04:00 committed by Ibrahim Hadeed
parent 4c6006b2e4
commit 48ffcaeb61
2 changed files with 67 additions and 0 deletions

View File

@ -52,6 +52,7 @@ import {LaunchNavigator} from './plugins/launchnavigator';
import {LocalNotifications} from './plugins/localnotifications'; import {LocalNotifications} from './plugins/localnotifications';
import {MediaPlugin} from './plugins/media'; import {MediaPlugin} from './plugins/media';
import {Network, Connection} from './plugins/network'; import {Network, Connection} from './plugins/network';
import {Printer} from './plugins/printer';
import {Push} from './plugins/push'; import {Push} from './plugins/push';
import {SafariViewController} from './plugins/safari-view-controller'; import {SafariViewController} from './plugins/safari-view-controller';
import {Screenshot} from './plugins/screenshot'; import {Screenshot} from './plugins/screenshot';
@ -85,6 +86,7 @@ export * from './plugins/inappbrowser';
export * from './plugins/launchnavigator'; export * from './plugins/launchnavigator';
export * from './plugins/localnotifications'; export * from './plugins/localnotifications';
export * from './plugins/media'; export * from './plugins/media';
export * from './plugins/printer';
export * from './plugins/push'; export * from './plugins/push';
export * from './plugins/safari-view-controller'; export * from './plugins/safari-view-controller';
export * from './plugins/sms'; export * from './plugins/sms';
@ -183,6 +185,7 @@ window['IonicNative'] = {
LocalNotifications: LocalNotifications, LocalNotifications: LocalNotifications,
MediaPlugin: MediaPlugin, MediaPlugin: MediaPlugin,
Network: Network, Network: Network,
Printer: Printer,
Push: Push, Push: Push,
SafariViewController: SafariViewController, SafariViewController: SafariViewController,
Screenshot: Screenshot, Screenshot: Screenshot,

64
src/plugins/printer.ts Normal file
View File

@ -0,0 +1,64 @@
import {Plugin, Cordova} from './plugin';
declare var cordova: any;
export interface PrintOptions {
/**
* The name of the print job and the document
*/
name?: string;
/**
* The network URL of the printer.
* Only supported on iOS.
*/
printerId?: string;
/**
* Specifies the duplex mode to use for the print job.
* Either double-sided (duplex:true) or single-sided (duplex:false).
* Double-sided by default.
* Only supported on iOS
*/
duplex?: boolean;
/**
* The orientation of the printed content, portrait or landscape
* Portrait by default.
*/
landscape?: boolean;
/**
* If your application only prints black text, setting this property to true can result in better performance in many cases.
* False by default.
*/
grayscale?: boolean;
/**
* The Size and position of the print view
*/
bounds?: number[] | any;
}
@Plugin({
plugin: 'de.appplant.cordova.plugin.printer',
pluginRef: 'cordova.plugins.printer',
repo: 'https://github.com/katzer/cordova-plugin-printer.git',
platforms: ['Android', 'iOS']
})
export class Printer {
/**
* Checks whether to device is capable of printing.
*/
@Cordova()
static isAvailable(): Promise<boolean> { return; }
/**
* Sends content to the printer.
* @param {content} The content to print. Can be a URL or an HTML string. If a HTML DOM Object is provided, its innerHtml property value will be used.
* @param {options} The options to pass to the printer
*/
@Cordova()
static print(content: string | HTMLElement, options?: PrintOptions): Promise<any> { return; }
}