Skip to content

Commit

Permalink
fix(datepicker): fix plugin functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
ihadeed committed Mar 6, 2016
1 parent ce6adcc commit 91de971
Showing 1 changed file with 76 additions and 29 deletions.
105 changes: 76 additions & 29 deletions src/plugins/datepicker.ts
@@ -1,26 +1,91 @@
import {Plugin, Cordova} from './plugin';

export interface datePickerOptions {
/**
* Platforms: iOS, Android, Windows
* The mode of the date picker
* Values: date | time | datetime
* Default: date
*/
mode?: string,

/**
* Platforms: iOS, Android, Windows
* Selected date
* Default: new Date()
*/
date?: Date,

/**
* Platforms: iOS, Android, Windows
* Minimum date
* Type: Date | empty String
* Default: empty String
*/
minDate?: Date,

/**
* Platforms: iOS, Android, Windows
* Maximum date
* Type: Date | empty String
* Default: empty String
*/
maxDate?: Date,

/**
* Platforms: Android
* Label for the dialog title. If empty, uses android default (Set date/Set time).
* Type: String
* Default: empty String
*/
titleText?: string,

/**
* Platforms: Android
* Label of BUTTON_POSITIVE (done button) on Android
*/
okText?: string,

// TODO complete documentation here, and copy params & docs to main plugin docs
cancelText?: string,
todayText?: string,
nowText?: string,
is24Hour?: boolean,
androidTheme?: number,
allowOldDate?: boolean,
allowFutureDates?: boolean,
doneButtonLabel?: string,
doneButtonColor?: string,
cancelButtonLabel?: string,
cancelButtonColor?: string,
x?: number,
y?: number,
minuteInterval?: number,
popoverArrowDirection?: string,
locale?: string
}

/**
* The DatePicker plugin allows the user to fetch date or time using native dialogs.
*
* Platforms supported: iOS, Android, Windows
*
* Requires Cordova plugin: `cordova-plugin-datepicker`. For more info, please see the [Datepicker plugin docs](https://github.com/VitaliiBlagodir/cordova-plugin-datepicker).
* Requires Cordova plugin: `cordova-plugin-datepicker`. For more info, please see the [DatePicker plugin docs](https://github.com/VitaliiBlagodir/cordova-plugin-datepicker).
*
* Install the plugin by running the following command:
* ```shell
* ionic plugin add cordova-plugin-datepicker
* cordova plugin add https://github.com/VitaliiBlagodir/cordova-plugin-datepicker.git
* ```
*
* @usage
* ```js
* DatePicker.
* DatePicker.show();
* ```
*
*/
@Plugin({
plugin: 'cordova-plugin-datepicker',
pluginRef: 'plugins.datePicker'
plugin: 'https://github.com/VitaliiBlagodir/cordova-plugin-datepicker.git',
pluginRef: 'datePicker'
})
export class DatePicker {

Expand All @@ -30,30 +95,12 @@ export class DatePicker {
* @returns {Promise<Date>} Returns a promise that resolves with the picked date and/or time, or rejects with an error.
*/
@Cordova()
static show(options?: {
mode?: string,
date?: Date,
minDate?: Date,
maxDate?: Date,
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?: number,
y?: number,
minuteInterval?: number,
popoverArrowDirection?: string,
locale?: string
}): Promise<Date> {
static show(options?: datePickerOptions): Promise<Date> {
// This Promise is replaced by one from the @Cordova decorator that wraps
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
return new Promise<Date>((res, rej) => {});
}

Expand Down

0 comments on commit 91de971

Please sign in to comment.