feat(plugin): add Document Viewer plugin (#1520)

* 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
This commit is contained in:
Daniel Sogl 2017-05-10 00:14:47 +02:00 committed by Ibby Hadeed
parent 142525e133
commit 6855fe8f7d

View File

@ -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 { }
}