summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/docs/footer.html4
-rw-r--r--src/docs/header.html2
-rw-r--r--src/docs/options.html9
-rw-r--r--src/i18n/jquery-ui-timepicker-de.js2
-rw-r--r--src/i18n/jquery-ui-timepicker-eu.js9
-rw-r--r--src/i18n/jquery-ui-timepicker-vi.js10
-rw-r--r--src/i18n/jquery-ui-timepicker-zh-CN.js2
-rw-r--r--src/jquery-ui-timepicker-addon.js70
8 files changed, 85 insertions, 23 deletions
diff --git a/src/docs/footer.html b/src/docs/footer.html
index 1dc3969..2a588b2 100644
--- a/src/docs/footer.html
+++ b/src/docs/footer.html
@@ -4,8 +4,8 @@
</div>
- <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
- <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.min.js"></script>
+ <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
+ <script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="jquery-ui-sliderAccess.js"></script>
diff --git a/src/docs/header.html b/src/docs/header.html
index d509354..87a0836 100644
--- a/src/docs/header.html
+++ b/src/docs/header.html
@@ -38,7 +38,7 @@
.ebook .buyp a iframe{ margin-bottom: -5px; }
</style>
- <link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
+ <link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="jquery-ui-timepicker-addon.css" />
</head>
diff --git a/src/docs/options.html b/src/docs/options.html
index 4c62358..3cecb5a 100644
--- a/src/docs/options.html
+++ b/src/docs/options.html
@@ -203,6 +203,9 @@
<dt>timeOnly</dt>
<dd><em>Default: false</em> - Hide the datepicker and only provide a time interface.</dd>
+ <dt>timeOnlyShowDate</dt>
+ <dd><em>Default: false</em> - Show the date and time in the input, but only allow the timepicker.</dd>
+
<dt>onSelect</dt>
<dd><em>Default: null</em> - Function to be called when a date is chosen or time has changed (parameters: datetimeText, datepickerInstance).</dd>
@@ -236,6 +239,12 @@
<dt>maxDateTime</dt>
<dd><em>Default: null</em> - Date object of the maximum datetime allowed. Also Available as maxDate.</dd>
+ <dt>minTime</dt>
+ <dd><em>Default: null</em> - String of the minimum time allowed. '8:00 am' will restrict to times after 8am</dd>
+
+ <dt>maxTime</dt>
+ <dd><em>Default: null</em> - String of the maximum time allowed. '8:00 pm' will restrict to times before 8pm</dd>
+
<dt>parse</dt>
<dd><em>Default: 'strict'</em> - How to parse the time string. Two methods are provided: 'strict' which must match the timeFormat exactly, and 'loose' which uses javascript's new Date(timeString) to guess the time. You may also pass in a function(timeFormat, timeString, options) to handle the parsing yourself, returning a simple object:
<pre>{
diff --git a/src/i18n/jquery-ui-timepicker-de.js b/src/i18n/jquery-ui-timepicker-de.js
index 286be73..a0ddf9f 100644
--- a/src/i18n/jquery-ui-timepicker-de.js
+++ b/src/i18n/jquery-ui-timepicker-de.js
@@ -2,7 +2,7 @@
/* Written by Marvin */
(function($) {
$.timepicker.regional['de'] = {
- timeOnlyTitle: 'Zeit Wählen',
+ timeOnlyTitle: 'Zeit wählen',
timeText: 'Zeit',
hourText: 'Stunde',
minuteText: 'Minute',
diff --git a/src/i18n/jquery-ui-timepicker-eu.js b/src/i18n/jquery-ui-timepicker-eu.js
index 41ba5a7..8884e4a 100644
--- a/src/i18n/jquery-ui-timepicker-eu.js
+++ b/src/i18n/jquery-ui-timepicker-eu.js
@@ -1,14 +1,15 @@
-/* Basque trannslation for JQuery Timepicker Addon
+/* Basque trannslation for JQuery Timepicker Addon */
/* Translated by Xabi Fer */
+/* Fixed by Asier Iturralde Sarasola - iametza interaktiboa */
(function($) {
$.timepicker.regional['eu'] = {
timeOnlyTitle: 'Aukeratu ordua',
timeText: 'Ordua',
hourText: 'Orduak',
minuteText: 'Minutuak',
- secondText: 'Segunduak',
- millisecText: 'Milisegunduak',
- microsecText: 'Mikrosegundotan',
+ secondText: 'Segundoak',
+ millisecText: 'Milisegundoak',
+ microsecText: 'Mikrosegundoak',
timezoneText: 'Ordu-eremua',
currentText: 'Orain',
closeText: 'Itxi',
diff --git a/src/i18n/jquery-ui-timepicker-vi.js b/src/i18n/jquery-ui-timepicker-vi.js
index 48b05f1..60d712a 100644
--- a/src/i18n/jquery-ui-timepicker-vi.js
+++ b/src/i18n/jquery-ui-timepicker-vi.js
@@ -7,14 +7,14 @@
hourText: 'Giờ',
minuteText: 'Phút',
secondText: 'Giây',
- millisecText: 'Phần nghìn giây',
- microsecText: 'Miligiây',
+ millisecText: 'Mili giây',
+ microsecText: 'Micrô giây',
timezoneText: 'Múi giờ',
currentText: 'Hiện thời',
closeText: 'Đóng',
- timeFormat: 'H:m',
- amNames: ['SA', 'AM', 'A'],
- pmNames: ['CH', 'PM', 'P'],
+ timeFormat: 'HH:mm',
+ amNames: ['SA', 'S'],
+ pmNames: ['CH', 'C'],
isRTL: false
};
$.timepicker.setDefaults($.timepicker.regional['vi']);
diff --git a/src/i18n/jquery-ui-timepicker-zh-CN.js b/src/i18n/jquery-ui-timepicker-zh-CN.js
index 7488c04..e73ac3b 100644
--- a/src/i18n/jquery-ui-timepicker-zh-CN.js
+++ b/src/i18n/jquery-ui-timepicker-zh-CN.js
@@ -7,7 +7,7 @@
hourText: '小时',
minuteText: '分钟',
secondText: '秒钟',
- millisecText: '微秒',
+ millisecText: '毫秒',
microsecText: '微秒',
timezoneText: '时区',
currentText: '现在时间',
diff --git a/src/jquery-ui-timepicker-addon.js b/src/jquery-ui-timepicker-addon.js
index 71ec2cd..5c7a186 100644
--- a/src/jquery-ui-timepicker-addon.js
+++ b/src/jquery-ui-timepicker-addon.js
@@ -54,6 +54,7 @@
this._defaults = { // Global defaults for all the datetime picker instances
showButtonPanel: true,
timeOnly: false,
+ timeOnlyShowDate: false,
showHour: null,
showMinute: null,
showSecond: null,
@@ -84,6 +85,8 @@
microsecMax: 999,
minDateTime: null,
maxDateTime: null,
+ maxTime: null,
+ minTime: null,
onSelect: null,
hourGrid: 0,
minuteGrid: 0,
@@ -120,6 +123,8 @@
millisec_slider: null,
microsec_slider: null,
timezone_select: null,
+ maxTime: null,
+ minTime: null,
hour: 0,
minute: 0,
second: 0,
@@ -666,6 +671,44 @@
}
}
+ if (dp_inst.settings.minTime!==null) {
+ var tempMinTime=new Date("01/01/1970 " + dp_inst.settings.minTime);
+ if (this.hour<tempMinTime.getHours()) {
+ this.hour=this._defaults.hourMin=tempMinTime.getHours();
+ this.minute=this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else if (this.hour===tempMinTime.getHours() && this.minute<tempMinTime.getMinutes()) {
+ this.minute=this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else {
+ if (this._defaults.hourMin<tempMinTime.getHours()) {
+ this._defaults.hourMin=tempMinTime.getHours();
+ this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else if (this._defaults.hourMin===tempMinTime.getHours()===this.hour && this._defaults.minuteMin<tempMinTime.getMinutes()) {
+ this._defaults.minuteMin=tempMinTime.getMinutes();
+ } else {
+ this._defaults.minuteMin=0;
+ }
+ }
+ }
+
+ if (dp_inst.settings.maxTime!==null) {
+ var tempMaxTime=new Date("01/01/1970 " + dp_inst.settings.maxTime);
+ if (this.hour>tempMaxTime.getHours()) {
+ this.hour=this._defaults.hourMax=tempMaxTime.getHours();
+ this.minute=this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else if (this.hour===tempMaxTime.getHours() && this.minute>tempMaxTime.getMinutes()) {
+ this.minute=this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else {
+ if (this._defaults.hourMax>tempMaxTime.getHours()) {
+ this._defaults.hourMax=tempMaxTime.getHours();
+ this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else if (this._defaults.hourMax===tempMaxTime.getHours()===this.hour && this._defaults.minuteMax>tempMaxTime.getMinutes()) {
+ this._defaults.minuteMax=tempMaxTime.getMinutes();
+ } else {
+ this._defaults.minuteMax=59;
+ }
+ }
+ }
+
if (adjustSliders !== undefined && adjustSliders === true) {
var hourMax = parseInt((this._defaults.hourMax - ((this._defaults.hourMax - this._defaults.hourMin) % this._defaults.stepHour)), 10),
minMax = parseInt((this._defaults.minuteMax - ((this._defaults.minuteMax - this._defaults.minuteMin) % this._defaults.stepMinute)), 10),
@@ -674,23 +717,23 @@
microsecMax = parseInt((this._defaults.microsecMax - ((this._defaults.microsecMax - this._defaults.microsecMin) % this._defaults.stepMicrosec)), 10);
if (this.hour_slider) {
- this.control.options(this, this.hour_slider, 'hour', { min: this._defaults.hourMin, max: hourMax });
+ this.control.options(this, this.hour_slider, 'hour', { min: this._defaults.hourMin, max: hourMax, step: this._defaults.stepHour });
this.control.value(this, this.hour_slider, 'hour', this.hour - (this.hour % this._defaults.stepHour));
}
if (this.minute_slider) {
- this.control.options(this, this.minute_slider, 'minute', { min: this._defaults.minuteMin, max: minMax });
+ this.control.options(this, this.minute_slider, 'minute', { min: this._defaults.minuteMin, max: minMax, step: this._defaults.stepMinute });
this.control.value(this, this.minute_slider, 'minute', this.minute - (this.minute % this._defaults.stepMinute));
}
if (this.second_slider) {
- this.control.options(this, this.second_slider, 'second', { min: this._defaults.secondMin, max: secMax });
+ this.control.options(this, this.second_slider, 'second', { min: this._defaults.secondMin, max: secMax, step: this._defaults.stepSecond });
this.control.value(this, this.second_slider, 'second', this.second - (this.second % this._defaults.stepSecond));
}
if (this.millisec_slider) {
- this.control.options(this, this.millisec_slider, 'millisec', { min: this._defaults.millisecMin, max: millisecMax });
+ this.control.options(this, this.millisec_slider, 'millisec', { min: this._defaults.millisecMin, max: millisecMax, step: this._defaults.stepMillisec });
this.control.value(this, this.millisec_slider, 'millisec', this.millisec - (this.millisec % this._defaults.stepMillisec));
}
if (this.microsec_slider) {
- this.control.options(this, this.microsec_slider, 'microsec', { min: this._defaults.microsecMin, max: microsecMax });
+ this.control.options(this, this.microsec_slider, 'microsec', { min: this._defaults.microsecMin, max: microsecMax, step: this._defaults.stepMicrosec });
this.control.value(this, this.microsec_slider, 'microsec', this.microsec - (this.microsec % this._defaults.stepMicrosec));
}
}
@@ -812,7 +855,7 @@
this.timeDefined = true;
if (hasChanged) {
this._updateDateTime();
- this.$input.focus();
+ //this.$input.focus(); // may automatically open the picker on setDate
}
},
@@ -861,9 +904,9 @@
// return;
//}
- if (this._defaults.timeOnly === true) {
+ if (this._defaults.timeOnly === true && this._defaults.timeOnlyShowDate === false) {
formattedDateTime = this.formattedTime;
- } else if (this._defaults.timeOnly !== true && (this._defaults.alwaysSetTime || timeAvailable)) {
+ } else if ((this._defaults.timeOnly !== true && (this._defaults.alwaysSetTime || timeAvailable)) || (this._defaults.timeOnly === true && this._defaults.timeOnlyShowDate === true)) {
formattedDateTime += this._defaults.separator + this.formattedTime + this._defaults.timeSuffix;
}
@@ -1348,7 +1391,7 @@
var inst = this._getInst($(id)[0]),
tp_inst = this._get(inst, 'timepicker');
- if (tp_inst) {
+ if (tp_inst && inst.settings.showTimepicker) {
tp_inst._limitMinMaxDateTime(inst, true);
inst.inline = inst.stay_open = true;
//This way the onSelect handler called from calendarpicker get the full dateTime
@@ -2040,6 +2083,13 @@
end: {} // options for end picker
}, options);
+ // for the mean time this fixes an issue with calling getDate with timepicker()
+ var timeOnly = false;
+ if(method === 'timepicker'){
+ timeOnly = true;
+ method = 'datetimepicker';
+ }
+
function checkDates(changed, other) {
var startdt = startTime[method]('getDate'),
enddt = endTime[method]('getDate'),
@@ -2083,6 +2133,7 @@
}
$.fn[method].call(startTime, $.extend({
+ timeOnly: timeOnly,
onClose: function (dateText, inst) {
checkDates($(this), endTime);
},
@@ -2091,6 +2142,7 @@
}
}, options, options.start));
$.fn[method].call(endTime, $.extend({
+ timeOnly: timeOnly,
onClose: function (dateText, inst) {
checkDates($(this), startTime);
},