Skip to content

Commit

Permalink
feat(printer): add printer plugin (#225)
Browse files Browse the repository at this point in the history
* feat(printer): add printer plugin

* Fixed function implementations. Removed unnecessary reference.
  • Loading branch information
zakton5 authored and ihadeed committed Jun 15, 2016
1 parent 4c6006b commit 48ffcae
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ import {LaunchNavigator} from './plugins/launchnavigator';
import {LocalNotifications} from './plugins/localnotifications';
import {MediaPlugin} from './plugins/media';
import {Network, Connection} from './plugins/network';
import {Printer} from './plugins/printer';
import {Push} from './plugins/push';
import {SafariViewController} from './plugins/safari-view-controller';
import {Screenshot} from './plugins/screenshot';
Expand Down Expand Up @@ -85,6 +86,7 @@ export * from './plugins/inappbrowser';
export * from './plugins/launchnavigator';
export * from './plugins/localnotifications';
export * from './plugins/media';
export * from './plugins/printer';
export * from './plugins/push';
export * from './plugins/safari-view-controller';
export * from './plugins/sms';
Expand Down Expand Up @@ -183,6 +185,7 @@ window['IonicNative'] = {
LocalNotifications: LocalNotifications,
MediaPlugin: MediaPlugin,
Network: Network,
Printer: Printer,
Push: Push,
SafariViewController: SafariViewController,
Screenshot: Screenshot,
Expand Down
64 changes: 64 additions & 0 deletions src/plugins/printer.ts
Original file line number Diff line number Diff line change
@@ -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; }
}

0 comments on commit 48ffcae

Please sign in to comment.