pd_officer/plugins/cordova-plugin-datepicker/www/android/DatePicker.js

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;
}