Skip to content

Commit

Permalink
feat(chooster): add plugin
Browse files Browse the repository at this point in the history
closes: #2612
  • Loading branch information
danielsogl committed Sep 18, 2018
1 parent 10d222d commit 04db233
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions src/@ionic-native/plugins/chooser/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import { Injectable } from '@angular/core';
import { Cordova, IonicNativePlugin, Plugin } from '@ionic-native/core';

export interface ChooserResult {
data: Uint8Array;
dataURI: string;
mediaType: string;
name: string;
uri: string;
}

/**
* @name Chooser
* @description
* File chooser plugin for Cordova.
*
* The following must be added to config.xml to prevent crashing when selecting large files on Android:
* ```xml
* <platform name="android">
* <edit-config
* file="app/src/main/AndroidManifest.xml"
* mode="merge"
* target="/manifest/application">
* <application android:largeHeap="true" />
* </edit-config>
* </platform>
* ```
*
* @usage
* ```typescript
* import { Chooser } from '@ionic-native/chooser';
*
*
* constructor(private chooser: Chooser) { }
*
* ...
*
*
* this.chooser.getFile()
* .then(file => console.log(file ? file.name : 'canceled'))
* .catch((error: any) => console.error(error));
*
* ```
*
* @interfaces
* ChooserResult
*/
@Plugin({
pluginName: 'Chooser',
plugin: 'cordova-plugin-chooser',
pluginRef: 'chooser',
repo: 'https://github.com/cyph/cordova-plugin-chooser',
platforms: ['Android', 'iOS']
})
@Injectable()
export class Chooser extends IonicNativePlugin {
/**
* Displays native prompt for user to select a file.
* @param {string} [accept] Optional MIME type filter (e.g. 'image/gif,video/*').
* @return {Promise<any>} Promise containing selected file's raw binary data,
* base64-encoded data: URI, MIME type, display name, and original URI.
*/
@Cordova()
getFile(accept: string): Promise<ChooserResult | undefined> {
return;
}
}

0 comments on commit 04db233

Please sign in to comment.