diff --git a/.gitignore b/.gitignore index c2658d7d1..a5199f687 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules/ +.idea \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index c30592177..841ea57e7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -20,6 +20,7 @@ import {Push} from './plugins/push'; import {StatusBar} from './plugins/statusbar'; import {Toast} from './plugins/toast'; import {TouchID} from './plugins/touchid'; +import {DatePicker} from './plugins/datepicker'; export { ActionSheet, @@ -35,7 +36,8 @@ export { Push, StatusBar, Toast, - TouchID + TouchID, + DatePicker } // Window export to use outside of a module loading system @@ -52,7 +54,8 @@ window['IonicNative'] = { Push: Push, StatusBar: StatusBar, Toast: Toast, - TouchID: TouchID + TouchID: TouchID, + DatePicker: DatePicker } // To help developers using cordova, we listen for the device ready event and diff --git a/src/plugins/datepicker.ts b/src/plugins/datepicker.ts new file mode 100644 index 000000000..4c55dd8c9 --- /dev/null +++ b/src/plugins/datepicker.ts @@ -0,0 +1,61 @@ +import {Plugin, Cordova} from './plugin'; + +/** + * The DatePicker plugin allows the user to fetch date or time using native dialogs. + * + * Platforms supported: iOS, Android, Windows + * + * Requires cordova-plugin-datepicker by VitaliiBlagodir that can be [found here](https://github.com/VitaliiBlagodir/cordova-plugin-datepicker). + * + * Install the plugin by running the following command: + * ```shell + * ionic plugin add cordova-plugin-datepicker + * ``` + * + * @usage + * ```js + * DatePicker. + * ``` + * + */ +@Plugin({ + name: 'DatePicker', + plugin: 'cordova-plugin-datepicker', + pluginRef: 'plugins.datePicker' +}) +export class DatePicker { + + /** + * Shows the date and/or time picker dialog(s) + * @param options + * @returns {Promise} Returns a promise that resolves with the picked date and/or time, or rejects with an error. + */ + @Cordova + static show(options? : { + mode : string, + date : string, + minDate : string, + maxDate : string, + titleText : string, + okText : string, + cancelText : string, + todayText : string, + nowText : string, + is24Hour : boolean, + androidTheme : number, + allowOldDate: boolean, + allowFutureDates : boolean, + doneButtonLabel : string, + doneButtonColor : string, + cancelButtonLabel : string, + cancelButtonColor : string, + x : string, + y : string, + minuteInterval : number, + popoverArrowDirection : string, + locale : string + }) : Promise { + return new Promise((res, rej) => {}); + } + +} \ No newline at end of file