diff --git a/src/@ionic-native/plugins/document-viewer/index.ts b/src/@ionic-native/plugins/document-viewer/index.ts new file mode 100644 index 000000000..8b2b900e4 --- /dev/null +++ b/src/@ionic-native/plugins/document-viewer/index.ts @@ -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} Resolves promise when the EmailComposer has been opened + */ + @Cordova() + getSupportInfo(): Promise { 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} options + */ + @Cordova({ sync: true }) + canViewDocument(url: string, contentType: string, options: Array): void { } + + /** + * Opens the file + * + * @param url {string} Url to the file + * @param contentType {string} Content type of the file + * @param options {Array} options + */ + @Cordova({ sync: true }) + viewDocument(url: string, contentType: string, options: Array): void { } + +}