jquery-timepicker-rails 1.3.8.1 → 1.3.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 223232e5566bc6128b1ec80e641cee486117821d
4
- data.tar.gz: 39501de9cd4670716111c724a643708df47d08d1
3
+ metadata.gz: 545fa00de0d6a98095473a70516e8ae9437cb9a4
4
+ data.tar.gz: 00b5995547dba2820adf60f2ae3467580c93af1e
5
5
  SHA512:
6
- metadata.gz: 606c36b678424fc2c1724efa70667517c928f62b1f2f7ee0fd29ba2ca4e37309c79b3797e3b6107ceda32544f96cdfa2460a36e5af76122b7b12348d00e109b1
7
- data.tar.gz: 2de329b997e96f1589025560621acab2b279f5ae3ea6e4f1f28400cb764a7153b8369c5c156d3dad723673928f992ac3a48e672a72709075e47b2330f9d01cff
6
+ metadata.gz: 92fd90b8cb6d70dc849e77200a41705770731465dd2a5f5e7ec24096bdac4c7c1b5babce3e072b0946ed2f3f29e2a6507233ac32136cb8999af71ecfdf550f55
7
+ data.tar.gz: 40e0464a7e807e57eed19987dd259cf5947fbe848ba8897c5abef0741a20965d74ba7aa24940285fa30e0955fccc066c9c6b8c1d538e88ae1fac236aae55f864
@@ -1,7 +1,7 @@
1
1
  module Jquery
2
2
  module Timepicker
3
3
  module Rails
4
- VERSION = "1.3.8.1"
4
+ VERSION = '1.3.9'
5
5
  end
6
6
  end
7
7
  end
@@ -1,337 +1,304 @@
1
- /************************
2
- jquery-datepair v1.2.13
3
- http://jonthornton.github.com/jquery-datepair/
4
-
5
- requires jQuery 1.7+
6
- ************************/
7
-
8
-
9
- (function (factory) {
10
- if (typeof define === 'function' && define.amd) {
11
- // AMD. Register as an anonymous module.
12
- define(['jquery'], factory);
13
- } else {
14
- // Browser globals
15
- factory(jQuery);
16
- }
17
- }(function ($) {
18
- var _ONE_DAY = 86400000;
19
- var _defaults = {
20
- startClass: 'start',
21
- endClass: 'end',
22
- timeClass: 'time',
23
- dateClass: 'date',
24
- defaultDateDelta: 0,
25
- defaultTimeDelta: 3600000,
26
- parseTime: function($input){
27
- return $input.timepicker('getTime');
28
- },
29
- updateTime: function($input, dateObj){
30
- $input.timepicker('setTime', dateObj);
31
- },
32
- parseDate: function($input){
33
- return $input.datepicker('getDate');
34
- },
35
- updateDate: function($input, dateObj){
36
- $input.datepicker('update', dateObj);
37
- },
38
- setMinTime: function($input, dateObj){
39
- $input.timepicker('option', 'minTime', dateObj);
40
- }
41
- };
42
-
43
- var methods =
44
- {
45
- init: function(options)
46
- {
47
- return this.each(function()
48
- {
49
- var $self = $(this);
50
-
51
- var settings = $.extend({}, _defaults);
52
-
53
- if (options) {
54
- settings = $.extend(settings, options);
55
- }
56
-
57
- settings = _parseSettings(settings);
58
-
59
- $self.data('datepair-settings', settings);
60
- _bindChangeHandler($self);
61
-
62
- // initialize datepair-datedelta
63
- var $startDateInput = _getStartDateInput($self);
64
- var $endDateInput = _getEndDateInput($self);
65
-
66
- if ($startDateInput.val() && $endDateInput.val()) {
67
- var startDate = settings.parseDate($startDateInput);
68
- var endDate = settings.parseDate($endDateInput);
69
- $self.data('datepair-datedelta', endDate.getTime() - startDate.getTime());
70
- } else {
71
- $self.data('datepair-datedelta', null);
72
- }
73
-
74
- // initialize datepair-timedelta
75
- var $startTimeInput = _getStartTimeInput($self);
76
- var $endTimeInput = _getEndTimeInput($self);
77
-
78
- if ($startTimeInput.val() && $endTimeInput.val()) {
79
- var startTime = settings.parseTime($startTimeInput);
80
- var endTime = settings.parseTime($endTimeInput);
81
- $self.data('datepair-timedelta', endTime.getTime() - startTime.getTime());
82
- } else {
83
- $self.data('datepair-timedelta', null);
84
- }
85
-
86
- _updateEndMintime($self);
87
- });
88
- },
89
-
90
- option: function(key, value)
91
- {
92
- var self = this;
93
- var settings = self.data('datepair-settings');
94
-
95
- if (typeof key == 'object') {
96
- settings = $.extend(settings, key);
97
-
98
- } else if (typeof key == 'string' && typeof value != 'undefined') {
99
- settings[key] = value;
100
-
101
- } else if (typeof key == 'string') {
102
- return settings[key];
103
- }
104
-
105
- settings = _parseSettings(settings);
106
-
107
- self.data('datepair-settings', settings);
108
-
109
- return self;
110
- },
111
-
112
- remove: function()
113
- {
114
- var $self = this;
115
- $self.removeData('datepair-settings');
116
- _unbindChangeHandler($self)
117
-
118
- return $self;
119
- }
120
- };
121
-
122
- // private methods
123
-
124
- function _parseSettings(settings)
125
- {
126
- // if (settings.startClass) {
127
- // settings.minTime = _time2int(settings.minTime);
128
- // }
129
-
130
- return settings;
1
+ /*!
2
+ * datepair.js v0.2.1 - A javascript plugin for intelligently selecting date and time ranges inspired by Google Calendar.
3
+ * Copyright (c) 2014 Jon Thornton - http://jonthornton.github.com/Datepair.js
4
+ * License: MIT
5
+ */
6
+
7
+ (function(window, document) {
8
+
9
+ 'use strict';
10
+
11
+ var _ONE_DAY = 86400000;
12
+ var jq = window.Zepto || window.jQuery
13
+
14
+ function simpleExtend(obj1, obj2) {
15
+ var out = obj2 || {};
16
+
17
+ for (var i in obj1) {
18
+ if (!(i in out)) {
19
+ out[i] = obj1[i]
20
+ }
21
+ }
22
+
23
+ return out;
24
+ }
25
+
26
+ // IE's custom event support is totally borked.
27
+ // Use jQuery if possible
28
+ function triggerSimpleCustomEvent(el, eventName) {
29
+ if (jq) {
30
+ jq(el).trigger(eventName);
31
+ } else {
32
+ var event = document.createEvent('CustomEvent');
33
+ event.initCustomEvent(eventName, true, true, {});
34
+ el.dispatchEvent(event);
35
+ }
36
+ }
37
+
38
+ // el.classList not supported by < IE10
39
+ // use jQuery if available
40
+ function hasClass(el, className) {
41
+ if (jq) {
42
+ return jq(el).hasClass(className);
43
+ } else {
44
+ return el.classList.contains(className);
45
+ }
46
+ }
47
+
48
+ function Datepair(container, options) {
49
+ this.dateDelta = null;
50
+ this.timeDelta = null;
51
+ this._defaults = {
52
+ startClass: 'start',
53
+ endClass: 'end',
54
+ timeClass: 'time',
55
+ dateClass: 'date',
56
+ defaultDateDelta: 0,
57
+ defaultTimeDelta: 3600000,
58
+
59
+ // defaults for jquery-timepicker; override when using other input widgets
60
+ parseTime: function(input){
61
+ return jq(input).timepicker('getTime');
62
+ },
63
+ updateTime: function(input, dateObj){
64
+ jq(input).timepicker('setTime', dateObj);
65
+ },
66
+ setMinTime: function(input, dateObj){
67
+ jq(input).timepicker('option', 'minTime', dateObj);
68
+ },
69
+
70
+ // defaults for bootstrap datepicker; override when using other input widgets
71
+ parseDate: function(input){
72
+ return jq(input).datepicker('getDate');
73
+ },
74
+ updateDate: function(input, dateObj){
75
+ jq(input).datepicker('update', dateObj);
76
+ }
77
+ };
78
+
79
+ this.container = container;
80
+ this.settings = simpleExtend(this._defaults, options);
81
+
82
+ this.startDateInput = this.container.querySelector('.'+this.settings.startClass+'.'+this.settings.dateClass);
83
+ this.endDateInput = this.container.querySelector('.'+this.settings.endClass+'.'+this.settings.dateClass);
84
+ this.startTimeInput = this.container.querySelector('.'+this.settings.startClass+'.'+this.settings.timeClass);
85
+ this.endTimeInput = this.container.querySelector('.'+this.settings.endClass+'.'+this.settings.timeClass);
86
+
87
+ // init starts here
88
+ this._bindChangeHandler();
89
+ }
90
+
91
+ Datepair.prototype = {
92
+ constructor: Datepair,
93
+
94
+ _bindChangeHandler: function(){
95
+ // addEventListener doesn't work with synthetic "change" events
96
+ // fired by jQuery's trigger() functioin. If jQuery is present,
97
+ // use that for event binding
98
+ if (jq) {
99
+ jq(this.container).on('change.datepair', jq.proxy(this.handleEvent, this));
100
+ } else {
101
+ this.container.addEventListener('change', this, false);
102
+ }
103
+ },
104
+
105
+ _unbindChangeHandler: function(){
106
+ if (jq) {
107
+ jq(this.container).off('change.datepair');
108
+ } else {
109
+ this.container.removeEventListener('change', this, false);
110
+ }
111
+ },
112
+
113
+ // This function will be called when passing 'this' to addEventListener
114
+ handleEvent: function(e){
115
+ // temporarily unbind the change handler to prevent triggering this
116
+ // if we update other inputs
117
+ this._unbindChangeHandler();
118
+
119
+ if (hasClass(e.target, this.settings.dateClass)) {
120
+ if (e.target.value != '') {
121
+ this._dateChanged(e.target);
122
+ } else {
123
+ this.dateDelta = null;
124
+ }
125
+
126
+ } else if (hasClass(e.target, this.settings.timeClass)) {
127
+ if (e.target.value != '') {
128
+ this._timeChanged(e.target);
129
+ } else {
130
+ this.timeDelta = null;
131
+ }
132
+ }
133
+
134
+ this._validateRanges();
135
+ this._updateEndMintime()
136
+ this._bindChangeHandler();
137
+ },
138
+
139
+ _dateChanged: function(target){
140
+ if (!this.startDateInput || !this.endDateInput) {
141
+ return
142
+ }
143
+
144
+ if (!this.startDateInput.value || !this.endDateInput.value) {
145
+ if (this.settings.defaultDateDelta !== null) {
146
+ if (this.startDateInput.value) {
147
+ var startDate = this.settings.parseDate(this.startDateInput);
148
+ var newEnd = new Date(startDate.getTime() + this.settings.defaultDateDelta * _ONE_DAY);
149
+ this.settings.updateDate(this.endDateInput, newEnd);
150
+
151
+ } else if (this.endDateInput.value) {
152
+ var endDate = this.settings.parseDate($endDateInput);
153
+ var newStart = new Date(endDate.getTime() - this.settings.defaultDateDelta * _ONE_DAY);
154
+ this.settings.updateDate(this.startDateInput, newStart);
155
+ }
156
+
157
+ this.dateDelta = this.settings.defaultDateDelta * _ONE_DAY;
158
+ } else {
159
+ this.dateDelta = null;
160
+ }
161
+
162
+ return;
163
+ }
164
+
165
+ var startDate = this.settings.parseDate(this.startDateInput);
166
+ var endDate = this.settings.parseDate(this.endDateInput);
167
+
168
+ if (hasClass(target, this.settings.startClass)) {
169
+ var newEndDate = new Date(startDate.getTime() + this.dateDelta);
170
+ this.settings.updateDate(this.endDateInput, newEndDate);
171
+ } else if (hasClass(target, this.settings.endClass)) {
172
+ if (endDate < startDate) {
173
+ this.dateDelta = 0;
174
+ this.settings.updateDate(this.startDateInput, endDate);
175
+ } else {
176
+ this.dateDelta = endDate.getTime() - startDate.getTime();
177
+ }
178
+ }
179
+ },
180
+
181
+ _timeChanged: function(target){
182
+ if (!this.startTimeInput || !this.endTimeInput) {
183
+ return
184
+ }
185
+
186
+ if (!this.startTimeInput.value || !this.endTimeInput.value) {
187
+ if (this.settings.defaultTimeDelta !== null) {
188
+ if (this.startTimeInput.value) {
189
+ var startTime = this.settings.parseTime(this.startTimeInput);
190
+ var newEnd = new Date(startTime.getTime() + this.settings.defaultTimeDelta);
191
+ this.settings.updateTime(this.endTimeInput, newEnd);
192
+ } else if (this.endTimeInput.value) {
193
+ var endTime = this.settings.parseTime(this.endTimeInput);
194
+ var newStart = new Date(endTime.getTime() - this.settings.defaultTimeDelta);
195
+ this.settings.updateTime(this.startTimeInput, newStart);
196
+ }
197
+
198
+ this.timeDelta = this.settings.defaultTimeDelta;
199
+ } else {
200
+ this.timeDelta = null;
201
+ }
202
+
203
+ return;
204
+ }
205
+
206
+ var startTime = this.settings.parseTime(this.startTimeInput);
207
+ var endTime = this.settings.parseTime(this.endTimeInput);
208
+
209
+ if (hasClass(target, this.settings.startClass)) {
210
+ var newEndTime = new Date(startTime.getTime() + this.timeDelta);
211
+ this.settings.updateTime(this.endTimeInput, newEndTime);
212
+ endTime = this.settings.parseTime(this.endTimeInput);
213
+ }
214
+
215
+ if (this.endDateInput && this.endDateInput.value && this.dateDelta + this.timeDelta < _ONE_DAY && (endTime.getTime() - startTime.getTime()) * this.timeDelta < 0) {
216
+ var offset = (endTime < startTime) ? _ONE_DAY : -1 * _ONE_DAY;
217
+ var endDate = this.settings.parseDate(this.endDateInput);
218
+ this.settings.updateDate(this.endDateInput, new Date(endDate.getTime() + offset));
219
+ this._dateChanged(this.endDateInput);
220
+ }
221
+
222
+ this.timeDelta = endTime.getTime() - startTime.getTime();
223
+ },
224
+
225
+ _updateEndMintime: function(){
226
+ if (typeof this.settings.setMinTime != 'function') return;
227
+
228
+ var startTime = null;
229
+ if (!this.dateDelta || this.dateDelta < _ONE_DAY || (this.timeDelta && this.dateDelta + this.timeDelta < _ONE_DAY)) {
230
+ startTime = this.settings.parseTime(this.startTimeInput);
231
+ }
232
+
233
+ this.settings.setMinTime(this.endTimeInput, startTime);
234
+ },
235
+
236
+ _validateRanges: function(){
237
+ if (this.startTimeInput && this.endTimeInput && this.timeDelta === null) {
238
+ triggerSimpleCustomEvent(this.container, 'rangeIncomplete');
239
+ return;
240
+ }
241
+
242
+ if (this.startDateInput && this.endDateInput && this.dateDelta === null) {
243
+ triggerSimpleCustomEvent(this.container, 'rangeIncomplete');
244
+ return;
245
+ }
246
+
247
+ if (this.dateDelta + this.timeDelta >= 0) {
248
+ triggerSimpleCustomEvent(this.container, 'rangeSelected');
249
+ } else {
250
+ triggerSimpleCustomEvent(this.container, 'rangeError');
251
+ }
252
+ }
253
+ }
254
+
255
+ window.Datepair = Datepair;
256
+
257
+ }(window, document));
258
+
259
+ /*!
260
+ * datepair.js v0.2.1 - A javascript plugin for intelligently selecting date and time ranges inspired by Google Calendar.
261
+ * Copyright (c) 2014 Jon Thornton - http://jonthornton.github.com/Datepair.js
262
+ * License: MIT
263
+ */
264
+
265
+ (function($) {
266
+
267
+ if(!$) {
268
+ return;
131
269
  }
132
270
 
133
- function _bindChangeHandler($self)
134
- {
135
- $self.on('change.datepair', null, _inputChanged);
136
- }
137
-
138
- function _unbindChangeHandler($self)
139
- {
140
- $self.off('change.datepair');
141
- }
142
-
143
- function _inputChanged(e)
144
- {
145
- var $self = $(this);
146
-
147
- // temporarily unbind the change handler to prevent triggering this
148
- // if we update other inputs
149
- _unbindChangeHandler($self);
271
+ ////////////
272
+ // Plugin //
273
+ ////////////
150
274
 
151
- var settings = $self.data('datepair-settings');
152
- var $target = $(e.target);
275
+ $.fn.datepair = function(option) {
276
+ var out;
277
+ this.each(function() {
278
+ var $this = $(this);
279
+ var data = $this.data('datepair');
280
+ var options = typeof option === 'object' && option;
153
281
 
154
- if ($target.hasClass(settings.dateClass)) {
155
- if ($target.val() != '') {
156
- _dateChanged($self, $target);
157
- } else {
158
- $self.data('datepair-datedelta', null);
282
+ if (!data) {
283
+ data = new Datepair(this, options);
284
+ $this.data('datepair', data);
159
285
  }
160
286
 
161
- } else if ($target.hasClass(settings.timeClass)) {
162
- if ($target.val() != '') {
163
- _timeChanged($self, $target);
164
- } else {
165
- $self.data('datepair-timedelta', null);
287
+ if (typeof option === 'string') {
288
+ out = data[option]();
166
289
  }
167
- }
168
-
169
- _validateRanges($self);
170
- _updateEndMintime($self)
171
- _bindChangeHandler($self);
172
- }
173
-
174
- function _getStartDateInput($self)
175
- {
176
- var settings = $self.data('datepair-settings');
177
- return $self.find('.'+settings.startClass+'.'+settings.dateClass);
178
- }
290
+ });
179
291
 
180
- function _getEndDateInput($self)
181
- {
182
- var settings = $self.data('datepair-settings');
183
- return $self.find('.'+settings.endClass+'.'+settings.dateClass);
184
- }
185
-
186
- function _getStartTimeInput($self)
187
- {
188
- var settings = $self.data('datepair-settings');
189
- return $self.find('.'+settings.startClass+'.'+settings.timeClass);
190
- }
191
-
192
- function _getEndTimeInput($self)
193
- {
194
- var settings = $self.data('datepair-settings');
195
- return $self.find('.'+settings.endClass+'.'+settings.timeClass);
196
- }
197
-
198
- function _dateChanged($self, $target)
199
- {
200
- var settings = $self.data('datepair-settings');
201
-
202
- var $startDateInput = _getStartDateInput($self);
203
- var $endDateInput = _getEndDateInput($self);
204
-
205
- if (!$startDateInput.val() || !$endDateInput.val()) {
206
- if (settings.defaultDateDelta !== null) {
207
- if ($startDateInput.val()) {
208
- var startDate = settings.parseDate($startDateInput);
209
- var newEnd = new Date(startDate.getTime() + settings.defaultDateDelta * _ONE_DAY);
210
- settings.updateDate($endDateInput, newEnd);
211
- } else if ($endDateInput.val()) {
212
- var endDate = settings.parseDate($endDateInput);
213
- var newStart = new Date(endDate.getTime() - settings.defaultDateDelta * _ONE_DAY);
214
- settings.updateDate($startDateInput, newStart);
215
- }
216
-
217
- $self.data('datepair-datedelta', settings.defaultDateDelta * _ONE_DAY);
218
- } else {
219
- $self.data('datepair-datedelta', null);
220
- }
221
-
222
- return;
223
- }
224
-
225
- var startDate = settings.parseDate($startDateInput);
226
- var endDate = settings.parseDate($endDateInput);
227
-
228
- if ($target.hasClass(settings.startClass)) {
229
- var newEndDate = new Date(startDate.getTime()+$self.data('datepair-datedelta'));
230
- settings.updateDate($endDateInput, newEndDate);
231
- } else if ($target.hasClass(settings.endClass)) {
232
- if (endDate < startDate) {
233
- $self.data('datepair-datedelta', 0);
234
- settings.updateDate($startDateInput, endDate);
235
- } else {
236
- $self.data('datepair-datedelta', endDate.getTime() - startDate.getTime());
237
- }
238
- }
239
- }
240
-
241
- function _updateEndMintime($self)
242
- {
243
- var settings = $self.data('datepair-settings');
244
- if (typeof settings.setMinTime != 'function') return;
245
-
246
- var startTime;
247
- if ($self.data('datepair-datedelta') <= _ONE_DAY || !$self.data('datepair-datedelta')) {
248
- var $startTimeInput = _getStartTimeInput($self);
249
- var startTime = settings.parseTime($startTimeInput);
250
- }
251
-
252
- var $endTimeInput = _getEndTimeInput($self);
253
- settings.setMinTime($endTimeInput, startTime);
254
- }
255
-
256
- function _timeChanged($self, $target)
257
- {
258
- var settings = $self.data('datepair-settings');
259
-
260
- var $startTimeInput = _getStartTimeInput($self);
261
- var $endTimeInput = _getEndTimeInput($self);
262
-
263
- if (!$startTimeInput.val() || !$endTimeInput.val()) {
264
- if (settings.defaultTimeDelta !== null) {
265
- if ($startTimeInput.val()) {
266
- var startTime = settings.parseTime($startTimeInput);
267
- var newEnd = new Date(startTime.getTime() + settings.defaultTimeDelta);
268
- settings.updateTime($endTimeInput, newEnd);
269
- } else if ($endTimeInput.val()) {
270
- var endTime = settings.parseTime($endTimeInput);
271
- var newStart = new Date(endTime.getTime() - settings.defaultTimeDelta);
272
- settings.updateTime($startTimeInput, newStart);
273
- }
274
-
275
- $self.data('datepair-timedelta', settings.defaultTimeDelta);
276
- } else {
277
- $self.data('datepair-timedelta', null);
278
- }
279
-
280
- return;
281
- }
282
-
283
- var startTime = settings.parseTime($startTimeInput);
284
- var endTime = settings.parseTime($endTimeInput);
285
-
286
- if ($target.hasClass(settings.startClass)) {
287
- var newEndTime = new Date(startTime.getTime()+$self.data('datepair-timedelta'));
288
- settings.updateTime($endTimeInput, newEndTime);
289
- endTime = settings.parseTime($endTimeInput);
290
- }
291
-
292
- if ((endTime.getTime() - startTime.getTime()) * $self.data('datepair-timedelta') < 0) {
293
- var $endDateInput = _getEndDateInput($self);
294
- if ($endDateInput.val()) {
295
- var offset = (endTime < startTime) ? _ONE_DAY : -1 * _ONE_DAY;
296
- var endDate = settings.parseDate($endDateInput);
297
- settings.updateDate($endDateInput, new Date(endDate.getTime() + offset));
298
- _dateChanged($self, $endDateInput);
299
- }
300
- }
301
-
302
- $self.data('datepair-timedelta', endTime.getTime() - startTime.getTime());
303
- }
304
-
305
- function _validateRanges($self)
306
- {
307
- var $startTimeInput = _getStartTimeInput($self);
308
- var $endTimeInput = _getEndTimeInput($self);
309
-
310
- if ($startTimeInput.length && $endTimeInput.length && $self.data('datepair-timedelta') === null) {
311
- $self.trigger('rangeIncomplete');
312
- return;
313
- }
314
-
315
- var $startDateInput = _getStartDateInput($self);
316
- var $endDateInput = _getEndDateInput($self);
317
- if ($startDateInput.length && $endDateInput.length && $self.data('datepair-datedelta') === null) {
318
- $self.trigger('rangeIncomplete');
319
- return;
320
- }
292
+ return out;
293
+ };
321
294
 
322
- if ($self.data('datepair-datedelta') + $self.data('datepair-timedelta') >= 0) {
323
- $self.trigger('rangeSelected');
324
- } else {
325
- $self.trigger('rangeError');
326
- }
327
- }
295
+ //////////////
296
+ // Data API //
297
+ //////////////
328
298
 
299
+ $('[data-datepair]').each(function() {
300
+ var $this = $(this);
301
+ $this.datepair($this.data());
302
+ });
329
303
 
330
- // Plugin entry
331
- $.fn.datepair = function(method)
332
- {
333
- if(methods[method]) { return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); }
334
- else if(typeof method === "object" || !method) { return methods.init.apply(this, arguments); }
335
- else { $.error("Method "+ method + " does not exist on jQuery.datepair"); }
336
- };
337
- }));
304
+ }(window.Zepto || window.jQuery));
@@ -1,5 +1,5 @@
1
1
  /************************
2
- jquery-timepicker v1.3.8
2
+ jquery-timepicker v1.3.9
3
3
  http://jonthornton.github.com/jquery-timepicker/
4
4
 
5
5
  requires jQuery 1.7+
@@ -288,6 +288,7 @@ requires jQuery 1.7+
288
288
  return;
289
289
  }
290
290
 
291
+ var settings = self.data('timepicker-settings');
291
292
  self.removeAttr('autocomplete', 'off');
292
293
  self.removeClass('ui-timepicker-input');
293
294
  self.removeData('timepicker-settings');
@@ -298,6 +299,10 @@ requires jQuery 1.7+
298
299
  self.data('timepicker-list').remove();
299
300
  }
300
301
 
302
+ if (settings.useSelect) {
303
+ self.show();
304
+ }
305
+
301
306
  self.removeData('timepicker-list');
302
307
 
303
308
  return this;
@@ -376,8 +381,10 @@ requires jQuery 1.7+
376
381
 
377
382
  if ($.isArray(settings.noneOption)) {
378
383
  for (var i in settings.noneOption) {
379
- var noneElement = _generateNoneElement(settings.noneOption[i], settings.useSelect);
380
- list.append(noneElement);
384
+ if (parseInt(i, 10) === i){
385
+ var noneElement = _generateNoneElement(settings.noneOption[i], settings.useSelect);
386
+ list.append(noneElement);
387
+ }
381
388
  }
382
389
  } else {
383
390
  var noneElement = _generateNoneElement(settings.noneOption, settings.useSelect);
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  .ui-timepicker-wrapper.ui-timepicker-with-duration {
16
- width: 14em;
16
+ width: 13em;
17
17
  }
18
18
 
19
19
  .ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-timepicker-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.8.1
4
+ version: 1.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanguy Krotoff (jQuery plugin by Jon Thornton)
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-04 00:00:00.000000000 Z
12
+ date: 2014-06-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties