97 lines
2.0 KiB
JavaScript
Executable File
97 lines
2.0 KiB
JavaScript
Executable File
/**
|
|
* Phonegap DatePicker Plugin Copyright (c) Greg Allen 2011 MIT Licensed
|
|
* Reused and ported to Android plugin by Daniel van 't Oever
|
|
*/
|
|
|
|
/**
|
|
* Constructor
|
|
*/
|
|
function DatePicker() {
|
|
//this._callback;
|
|
}
|
|
|
|
/**
|
|
* Android themes
|
|
*/
|
|
DatePicker.prototype.ANDROID_THEMES = {
|
|
THEME_TRADITIONAL : 1, // default
|
|
THEME_HOLO_DARK : 2,
|
|
THEME_HOLO_LIGHT : 3,
|
|
THEME_DEVICE_DEFAULT_DARK : 4,
|
|
THEME_DEVICE_DEFAULT_LIGHT : 5
|
|
};
|
|
|
|
/**
|
|
* show - true to show the ad, false to hide the ad
|
|
*/
|
|
DatePicker.prototype.show = function(options, cb, errCb) {
|
|
|
|
if (options.date && options.date instanceof Date) {
|
|
options.date = (options.date.getMonth() + 1) + "/" +
|
|
(options.date.getDate()) + "/" +
|
|
(options.date.getFullYear()) + "/" +
|
|
(options.date.getHours()) + "/" +
|
|
(options.date.getMinutes());
|
|
}
|
|
|
|
var defaults = {
|
|
mode : 'date',
|
|
date : '',
|
|
minDate: 0,
|
|
maxDate: 0,
|
|
titleText: '',
|
|
cancelText: '',
|
|
okText: '',
|
|
todayText: '',
|
|
nowText: '',
|
|
is24Hour: false,
|
|
androidTheme : window.datePicker.ANDROID_THEMES.THEME_TRADITIONAL, // Default theme
|
|
};
|
|
|
|
for (var key in defaults) {
|
|
if (typeof options[key] !== "undefined") {
|
|
defaults[key] = options[key];
|
|
}
|
|
}
|
|
|
|
//this._callback = cb;
|
|
|
|
var callback = function(message) {
|
|
if(message != 'error'){
|
|
var timestamp = Date.parse(message);
|
|
if(isNaN(timestamp) == false) {
|
|
cb(new Date(message));
|
|
}
|
|
else {
|
|
cb();
|
|
}
|
|
} else {
|
|
// TODO error popup?
|
|
}
|
|
}
|
|
|
|
var errCallback = function(message) {
|
|
if (typeof errCb === 'function') {
|
|
errCb(message);
|
|
}
|
|
}
|
|
|
|
cordova.exec(callback,
|
|
errCallback,
|
|
"DatePickerPlugin",
|
|
defaults.mode,
|
|
[defaults]
|
|
);
|
|
};
|
|
|
|
var datePicker = new DatePicker();
|
|
module.exports = datePicker;
|
|
|
|
// Make plugin work under window.plugins
|
|
if (!window.plugins) {
|
|
window.plugins = {};
|
|
}
|
|
if (!window.plugins.datePicker) {
|
|
window.plugins.datePicker = datePicker;
|
|
}
|