bootstrap-datepicker-rails 0.6.34 → 0.6.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/lib/bootstrap-datepicker-rails/version.rb +1 -1
- data/vendor/assets/javascripts/bootstrap-datepicker/core.js +67 -57
- data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.ca.js +14 -0
- data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.cs.js +3 -2
- data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.de.js +2 -1
- data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.el.js +13 -0
- data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.fr.js +2 -1
- data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.sk.js +3 -2
- metadata +6 -4
@@ -38,7 +38,7 @@
|
|
38
38
|
this.language = this.language in dates ? this.language : "en";
|
39
39
|
this.isRTL = dates[this.language].rtl||false;
|
40
40
|
this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy');
|
41
|
-
|
41
|
+
this.isInline = false;
|
42
42
|
this.isInput = this.element.is('input');
|
43
43
|
this.component = this.element.is('.date') ? this.element.find('.add-on') : false;
|
44
44
|
this.hasInput = this.component && this.element.find('input').length;
|
@@ -55,18 +55,18 @@
|
|
55
55
|
}
|
56
56
|
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
58
|
+
this.picker = $(DPGlobal.template)
|
59
|
+
.appendTo(this.isInline ? this.element : 'body')
|
60
|
+
.on({
|
61
|
+
click: $.proxy(this.click, this),
|
62
|
+
mousedown: $.proxy(this.mousedown, this)
|
63
|
+
});
|
64
64
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
if(this.isInline) {
|
66
|
+
this.picker.addClass('datepicker-inline');
|
67
|
+
} else {
|
68
|
+
this.picker.addClass('datepicker-dropdown dropdown-menu');
|
69
|
+
}
|
70
70
|
if (this.isRTL){
|
71
71
|
this.picker.addClass('datepicker-rtl');
|
72
72
|
this.picker.find('.prev i, .next i')
|
@@ -121,9 +121,9 @@
|
|
121
121
|
this.update();
|
122
122
|
this.showMode();
|
123
123
|
|
124
|
-
|
125
|
-
|
126
|
-
|
124
|
+
if(this.isInline) {
|
125
|
+
this.show();
|
126
|
+
}
|
127
127
|
};
|
128
128
|
|
129
129
|
Datepicker.prototype = {
|
@@ -154,9 +154,9 @@
|
|
154
154
|
}]
|
155
155
|
];
|
156
156
|
}
|
157
|
-
|
158
|
-
|
159
|
-
|
157
|
+
else if (this.element.is('div')) { // inline datepicker
|
158
|
+
this.isInline = true;
|
159
|
+
}
|
160
160
|
else {
|
161
161
|
this._events = [
|
162
162
|
[this.element, {
|
@@ -196,7 +196,7 @@
|
|
196
196
|
},
|
197
197
|
|
198
198
|
hide: function(e){
|
199
|
-
|
199
|
+
if(this.isInline) return;
|
200
200
|
this.picker.hide();
|
201
201
|
$(window).off('resize', this.place);
|
202
202
|
this.viewMode = this.startViewMode;
|
@@ -247,18 +247,19 @@
|
|
247
247
|
var formatted = this.getFormattedDate();
|
248
248
|
if (!this.isInput) {
|
249
249
|
if (this.component){
|
250
|
-
this.element.find('input').
|
250
|
+
this.element.find('input').val(formatted);
|
251
251
|
}
|
252
252
|
this.element.data('date', formatted);
|
253
253
|
} else {
|
254
|
-
this.element.
|
254
|
+
this.element.val(formatted);
|
255
255
|
}
|
256
256
|
},
|
257
257
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
258
|
+
getFormattedDate: function(format) {
|
259
|
+
if (format === undefined)
|
260
|
+
format = this.format;
|
261
|
+
return DPGlobal.formatDate(this.date, format, this.language);
|
262
|
+
},
|
262
263
|
|
263
264
|
setStartDate: function(startDate){
|
264
265
|
this.startDate = startDate||-Infinity;
|
@@ -291,31 +292,33 @@
|
|
291
292
|
},
|
292
293
|
|
293
294
|
place: function(){
|
294
|
-
|
295
|
+
if(this.isInline) return;
|
295
296
|
var zIndex = parseInt(this.element.parents().filter(function() {
|
296
297
|
return $(this).css('z-index') != 'auto';
|
297
298
|
}).first().css('z-index'))+10;
|
298
299
|
var offset = this.component ? this.component.offset() : this.element.offset();
|
300
|
+
var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(true);
|
299
301
|
this.picker.css({
|
300
|
-
top: offset.top +
|
302
|
+
top: offset.top + height,
|
301
303
|
left: offset.left,
|
302
304
|
zIndex: zIndex
|
303
305
|
});
|
304
306
|
},
|
305
307
|
|
306
308
|
update: function(){
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
309
|
+
var date, fromArgs = false;
|
310
|
+
if(arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) {
|
311
|
+
date = arguments[0];
|
312
|
+
fromArgs = true;
|
313
|
+
} else {
|
314
|
+
date = this.isInput ? this.element.val() : this.element.data('date') || this.element.find('input').val();
|
315
|
+
}
|
314
316
|
|
315
317
|
this.date = DPGlobal.parseDate(date, this.format, this.language);
|
316
318
|
|
317
|
-
|
319
|
+
if(fromArgs) this.setValue();
|
318
320
|
|
321
|
+
var oldViewDate = this.viewDate;
|
319
322
|
if (this.date < this.startDate) {
|
320
323
|
this.viewDate = new Date(this.startDate);
|
321
324
|
} else if (this.date > this.endDate) {
|
@@ -323,6 +326,13 @@
|
|
323
326
|
} else {
|
324
327
|
this.viewDate = new Date(this.date);
|
325
328
|
}
|
329
|
+
|
330
|
+
if (oldViewDate && oldViewDate.getTime() != this.viewDate.getTime()){
|
331
|
+
this.element.trigger({
|
332
|
+
type: 'changeDate',
|
333
|
+
date: this.viewDate
|
334
|
+
});
|
335
|
+
}
|
326
336
|
this.fill();
|
327
337
|
},
|
328
338
|
|
@@ -353,7 +363,7 @@
|
|
353
363
|
startMonth = this.startDate !== -Infinity ? this.startDate.getUTCMonth() : -Infinity,
|
354
364
|
endYear = this.endDate !== Infinity ? this.endDate.getUTCFullYear() : Infinity,
|
355
365
|
endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() : Infinity,
|
356
|
-
currentDate = this.date.valueOf(),
|
366
|
+
currentDate = this.date && this.date.valueOf(),
|
357
367
|
today = new Date();
|
358
368
|
this.picker.find('.datepicker-days thead th:eq(1)')
|
359
369
|
.text(dates[this.language].months[month]+' '+year);
|
@@ -388,7 +398,7 @@
|
|
388
398
|
prevMonth.getUTCDate() == today.getDate()) {
|
389
399
|
clsName += ' today';
|
390
400
|
}
|
391
|
-
if (prevMonth.valueOf() == currentDate) {
|
401
|
+
if (currentDate && prevMonth.valueOf() == currentDate) {
|
392
402
|
clsName += ' active';
|
393
403
|
}
|
394
404
|
if (prevMonth.valueOf() < this.startDate || prevMonth.valueOf() > this.endDate ||
|
@@ -402,14 +412,14 @@
|
|
402
412
|
prevMonth.setUTCDate(prevMonth.getUTCDate()+1);
|
403
413
|
}
|
404
414
|
this.picker.find('.datepicker-days tbody').empty().append(html.join(''));
|
405
|
-
var currentYear = this.date.getUTCFullYear();
|
415
|
+
var currentYear = this.date && this.date.getUTCFullYear();
|
406
416
|
|
407
417
|
var months = this.picker.find('.datepicker-months')
|
408
418
|
.find('th:eq(1)')
|
409
419
|
.text(year)
|
410
420
|
.end()
|
411
421
|
.find('span').removeClass('active');
|
412
|
-
if (currentYear == year) {
|
422
|
+
if (currentYear && currentYear == year) {
|
413
423
|
months.eq(this.date.getUTCMonth()).addClass('active');
|
414
424
|
}
|
415
425
|
if (year < startYear || year > endYear) {
|
@@ -720,16 +730,16 @@
|
|
720
730
|
if (dir) {
|
721
731
|
this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir));
|
722
732
|
}
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
733
|
+
/*
|
734
|
+
vitalets: fixing bug of very special conditions:
|
735
|
+
jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover.
|
736
|
+
Method show() does not set display css correctly and datepicker is not shown.
|
737
|
+
Changed to .css('display', 'block') solve the problem.
|
738
|
+
See https://github.com/vitalets/x-editable/issues/37
|
729
739
|
|
730
|
-
|
731
|
-
|
732
|
-
|
740
|
+
In jquery 1.7.2+ everything works fine.
|
741
|
+
*/
|
742
|
+
//this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
|
733
743
|
this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block');
|
734
744
|
this.updateNavArrows();
|
735
745
|
}
|
@@ -783,10 +793,10 @@
|
|
783
793
|
navStep: 10
|
784
794
|
}],
|
785
795
|
isLeapYear: function (year) {
|
786
|
-
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0))
|
796
|
+
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
|
787
797
|
},
|
788
798
|
getDaysInMonth: function (year, month) {
|
789
|
-
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]
|
799
|
+
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
|
790
800
|
},
|
791
801
|
validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
|
792
802
|
nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,
|
@@ -795,16 +805,16 @@
|
|
795
805
|
// so it's a bad format delimiter, anyway
|
796
806
|
var separators = format.replace(this.validParts, '\0').split('\0'),
|
797
807
|
parts = format.match(this.validParts);
|
798
|
-
if (!separators || !separators.length || !parts || parts.length
|
808
|
+
if (!separators || !separators.length || !parts || parts.length === 0){
|
799
809
|
throw new Error("Invalid date format.");
|
800
810
|
}
|
801
811
|
return {separators: separators, parts: parts};
|
802
812
|
},
|
803
813
|
parseDate: function(date, format, language) {
|
804
814
|
if (date instanceof Date) return date;
|
805
|
-
if (/^[
|
806
|
-
var part_re = /([
|
807
|
-
parts = date.match(/([
|
815
|
+
if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
|
816
|
+
var part_re = /([\-+]\d+)([dmwy])/,
|
817
|
+
parts = date.match(/([\-+]\d+)([dmwy])/g),
|
808
818
|
part, dir;
|
809
819
|
date = new Date();
|
810
820
|
for (var i=0; i<parts.length; i++) {
|
@@ -886,7 +896,7 @@
|
|
886
896
|
for (var i=0, s; i<setters_order.length; i++){
|
887
897
|
s = setters_order[i];
|
888
898
|
if (s in parsed && !isNaN(parsed[s]))
|
889
|
-
setters_map[s](date, parsed[s])
|
899
|
+
setters_map[s](date, parsed[s]);
|
890
900
|
}
|
891
901
|
}
|
892
902
|
return date;
|
@@ -908,7 +918,7 @@
|
|
908
918
|
seps = $.extend([], format.separators);
|
909
919
|
for (var i=0, cnt = format.parts.length; i < cnt; i++) {
|
910
920
|
if (seps.length)
|
911
|
-
date.push(seps.shift())
|
921
|
+
date.push(seps.shift());
|
912
922
|
date.push(val[format.parts[i]]);
|
913
923
|
}
|
914
924
|
return date.join('');
|
@@ -947,6 +957,6 @@
|
|
947
957
|
'</div>'+
|
948
958
|
'</div>';
|
949
959
|
|
950
|
-
|
960
|
+
$.fn.datepicker.DPGlobal = DPGlobal;
|
951
961
|
|
952
962
|
}( window.jQuery );
|
@@ -0,0 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* Catalan translation for bootstrap-datepicker
|
3
|
+
* J. Garcia <jogaco.en@gmail.com>
|
4
|
+
*/
|
5
|
+
;(function($){
|
6
|
+
$.fn.datepicker.dates['ca'] = {
|
7
|
+
days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"],
|
8
|
+
daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"],
|
9
|
+
daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"],
|
10
|
+
months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"],
|
11
|
+
monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"],
|
12
|
+
today: "Avui"
|
13
|
+
};
|
14
|
+
}(jQuery));
|
@@ -1,12 +1,13 @@
|
|
1
1
|
/**
|
2
2
|
* Czech translation for bootstrap-datepicker
|
3
3
|
* Matěj Koubík <matej@koubik.name>
|
4
|
+
* Fixes by Michal Remiš <michal.remis@gmail.com>
|
4
5
|
*/
|
5
6
|
;(function($){
|
6
7
|
$.fn.datepicker.dates['cs'] = {
|
7
8
|
days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"],
|
8
|
-
daysShort: ["
|
9
|
-
daysMin: ["
|
9
|
+
daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"],
|
10
|
+
daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"],
|
10
11
|
months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"],
|
11
12
|
monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"],
|
12
13
|
today: "Dnes"
|
@@ -9,6 +9,7 @@
|
|
9
9
|
daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"],
|
10
10
|
months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
|
11
11
|
monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
|
12
|
-
today: "Heute"
|
12
|
+
today: "Heute",
|
13
|
+
weekStart: 1
|
13
14
|
};
|
14
15
|
}(jQuery));
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* Greek translation for bootstrap-datepicker
|
3
|
+
*/
|
4
|
+
;(function($){
|
5
|
+
$.fn.datepicker.dates['el'] = {
|
6
|
+
days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"],
|
7
|
+
daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"],
|
8
|
+
daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"],
|
9
|
+
months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"],
|
10
|
+
monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"],
|
11
|
+
today: "Σήμερα"
|
12
|
+
};
|
13
|
+
}(jQuery));
|
@@ -9,6 +9,7 @@
|
|
9
9
|
daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"],
|
10
10
|
months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
|
11
11
|
monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"],
|
12
|
-
today: "Aujourd'hui"
|
12
|
+
today: "Aujourd'hui",
|
13
|
+
weekStart: 1
|
13
14
|
};
|
14
15
|
}(jQuery));
|
@@ -1,12 +1,13 @@
|
|
1
1
|
/**
|
2
2
|
* Slovak translation for bootstrap-datepicker
|
3
3
|
* Marek Lichtner <marek@licht.sk>
|
4
|
+
* Fixes by Michal Remiš <michal.remis@gmail.com>
|
4
5
|
*/
|
5
6
|
;(function($){
|
6
7
|
$.fn.datepicker.dates["sk"] = {
|
7
8
|
days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"],
|
8
|
-
daysShort: ["
|
9
|
-
daysMin: ["Ne", "Po", "Ut", "St", "Št", "
|
9
|
+
daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"],
|
10
|
+
daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So", "Ne"],
|
10
11
|
months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"],
|
11
12
|
monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"],
|
12
13
|
today: "Dnes"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-datepicker-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.35
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -134,9 +134,11 @@ files:
|
|
134
134
|
- vendor/assets/javascripts/bootstrap-datepicker/index.js
|
135
135
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.bg.js
|
136
136
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.br.js
|
137
|
+
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.ca.js
|
137
138
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.cs.js
|
138
139
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.da.js
|
139
140
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.de.js
|
141
|
+
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.el.js
|
140
142
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.es.js
|
141
143
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.fi.js
|
142
144
|
- vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.fr.js
|
@@ -183,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
185
|
version: '0'
|
184
186
|
segments:
|
185
187
|
- 0
|
186
|
-
hash:
|
188
|
+
hash: 2691647704383687083
|
187
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
190
|
none: false
|
189
191
|
requirements:
|
@@ -192,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
192
194
|
version: '0'
|
193
195
|
segments:
|
194
196
|
- 0
|
195
|
-
hash:
|
197
|
+
hash: 2691647704383687083
|
196
198
|
requirements: []
|
197
199
|
rubyforge_project:
|
198
200
|
rubygems_version: 1.8.24
|