it-logica-application-backbone 0.1.34 → 0.1.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/app/assets/javascripts/backbone_js/index.js +1 -1
- data/app/assets/javascripts/backbone_js/{time_picker.js → jquery-ui-timepicker-addon.js} +180 -129
- data/app/assets/javascripts/backbone_js/ladas_paginate.js +37 -0
- data/it-logica-application-backbone.gemspec +2 -2
- metadata +13 -13
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.35
|
@@ -1,10 +1,10 @@
|
|
1
1
|
/*
|
2
2
|
* jQuery timepicker addon
|
3
3
|
* By: Trent Richardson [http://trentrichardson.com]
|
4
|
-
* Version 0.
|
5
|
-
* Last Modified:
|
4
|
+
* Version 1.0.0
|
5
|
+
* Last Modified: 02/05/2012
|
6
6
|
*
|
7
|
-
* Copyright
|
7
|
+
* Copyright 2012 Trent Richardson
|
8
8
|
* Dual licensed under the MIT and GPL licenses.
|
9
9
|
* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
|
10
10
|
* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
|
@@ -12,15 +12,21 @@
|
|
12
12
|
* HERES THE CSS:
|
13
13
|
* .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
|
14
14
|
* .ui-timepicker-div dl { text-align: left; }
|
15
|
-
* .ui-timepicker-div dl dt { height: 25px; }
|
16
|
-
* .ui-timepicker-div dl dd { margin:
|
15
|
+
* .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; }
|
16
|
+
* .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
|
17
17
|
* .ui-timepicker-div td { font-size: 90%; }
|
18
18
|
* .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }
|
19
19
|
*/
|
20
20
|
|
21
21
|
(function($) {
|
22
22
|
|
23
|
-
|
23
|
+
// Prevent "Uncaught RangeError: Maximum call stack size exceeded"
|
24
|
+
$.ui.timepicker = $.ui.timepicker || {};
|
25
|
+
if ($.ui.timepicker.version) {
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
|
29
|
+
$.extend($.ui, { timepicker: { version: "1.0.0" } });
|
24
30
|
|
25
31
|
/* Time picker manager.
|
26
32
|
Use the singleton instance of this class, $.timepicker, to interact with the time picker.
|
@@ -54,10 +60,10 @@ function Timepicker() {
|
|
54
60
|
showMillisec: false,
|
55
61
|
showTimezone: false,
|
56
62
|
showTime: true,
|
57
|
-
stepHour:
|
58
|
-
stepMinute:
|
59
|
-
stepSecond:
|
60
|
-
stepMillisec:
|
63
|
+
stepHour: 1,
|
64
|
+
stepMinute: 1,
|
65
|
+
stepSecond: 1,
|
66
|
+
stepMillisec: 1,
|
61
67
|
hour: 0,
|
62
68
|
minute: 0,
|
63
69
|
second: 0,
|
@@ -83,10 +89,12 @@ function Timepicker() {
|
|
83
89
|
altFieldTimeOnly: true,
|
84
90
|
showTimepicker: true,
|
85
91
|
timezoneIso8609: false,
|
86
|
-
timezoneList: null
|
92
|
+
timezoneList: null,
|
93
|
+
addSliderAccess: false,
|
94
|
+
sliderAccessArgs: null
|
87
95
|
};
|
88
96
|
$.extend(this._defaults, this.regional['']);
|
89
|
-
}
|
97
|
+
};
|
90
98
|
|
91
99
|
$.extend(Timepicker.prototype, {
|
92
100
|
$input: null,
|
@@ -145,7 +153,7 @@ $.extend(Timepicker.prototype, {
|
|
145
153
|
tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, o, {
|
146
154
|
beforeShow: function(input, dp_inst) {
|
147
155
|
if ($.isFunction(o.beforeShow))
|
148
|
-
o.beforeShow(input, dp_inst, tp_inst);
|
156
|
+
return o.beforeShow(input, dp_inst, tp_inst);
|
149
157
|
},
|
150
158
|
onChangeMonthYear: function(year, month, dp_inst) {
|
151
159
|
// Update the time as well : this prevents the time from disappearing from the $input field.
|
@@ -161,8 +169,8 @@ $.extend(Timepicker.prototype, {
|
|
161
169
|
},
|
162
170
|
timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker');
|
163
171
|
});
|
164
|
-
tp_inst.amNames = $.map(tp_inst._defaults.amNames, function(val) { return val.toUpperCase() });
|
165
|
-
tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function(val) { return val.toUpperCase() });
|
172
|
+
tp_inst.amNames = $.map(tp_inst._defaults.amNames, function(val) { return val.toUpperCase(); });
|
173
|
+
tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function(val) { return val.toUpperCase(); });
|
166
174
|
|
167
175
|
if (tp_inst._defaults.timezoneList === null) {
|
168
176
|
var timezoneList = [];
|
@@ -245,7 +253,7 @@ $.extend(Timepicker.prototype, {
|
|
245
253
|
var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat');
|
246
254
|
// escape special regex characters in the seperator
|
247
255
|
var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g");
|
248
|
-
regstr = '
|
256
|
+
regstr = '^.{' + dp_dateFormat.length + ',}?' + this._defaults.separator.replace(specials, "\\$&") + regstr;
|
249
257
|
}
|
250
258
|
|
251
259
|
treg = timeString.match(new RegExp(regstr, 'i'));
|
@@ -306,13 +314,13 @@ $.extend(Timepicker.prototype, {
|
|
306
314
|
// pattern for standard and localized AM/PM markers
|
307
315
|
//########################################################################
|
308
316
|
_getPatternAmpm: function() {
|
309
|
-
var markers = []
|
317
|
+
var markers = [],
|
310
318
|
o = this._defaults;
|
311
319
|
if (o.amNames)
|
312
320
|
$.merge(markers, o.amNames);
|
313
321
|
if (o.pmNames)
|
314
322
|
$.merge(markers, o.pmNames);
|
315
|
-
markers = $.map(markers, function(val) { return val.replace(/[.*+?|()\[\]{}\\]/g, '\\$&') });
|
323
|
+
markers = $.map(markers, function(val) { return val.replace(/[.*+?|()\[\]{}\\]/g, '\\$&'); });
|
316
324
|
return '(' + markers.join('|') + ')?';
|
317
325
|
},
|
318
326
|
|
@@ -341,10 +349,10 @@ $.extend(Timepicker.prototype, {
|
|
341
349
|
// Added by Peter Medeiros:
|
342
350
|
// - Figure out what the hour/minute/second max should be based on the step values.
|
343
351
|
// - Example: if stepMinute is 15, then minMax is 45.
|
344
|
-
hourMax = (o.hourMax - ((o.hourMax - o.hourMin) % o.stepHour))
|
345
|
-
|
346
|
-
|
347
|
-
millisecMax = (o.millisecMax - ((o.millisecMax - o.millisecMin) % o.stepMillisec))
|
352
|
+
hourMax = parseInt((o.hourMax - ((o.hourMax - o.hourMin) % o.stepHour)) ,10),
|
353
|
+
minMax = parseInt((o.minuteMax - ((o.minuteMax - o.minuteMin) % o.stepMinute)) ,10),
|
354
|
+
secMax = parseInt((o.secondMax - ((o.secondMax - o.secondMin) % o.stepSecond)) ,10),
|
355
|
+
millisecMax = parseInt((o.millisecMax - ((o.millisecMax - o.millisecMin) % o.stepMillisec)) ,10),
|
348
356
|
dp_id = this.inst.id.toString().replace(/([^A-Za-z0-9_])/g, '');
|
349
357
|
|
350
358
|
// Prevent displaying twice
|
@@ -362,13 +370,13 @@ $.extend(Timepicker.prototype, {
|
|
362
370
|
minuteGridSize = 0,
|
363
371
|
secondGridSize = 0,
|
364
372
|
millisecGridSize = 0,
|
365
|
-
size;
|
373
|
+
size = null;
|
366
374
|
|
367
375
|
// Hours
|
376
|
+
html += '<dd class="ui_tpicker_hour"><div id="ui_tpicker_hour_' + dp_id + '"' +
|
377
|
+
((o.showHour) ? '' : noDisplay) + '></div>';
|
368
378
|
if (o.showHour && o.hourGrid > 0) {
|
369
|
-
html += '<
|
370
|
-
'<div id="ui_tpicker_hour_' + dp_id + '"' + ((o.showHour) ? '' : noDisplay) + '></div>' +
|
371
|
-
'<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
|
379
|
+
html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
|
372
380
|
|
373
381
|
for (var h = o.hourMin; h <= hourMax; h += parseInt(o.hourGrid,10)) {
|
374
382
|
hourGridSize++;
|
@@ -382,70 +390,63 @@ $.extend(Timepicker.prototype, {
|
|
382
390
|
html += '<td>' + tmph + '</td>';
|
383
391
|
}
|
384
392
|
|
385
|
-
html += '</tr></table></div>'
|
386
|
-
|
387
|
-
|
388
|
-
((o.showHour) ? '' : noDisplay) + '></dd>';
|
393
|
+
html += '</tr></table></div>';
|
394
|
+
}
|
395
|
+
html += '</dd>';
|
389
396
|
|
397
|
+
// Minutes
|
390
398
|
html += '<dt class="ui_tpicker_minute_label" id="ui_tpicker_minute_label_' + dp_id + '"' +
|
391
|
-
((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>'
|
399
|
+
((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>'+
|
400
|
+
'<dd class="ui_tpicker_minute"><div id="ui_tpicker_minute_' + dp_id + '"' +
|
401
|
+
((o.showMinute) ? '' : noDisplay) + '></div>';
|
392
402
|
|
393
|
-
// Minutes
|
394
403
|
if (o.showMinute && o.minuteGrid > 0) {
|
395
|
-
html += '<
|
396
|
-
'<div id="ui_tpicker_minute_' + dp_id + '"' +
|
397
|
-
((o.showMinute) ? '' : noDisplay) + '></div>' +
|
398
|
-
'<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
|
404
|
+
html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
|
399
405
|
|
400
406
|
for (var m = o.minuteMin; m <= minMax; m += parseInt(o.minuteGrid,10)) {
|
401
407
|
minuteGridSize++;
|
402
408
|
html += '<td>' + ((m < 10) ? '0' : '') + m + '</td>';
|
403
409
|
}
|
404
410
|
|
405
|
-
html += '</tr></table></div>'
|
406
|
-
|
407
|
-
|
408
|
-
((o.showMinute) ? '' : noDisplay) + '></dd>';
|
411
|
+
html += '</tr></table></div>';
|
412
|
+
}
|
413
|
+
html += '</dd>';
|
409
414
|
|
410
415
|
// Seconds
|
411
416
|
html += '<dt class="ui_tpicker_second_label" id="ui_tpicker_second_label_' + dp_id + '"' +
|
412
|
-
((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>'
|
417
|
+
((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>'+
|
418
|
+
'<dd class="ui_tpicker_second"><div id="ui_tpicker_second_' + dp_id + '"'+
|
419
|
+
((o.showSecond) ? '' : noDisplay) + '></div>';
|
413
420
|
|
414
421
|
if (o.showSecond && o.secondGrid > 0) {
|
415
|
-
html += '<
|
416
|
-
'<div id="ui_tpicker_second_' + dp_id + '"' +
|
417
|
-
((o.showSecond) ? '' : noDisplay) + '></div>' +
|
418
|
-
'<div style="padding-left: 1px"><table><tr>';
|
422
|
+
html += '<div style="padding-left: 1px"><table><tr>';
|
419
423
|
|
420
424
|
for (var s = o.secondMin; s <= secMax; s += parseInt(o.secondGrid,10)) {
|
421
425
|
secondGridSize++;
|
422
426
|
html += '<td>' + ((s < 10) ? '0' : '') + s + '</td>';
|
423
427
|
}
|
424
428
|
|
425
|
-
html += '</tr></table></div>'
|
426
|
-
|
427
|
-
|
428
|
-
((o.showSecond) ? '' : noDisplay) + '></dd>';
|
429
|
+
html += '</tr></table></div>';
|
430
|
+
}
|
431
|
+
html += '</dd>';
|
429
432
|
|
430
433
|
// Milliseconds
|
431
434
|
html += '<dt class="ui_tpicker_millisec_label" id="ui_tpicker_millisec_label_' + dp_id + '"' +
|
432
|
-
((o.showMillisec) ? '' : noDisplay) + '>' + o.millisecText + '</dt>'
|
435
|
+
((o.showMillisec) ? '' : noDisplay) + '>' + o.millisecText + '</dt>'+
|
436
|
+
'<dd class="ui_tpicker_millisec"><div id="ui_tpicker_millisec_' + dp_id + '"'+
|
437
|
+
((o.showMillisec) ? '' : noDisplay) + '></div>';
|
433
438
|
|
434
439
|
if (o.showMillisec && o.millisecGrid > 0) {
|
435
|
-
html += '<
|
436
|
-
'<div id="ui_tpicker_millisec_' + dp_id + '"' +
|
437
|
-
((o.showMillisec) ? '' : noDisplay) + '></div>' +
|
438
|
-
'<div style="padding-left: 1px"><table><tr>';
|
440
|
+
html += '<div style="padding-left: 1px"><table><tr>';
|
439
441
|
|
440
442
|
for (var l = o.millisecMin; l <= millisecMax; l += parseInt(o.millisecGrid,10)) {
|
441
443
|
millisecGridSize++;
|
442
|
-
html += '<td>' + ((l < 10) ? '0' : '') +
|
444
|
+
html += '<td>' + ((l < 10) ? '0' : '') + l + '</td>';
|
443
445
|
}
|
444
446
|
|
445
|
-
html += '</tr></table></div>'
|
446
|
-
|
447
|
-
|
448
|
-
((o.showMillisec) ? '' : noDisplay) + '></dd>';
|
447
|
+
html += '</tr></table></div>';
|
448
|
+
}
|
449
|
+
html += '</dd>';
|
449
450
|
|
450
451
|
// Timezone
|
451
452
|
html += '<dt class="ui_tpicker_timezone_label" id="ui_tpicker_timezone_label_' + dp_id + '"' +
|
@@ -477,6 +478,7 @@ $.extend(Timepicker.prototype, {
|
|
477
478
|
}
|
478
479
|
});
|
479
480
|
|
481
|
+
|
480
482
|
// Updated by Peter Medeiros:
|
481
483
|
// - Pass in Event and UI instance into slide function
|
482
484
|
this.minute_slider = $tp.find('#ui_tpicker_minute_'+ dp_id).slider({
|
@@ -486,7 +488,6 @@ $.extend(Timepicker.prototype, {
|
|
486
488
|
max: minMax,
|
487
489
|
step: o.stepMinute,
|
488
490
|
slide: function(event, ui) {
|
489
|
-
// update the global minute slider instance value with the current slider value
|
490
491
|
tp_inst.minute_slider.slider( "option", "value", ui.value);
|
491
492
|
tp_inst._onTimeChange();
|
492
493
|
}
|
@@ -639,6 +640,32 @@ $.extend(Timepicker.prototype, {
|
|
639
640
|
this.minute_slider.bind('slidestop',onSelectDelegate);
|
640
641
|
this.second_slider.bind('slidestop',onSelectDelegate);
|
641
642
|
this.millisec_slider.bind('slidestop',onSelectDelegate);
|
643
|
+
|
644
|
+
// slideAccess integration: http://trentrichardson.com/2011/11/11/jquery-ui-sliders-and-touch-accessibility/
|
645
|
+
if (this._defaults.addSliderAccess){
|
646
|
+
var sliderAccessArgs = this._defaults.sliderAccessArgs;
|
647
|
+
setTimeout(function(){ // fix for inline mode
|
648
|
+
if($tp.find('.ui-slider-access').length == 0){
|
649
|
+
$tp.find('.ui-slider:visible').sliderAccess(sliderAccessArgs);
|
650
|
+
|
651
|
+
// fix any grids since sliders are shorter
|
652
|
+
var sliderAccessWidth = $tp.find('.ui-slider-access:eq(0)').outerWidth(true);
|
653
|
+
if(sliderAccessWidth){
|
654
|
+
$tp.find('table:visible').each(function(){
|
655
|
+
var $g = $(this),
|
656
|
+
oldWidth = $g.outerWidth(),
|
657
|
+
oldMarginLeft = $g.css('marginLeft').toString().replace('%',''),
|
658
|
+
newWidth = oldWidth - sliderAccessWidth,
|
659
|
+
newMarginLeft = ((oldMarginLeft * newWidth)/oldWidth) + '%';
|
660
|
+
|
661
|
+
$g.css({ width: newWidth, marginLeft: newMarginLeft });
|
662
|
+
});
|
663
|
+
}
|
664
|
+
}
|
665
|
+
},0);
|
666
|
+
}
|
667
|
+
// end slideAccess integration
|
668
|
+
|
642
669
|
}
|
643
670
|
},
|
644
671
|
|
@@ -732,10 +759,10 @@ $.extend(Timepicker.prototype, {
|
|
732
759
|
}
|
733
760
|
|
734
761
|
if(adjustSliders !== undefined && adjustSliders === true){
|
735
|
-
var hourMax = (this._defaults.hourMax - ((this._defaults.hourMax - this._defaults.hourMin) % this._defaults.stepHour))
|
736
|
-
minMax = (this._defaults.minuteMax - ((this._defaults.minuteMax - this._defaults.minuteMin) % this._defaults.stepMinute))
|
737
|
-
secMax = (this._defaults.secondMax - ((this._defaults.secondMax - this._defaults.secondMin) % this._defaults.stepSecond))
|
738
|
-
millisecMax = (this._defaults.millisecMax - ((this._defaults.millisecMax - this._defaults.millisecMin) % this._defaults.stepMillisec))
|
762
|
+
var hourMax = parseInt((this._defaults.hourMax - ((this._defaults.hourMax - this._defaults.hourMin) % this._defaults.stepHour)) ,10),
|
763
|
+
minMax = parseInt((this._defaults.minuteMax - ((this._defaults.minuteMax - this._defaults.minuteMin) % this._defaults.stepMinute)) ,10),
|
764
|
+
secMax = parseInt((this._defaults.secondMax - ((this._defaults.secondMax - this._defaults.secondMin) % this._defaults.stepSecond)) ,10),
|
765
|
+
millisecMax = parseInt((this._defaults.millisecMax - ((this._defaults.millisecMax - this._defaults.millisecMin) % this._defaults.stepMillisec)) ,10);
|
739
766
|
|
740
767
|
if(this.hour_slider)
|
741
768
|
this.hour_slider.slider("option", { min: this._defaults.hourMin, max: hourMax }).slider('value', this.hour);
|
@@ -797,7 +824,8 @@ $.extend(Timepicker.prototype, {
|
|
797
824
|
}
|
798
825
|
if (o.ampm) this.ampm = ampm;
|
799
826
|
|
800
|
-
this._formatTime();
|
827
|
+
//this._formatTime();
|
828
|
+
this.formattedTime = $.datepicker.formatTime(this._defaults.timeFormat, this, this._defaults);
|
801
829
|
if (this.$timeObj) this.$timeObj.text(this.formattedTime + o.timeSuffix);
|
802
830
|
this.timeDefined = true;
|
803
831
|
if (hasChanged) this._updateDateTime();
|
@@ -816,40 +844,13 @@ $.extend(Timepicker.prototype, {
|
|
816
844
|
},
|
817
845
|
|
818
846
|
//########################################################################
|
819
|
-
//
|
847
|
+
// left for any backwards compatibility
|
820
848
|
//########################################################################
|
821
|
-
_formatTime: function(time, format
|
822
|
-
if (ampm == undefined) ampm = this._defaults.ampm;
|
849
|
+
_formatTime: function(time, format) {
|
823
850
|
time = time || { hour: this.hour, minute: this.minute, second: this.second, millisec: this.millisec, ampm: this.ampm, timezone: this.timezone };
|
824
851
|
var tmptime = (format || this._defaults.timeFormat).toString();
|
825
852
|
|
826
|
-
|
827
|
-
if (ampm) {
|
828
|
-
if (!$.inArray(time.ampm.toUpperCase(), this.amNames) !== -1)
|
829
|
-
hour = hour % 12;
|
830
|
-
if (hour === 0)
|
831
|
-
hour = 12;
|
832
|
-
}
|
833
|
-
tmptime = tmptime.replace(/(?:hh?|mm?|ss?|[tT]{1,2}|[lz])/g, function(match) {
|
834
|
-
switch (match.toLowerCase()) {
|
835
|
-
case 'hh': return ('0' + hour).slice(-2);
|
836
|
-
case 'h': return hour;
|
837
|
-
case 'mm': return ('0' + time.minute).slice(-2);
|
838
|
-
case 'm': return time.minute;
|
839
|
-
case 'ss': return ('0' + time.second).slice(-2);
|
840
|
-
case 's': return time.second;
|
841
|
-
case 'l': return ('00' + time.millisec).slice(-3);
|
842
|
-
case 'z': return time.timezone;
|
843
|
-
case 't': case 'tt':
|
844
|
-
if (ampm) {
|
845
|
-
var _ampm = time.ampm;
|
846
|
-
if (match.length == 1)
|
847
|
-
_ampm = _ampm.charAt(0);
|
848
|
-
return match.charAt(0) == 'T' ? _ampm.toUpperCase() : _ampm.toLowerCase();
|
849
|
-
}
|
850
|
-
return '';
|
851
|
-
}
|
852
|
-
});
|
853
|
+
tmptime = $.datepicker.formatTime(tmptime, time, this._defaults);
|
853
854
|
|
854
855
|
if (arguments.length) return tmptime;
|
855
856
|
else this.formattedTime = tmptime;
|
@@ -859,8 +860,8 @@ $.extend(Timepicker.prototype, {
|
|
859
860
|
// update our input with the new date time..
|
860
861
|
//########################################################################
|
861
862
|
_updateDateTime: function(dp_inst) {
|
862
|
-
dp_inst = this.inst || dp_inst
|
863
|
-
|
863
|
+
dp_inst = this.inst || dp_inst;
|
864
|
+
var dt = $.datepicker._daylightSavingAdjust(new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay)),
|
864
865
|
dateFmt = $.datepicker._get(dp_inst, 'dateFormat'),
|
865
866
|
formatCfg = $.datepicker._getFormatConfig(dp_inst),
|
866
867
|
timeAvailable = dt !== null && this.timeDefined;
|
@@ -914,7 +915,6 @@ $.fn.extend({
|
|
914
915
|
//########################################################################
|
915
916
|
datetimepicker: function(o) {
|
916
917
|
o = o || {};
|
917
|
-
var $input = this,
|
918
918
|
tmp_args = arguments;
|
919
919
|
|
920
920
|
if (typeof(o) == 'string'){
|
@@ -934,6 +934,54 @@ $.fn.extend({
|
|
934
934
|
}
|
935
935
|
});
|
936
936
|
|
937
|
+
//########################################################################
|
938
|
+
// format the time all pretty...
|
939
|
+
// format = string format of the time
|
940
|
+
// time = a {}, not a Date() for timezones
|
941
|
+
// options = essentially the regional[].. amNames, pmNames, ampm
|
942
|
+
//########################################################################
|
943
|
+
$.datepicker.formatTime = function(format, time, options) {
|
944
|
+
options = options || {};
|
945
|
+
options = $.extend($.timepicker._defaults, options);
|
946
|
+
time = $.extend({hour:0, minute:0, second:0, millisec:0, timezone:'+0000'}, time);
|
947
|
+
|
948
|
+
var tmptime = format;
|
949
|
+
var ampmName = options['amNames'][0];
|
950
|
+
|
951
|
+
var hour = parseInt(time.hour, 10);
|
952
|
+
if (options.ampm) {
|
953
|
+
if (hour > 11){
|
954
|
+
ampmName = options['pmNames'][0];
|
955
|
+
if(hour > 12)
|
956
|
+
hour = hour % 12;
|
957
|
+
}
|
958
|
+
if (hour === 0)
|
959
|
+
hour = 12;
|
960
|
+
}
|
961
|
+
tmptime = tmptime.replace(/(?:hh?|mm?|ss?|[tT]{1,2}|[lz])/g, function(match) {
|
962
|
+
switch (match.toLowerCase()) {
|
963
|
+
case 'hh': return ('0' + hour).slice(-2);
|
964
|
+
case 'h': return hour;
|
965
|
+
case 'mm': return ('0' + time.minute).slice(-2);
|
966
|
+
case 'm': return time.minute;
|
967
|
+
case 'ss': return ('0' + time.second).slice(-2);
|
968
|
+
case 's': return time.second;
|
969
|
+
case 'l': return ('00' + time.millisec).slice(-3);
|
970
|
+
case 'z': return time.timezone;
|
971
|
+
case 't': case 'tt':
|
972
|
+
if (options.ampm) {
|
973
|
+
if (match.length == 1)
|
974
|
+
ampmName = ampmName.charAt(0);
|
975
|
+
return match.charAt(0) == 'T' ? ampmName.toUpperCase() : ampmName.toLowerCase();
|
976
|
+
}
|
977
|
+
return '';
|
978
|
+
}
|
979
|
+
});
|
980
|
+
|
981
|
+
tmptime = $.trim(tmptime);
|
982
|
+
return tmptime;
|
983
|
+
};
|
984
|
+
|
937
985
|
//########################################################################
|
938
986
|
// the bad hack :/ override datepicker so it doesnt close on select
|
939
987
|
// inspired: http://stackoverflow.com/questions/1252512/jquery-datepicker-prevent-closing-picker-when-clicking-a-date/1762378#1762378
|
@@ -1048,11 +1096,11 @@ $.datepicker._gotoToday = function(id) {
|
|
1048
1096
|
this._base_gotoToday(id);
|
1049
1097
|
var now = new Date();
|
1050
1098
|
var tp_inst = this._get(inst, 'timepicker');
|
1051
|
-
if (tp_inst._defaults.showTimezone && tp_inst.timezone_select) {
|
1099
|
+
if (tp_inst && tp_inst._defaults.showTimezone && tp_inst.timezone_select) {
|
1052
1100
|
var tzoffset = now.getTimezoneOffset(); // If +0100, returns -60
|
1053
1101
|
var tzsign = tzoffset > 0 ? '-' : '+';
|
1054
1102
|
tzoffset = Math.abs(tzoffset);
|
1055
|
-
var tzmin = tzoffset % 60
|
1103
|
+
var tzmin = tzoffset % 60;
|
1056
1104
|
tzoffset = tzsign + ('0' + (tzoffset - tzmin) / 60).slice(-2) + ('0' + tzmin).slice(-2);
|
1057
1105
|
if (tp_inst._defaults.timezoneIso8609)
|
1058
1106
|
tzoffset = tzoffset.substring(0, 3) + ':' + tzoffset.substring(3);
|
@@ -1186,10 +1234,15 @@ $.datepicker.parseDate = function(format, value, settings) {
|
|
1186
1234
|
try {
|
1187
1235
|
date = this._base_parseDate(format, value, settings);
|
1188
1236
|
} catch (err) {
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1237
|
+
if (err.indexOf(":") >= 0) {
|
1238
|
+
// Hack! The error message ends with a colon, a space, and
|
1239
|
+
// the "extra" characters. We rely on that instead of
|
1240
|
+
// attempting to perfectly reproduce the parsing algorithm.
|
1241
|
+
date = this._base_parseDate(format, value.substring(0,value.length-(err.length-err.indexOf(':')-2)), settings);
|
1242
|
+
} else {
|
1243
|
+
// The underlying error was not related to the time
|
1244
|
+
throw err;
|
1245
|
+
}
|
1193
1246
|
}
|
1194
1247
|
return date;
|
1195
1248
|
};
|
@@ -1197,18 +1250,15 @@ $.datepicker.parseDate = function(format, value, settings) {
|
|
1197
1250
|
//#######################################################################################
|
1198
1251
|
// override formatDate to set date with time to the input
|
1199
1252
|
//#######################################################################################
|
1200
|
-
$.datepicker._base_formatDate
|
1253
|
+
$.datepicker._base_formatDate = $.datepicker._formatDate;
|
1201
1254
|
$.datepicker._formatDate = function(inst, day, month, year){
|
1202
1255
|
var tp_inst = this._get(inst, 'timepicker');
|
1203
|
-
if(tp_inst)
|
1204
|
-
|
1205
|
-
if(day)
|
1206
|
-
var b = this._base_formatDate(inst, day, month, year);
|
1207
|
-
tp_inst._updateDateTime();
|
1256
|
+
if(tp_inst) {
|
1257
|
+
tp_inst._updateDateTime(inst);
|
1208
1258
|
return tp_inst.$input.val();
|
1209
1259
|
}
|
1210
1260
|
return this._base_formatDate(inst);
|
1211
|
-
}
|
1261
|
+
};
|
1212
1262
|
|
1213
1263
|
//#######################################################################################
|
1214
1264
|
// override options setter to add time to maxDate(Time) and minDate(Time). MaxDate
|
@@ -1218,16 +1268,16 @@ $.datepicker._optionDatepicker = function(target, name, value) {
|
|
1218
1268
|
var inst = this._getInst(target),
|
1219
1269
|
tp_inst = this._get(inst, 'timepicker');
|
1220
1270
|
if (tp_inst) {
|
1221
|
-
var min,max,onselect;
|
1271
|
+
var min = null, max = null, onselect = null;
|
1222
1272
|
if (typeof name == 'string') { // if min/max was set with the string
|
1223
|
-
if (name==='minDate' || name==='minDateTime' )
|
1273
|
+
if (name === 'minDate' || name === 'minDateTime' )
|
1224
1274
|
min = value;
|
1225
|
-
else if (name==='maxDate' || name==='maxDateTime')
|
1275
|
+
else if (name === 'maxDate' || name === 'maxDateTime')
|
1226
1276
|
max = value;
|
1227
|
-
else if (name==='onSelect')
|
1228
|
-
onselect=value;
|
1277
|
+
else if (name === 'onSelect')
|
1278
|
+
onselect = value;
|
1229
1279
|
} else if (typeof name == 'object') { //if min/max was set with the JSON
|
1230
|
-
if(name.minDate)
|
1280
|
+
if (name.minDate)
|
1231
1281
|
min = name.minDate;
|
1232
1282
|
else if (name.minDateTime)
|
1233
1283
|
min = name.minDateTime;
|
@@ -1236,26 +1286,27 @@ $.datepicker._optionDatepicker = function(target, name, value) {
|
|
1236
1286
|
else if (name.maxDateTime)
|
1237
1287
|
max = name.maxDateTime;
|
1238
1288
|
}
|
1239
|
-
if(min){ //if min was set
|
1240
|
-
if(min==0)
|
1241
|
-
min=new Date();
|
1289
|
+
if(min) { //if min was set
|
1290
|
+
if (min == 0)
|
1291
|
+
min = new Date();
|
1242
1292
|
else
|
1243
|
-
min= new Date(min);
|
1293
|
+
min = new Date(min);
|
1244
1294
|
|
1245
1295
|
tp_inst._defaults.minDate = min;
|
1246
1296
|
tp_inst._defaults.minDateTime = min;
|
1247
|
-
} else if (max){ //if max was set
|
1297
|
+
} else if (max) { //if max was set
|
1248
1298
|
if(max==0)
|
1249
1299
|
max=new Date();
|
1250
1300
|
else
|
1251
1301
|
max= new Date(max);
|
1252
1302
|
tp_inst._defaults.maxDate = max;
|
1253
1303
|
tp_inst._defaults.maxDateTime = max;
|
1254
|
-
}
|
1255
|
-
|
1256
|
-
tp_inst._defaults.onSelect=onselect;
|
1304
|
+
} else if (onselect)
|
1305
|
+
tp_inst._defaults.onSelect = onselect;
|
1257
1306
|
}
|
1258
|
-
|
1307
|
+
if (value === undefined)
|
1308
|
+
return this._base_optionDatepicker(target, name);
|
1309
|
+
return this._base_optionDatepicker(target, name, value);
|
1259
1310
|
};
|
1260
1311
|
|
1261
1312
|
//#######################################################################################
|
@@ -1267,9 +1318,9 @@ function extendRemove(target, props) {
|
|
1267
1318
|
if (props[name] === null || props[name] === undefined)
|
1268
1319
|
target[name] = props[name];
|
1269
1320
|
return target;
|
1270
|
-
}
|
1321
|
+
};
|
1271
1322
|
|
1272
1323
|
$.timepicker = new Timepicker(); // singleton instance
|
1273
|
-
$.timepicker.version = "0.
|
1324
|
+
$.timepicker.version = "1.0.0";
|
1274
1325
|
|
1275
|
-
})(jQuery);
|
1326
|
+
})(jQuery);
|
@@ -24,6 +24,43 @@ function formatLinkForPaginationURL(form_id) {
|
|
24
24
|
});
|
25
25
|
}
|
26
26
|
|
27
|
+
|
28
|
+
function formatLinkForPagination(container_class) {
|
29
|
+
var matchedString;
|
30
|
+
var page_number;
|
31
|
+
//$("#" + paginate_wrapper).find("a").each(function() {
|
32
|
+
$("."+ container_class).find("a").each(function() {
|
33
|
+
var linkElement = $(this);
|
34
|
+
var paginationURL = linkElement.attr("href");
|
35
|
+
var matchedString = paginationURL.match(/(\?|\&)page=(\d+)/);
|
36
|
+
var page_number = 0;
|
37
|
+
if (matchedString) {
|
38
|
+
page_number = matchedString[2];
|
39
|
+
}
|
40
|
+
|
41
|
+
linkElement.attr({
|
42
|
+
// "url": paginationURL,
|
43
|
+
// "href": "#"
|
44
|
+
"data-remote": true
|
45
|
+
});
|
46
|
+
|
47
|
+
linkElement.bind('ajax:beforeSend', function(evt, xhr, settings) { ajax_beforeSend_std(evt, xhr, settings) });
|
48
|
+
linkElement.bind('ajax:success', function (evt, data, status, xhr) {
|
49
|
+
ajax_success_std(evt, data, status, xhr, ["list"]);
|
50
|
+
set_anchors_to_alu_items();
|
51
|
+
$('#spinner').hide();
|
52
|
+
|
53
|
+
}
|
54
|
+
);
|
55
|
+
linkElement.bind('ajax:error', function(evt, xhr, status, error) {
|
56
|
+
ajax_error_std(evt, xhr, status, error);
|
57
|
+
$('#spinner').hide();
|
58
|
+
});
|
59
|
+
// linkElement.bind('ajax:complete', function() { });
|
60
|
+
//linkElement.bind('ajax:complete', function(){ alert("zblk"); ajax_complete_set_anchors_to_alu_items(); });
|
61
|
+
})
|
62
|
+
}
|
63
|
+
|
27
64
|
//function filter_sort(form_id, order_by_value) {
|
28
65
|
// var default_direction = 'DESC';
|
29
66
|
// var order_by_id = '#' + form_id + '_order_by';
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "it-logica-application-backbone"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.35"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ladas"]
|
@@ -120,6 +120,7 @@ Gem::Specification.new do |s|
|
|
120
120
|
"app/assets/images/backbone_images/temp-userphoto.jpg",
|
121
121
|
"app/assets/images/backbone_images/vrchovina-logo.png",
|
122
122
|
"app/assets/javascripts/backbone_js/index.js",
|
123
|
+
"app/assets/javascripts/backbone_js/jquery-ui-timepicker-addon.js",
|
123
124
|
"app/assets/javascripts/backbone_js/jquery-ui-timepicker-cs.js",
|
124
125
|
"app/assets/javascripts/backbone_js/jquery.cookie.js",
|
125
126
|
"app/assets/javascripts/backbone_js/jquery.fileupload-ui.js",
|
@@ -151,7 +152,6 @@ Gem::Specification.new do |s|
|
|
151
152
|
"app/assets/javascripts/backbone_js/themes/default/d.png",
|
152
153
|
"app/assets/javascripts/backbone_js/themes/default/style.css",
|
153
154
|
"app/assets/javascripts/backbone_js/themes/default/throbber.gif",
|
154
|
-
"app/assets/javascripts/backbone_js/time_picker.js",
|
155
155
|
"app/assets/javascripts/backbone_js/tinymce/changelog.txt",
|
156
156
|
"app/assets/javascripts/backbone_js/tinymce/examples/css/content.css",
|
157
157
|
"app/assets/javascripts/backbone_js/tinymce/examples/index.html",
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: it-logica-application-backbone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.35
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-07-09 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &73218150 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *73218150
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
requirement: &
|
27
|
+
requirement: &73217380 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.12'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *73217380
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
requirement: &
|
38
|
+
requirement: &73216340 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.1.0
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *73216340
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
requirement: &
|
49
|
+
requirement: &73231190 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 1.8.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *73231190
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
requirement: &
|
60
|
+
requirement: &73230890 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *73230890
|
69
69
|
description: longer description of your gem
|
70
70
|
email: ladislav.smola@it-logica.cz
|
71
71
|
executables: []
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- app/assets/images/backbone_images/temp-userphoto.jpg
|
178
178
|
- app/assets/images/backbone_images/vrchovina-logo.png
|
179
179
|
- app/assets/javascripts/backbone_js/index.js
|
180
|
+
- app/assets/javascripts/backbone_js/jquery-ui-timepicker-addon.js
|
180
181
|
- app/assets/javascripts/backbone_js/jquery-ui-timepicker-cs.js
|
181
182
|
- app/assets/javascripts/backbone_js/jquery.cookie.js
|
182
183
|
- app/assets/javascripts/backbone_js/jquery.fileupload-ui.js
|
@@ -208,7 +209,6 @@ files:
|
|
208
209
|
- app/assets/javascripts/backbone_js/themes/default/d.png
|
209
210
|
- app/assets/javascripts/backbone_js/themes/default/style.css
|
210
211
|
- app/assets/javascripts/backbone_js/themes/default/throbber.gif
|
211
|
-
- app/assets/javascripts/backbone_js/time_picker.js
|
212
212
|
- app/assets/javascripts/backbone_js/tinymce/changelog.txt
|
213
213
|
- app/assets/javascripts/backbone_js/tinymce/examples/css/content.css
|
214
214
|
- app/assets/javascripts/backbone_js/tinymce/examples/index.html
|
@@ -547,7 +547,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
547
547
|
version: '0'
|
548
548
|
segments:
|
549
549
|
- 0
|
550
|
-
hash:
|
550
|
+
hash: 543518541
|
551
551
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
552
552
|
none: false
|
553
553
|
requirements:
|