Skip to content

Commit

Permalink
feat(plugin): add Document Viewer plugin (#1520)
Browse files Browse the repository at this point in the history
* typo(barcode-scanner): fixe circle lint error

* typo(docs):  Unified the documentations

In some plugins the typescript markup was missing.
I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same.

* Initial commit

* updated interface

* updated interface
  • Loading branch information
danielsogl authored and ihadeed committed May 9, 2017
1 parent 142525e commit 6855fe8
Showing 1 changed file with 93 additions and 0 deletions.
93 changes: 93 additions & 0 deletions src/@ionic-native/plugins/document-viewer/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
import { Injectable } from '@angular/core';

export interface DocumentViewerOptions {
title: string;
documentView: {
closeLabel: string;
};
navigationView: {
closeLabel: string;
};
email: {
enabled: boolean;
};
print: {
enabled: boolean;
};
openWith: {
enabled: boolean;
};
bookmarks: {
enabled: boolean;
};
search: {
enabled: boolean;
};
autoClose: {
onPause: boolean;
};
};

/**
* @name Document Viewer
* @description
* This plugin offers a slim API to view PDF files which are either stored in the apps assets folder (/www/*) or in any other file system directory available via the cordova file plugin.
*
* @usage
* ```typescript
* import { DocumentViewer } from '@ionic-native/document-viewer';
*
*
* constructor(private document: DocumentViewer) { }
*
* ...
* const options = {
* title: 'My PDF'
* }
* this.document.view('assets/myFile.pdf', 'application/pdf', options)
*
* ```
*
* @interfaces
* DocumentViewerOptions
*/
@Plugin({
pluginName: 'Document Viewer',
plugin: 'cordova-plugin-document-viewer',
pluginRef: 'SitewaertsDocumentViewer',
repo: 'DocumentViewer',
platforms: ['Android', 'iOS', 'Windows']
})
@Injectable()
export class DocumentViewer extends IonicNativePlugin {

/**
* Displays the email composer pre-filled with data.
*
* @returns {Promise<any>} Resolves promise when the EmailComposer has been opened
*/
@Cordova()
getSupportInfo(): Promise<any> { return; }

/**
* Check if the document can be shown
*
* @param url {string} Url to the file
* @param contentType {string} Content type of the file
* @param options {Array<DocumentViewerOptions>} options
*/
@Cordova({ sync: true })
canViewDocument(url: string, contentType: string, options: Array<DocumentViewerOptions>): void { }

/**
* Opens the file
*
* @param url {string} Url to the file
* @param contentType {string} Content type of the file
* @param options {Array<DocumentViewerOptions>} options
*/
@Cordova({ sync: true })
viewDocument(url: string, contentType: string, options: Array<DocumentViewerOptions>): void { }

}

0 comments on commit 6855fe8

Please sign in to comment.