bootstrap-rails-engine 1.2.9 → 1.3.0
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/.gitignore +0 -0
- data/Gemfile +0 -0
- data/README.md +1 -1
- data/Rakefile +0 -0
- data/{vendor → app}/assets/images/bootstrap/glyphicons-halflings-white.png +0 -0
- data/{vendor → app}/assets/images/bootstrap/glyphicons-halflings.png +0 -0
- data/{vendor → app}/assets/javascripts/bootstrap/bootstrap-datepicker.js +163 -74
- data/{vendor → app}/assets/javascripts/bootstrap/bootstrap.js +0 -0
- data/{vendor → app}/assets/javascripts/bootstrap/bootstrap.min.js +0 -0
- data/{vendor → app}/assets/stylesheets/bootstrap/bootstrap-datepicker.css +18 -1
- data/{vendor → app}/assets/stylesheets/bootstrap/bootstrap-responsive.css +0 -0
- data/{vendor → app}/assets/stylesheets/bootstrap/bootstrap-responsive.min.css +0 -0
- data/{vendor → app}/assets/stylesheets/bootstrap/bootstrap.css +0 -0
- data/{vendor → app}/assets/stylesheets/bootstrap/bootstrap.min.css +0 -0
- data/bootstrap-rails-engine.gemspec +0 -0
- data/lib/bootstrap-rails-engine/version.rb +1 -1
- data/lib/bootstrap-rails-engine.rb +4 -3
- data.tar.gz.sig +2 -1
- metadata +12 -12
- metadata.gz.sig +0 -0
data/.gitignore
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/README.md
CHANGED
data/Rakefile
CHANGED
File without changes
|
File without changes
|
File without changes
|
@@ -35,11 +35,13 @@
|
|
35
35
|
|
36
36
|
this.element = $(element);
|
37
37
|
this.language = options.language||this.element.data('date-language')||"en";
|
38
|
+
this.language = this.language in dates ? this.language : this.language.split('-')[0]; //Check if "de-DE" style date is available, if not language should fallback to 2 letter code eg "de"
|
38
39
|
this.language = this.language in dates ? this.language : "en";
|
39
|
-
this.
|
40
|
-
|
40
|
+
this.isRTL = dates[this.language].rtl||false;
|
41
|
+
this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||dates[this.language].format||'mm/dd/yyyy');
|
42
|
+
this.isInline = false;
|
41
43
|
this.isInput = this.element.is('input');
|
42
|
-
this.component = this.element.is('.date') ? this.element.find('.add-on') : false;
|
44
|
+
this.component = this.element.is('.date') ? this.element.find('.add-on, .btn') : false;
|
43
45
|
this.hasInput = this.component && this.element.find('input').length;
|
44
46
|
if(this.component && this.component.length === 0)
|
45
47
|
this.component = false;
|
@@ -54,21 +56,26 @@
|
|
54
56
|
}
|
55
57
|
|
56
58
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
59
|
+
this.picker = $(DPGlobal.template)
|
60
|
+
.appendTo(this.isInline ? this.element : 'body')
|
61
|
+
.on({
|
62
|
+
click: $.proxy(this.click, this),
|
63
|
+
mousedown: $.proxy(this.mousedown, this)
|
64
|
+
});
|
63
65
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
66
|
+
if(this.isInline) {
|
67
|
+
this.picker.addClass('datepicker-inline');
|
68
|
+
} else {
|
69
|
+
this.picker.addClass('datepicker-dropdown dropdown-menu');
|
70
|
+
}
|
71
|
+
if (this.isRTL){
|
72
|
+
this.picker.addClass('datepicker-rtl');
|
73
|
+
this.picker.find('.prev i, .next i')
|
74
|
+
.toggleClass('icon-arrow-left icon-arrow-right');
|
75
|
+
}
|
69
76
|
$(document).on('mousedown', function (e) {
|
70
77
|
// Clicked outside the datepicker, hide it
|
71
|
-
if ($(e.target).closest('.datepicker').length === 0) {
|
78
|
+
if ($(e.target).closest('.datepicker.datepicker-inline, .datepicker.datepicker-dropdown').length === 0) {
|
72
79
|
that.hide();
|
73
80
|
}
|
74
81
|
});
|
@@ -99,9 +106,40 @@
|
|
99
106
|
break;
|
100
107
|
}
|
101
108
|
|
109
|
+
this.minViewMode = options.minViewMode||this.element.data('date-min-view-mode')||0;
|
110
|
+
if (typeof this.minViewMode === 'string') {
|
111
|
+
switch (this.minViewMode) {
|
112
|
+
case 'months':
|
113
|
+
this.minViewMode = 1;
|
114
|
+
break;
|
115
|
+
case 'years':
|
116
|
+
this.minViewMode = 2;
|
117
|
+
break;
|
118
|
+
default:
|
119
|
+
this.minViewMode = 0;
|
120
|
+
break;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
this.viewMode = this.startViewMode = Math.max(this.startViewMode, this.minViewMode);
|
125
|
+
|
102
126
|
this.todayBtn = (options.todayBtn||this.element.data('date-today-btn')||false);
|
103
127
|
this.todayHighlight = (options.todayHighlight||this.element.data('date-today-highlight')||false);
|
104
128
|
|
129
|
+
this.calendarWeeks = false;
|
130
|
+
if ('calendarWeeks' in options) {
|
131
|
+
this.calendarWeeks = options.calendarWeeks;
|
132
|
+
} else if ('dateCalendarWeeks' in this.element.data()) {
|
133
|
+
this.calendarWeeks = this.element.data('date-calendar-weeks');
|
134
|
+
}
|
135
|
+
if (this.calendarWeeks)
|
136
|
+
this.picker.find('tfoot th.today')
|
137
|
+
.attr('colspan', function(i, val){
|
138
|
+
return parseInt(val) + 1;
|
139
|
+
});
|
140
|
+
|
141
|
+
this._allow_update = false;
|
142
|
+
|
105
143
|
this.weekStart = ((options.weekStart||this.element.data('date-weekstart')||dates[this.language].weekStart||0) % 7);
|
106
144
|
this.weekEnd = ((this.weekStart + 6) % 7);
|
107
145
|
this.startDate = -Infinity;
|
@@ -112,12 +150,15 @@
|
|
112
150
|
this.setDaysOfWeekDisabled(options.daysOfWeekDisabled||this.element.data('date-days-of-week-disabled'));
|
113
151
|
this.fillDow();
|
114
152
|
this.fillMonths();
|
153
|
+
|
154
|
+
this._allow_update = true;
|
155
|
+
|
115
156
|
this.update();
|
116
157
|
this.showMode();
|
117
158
|
|
118
|
-
|
119
|
-
|
120
|
-
|
159
|
+
if(this.isInline) {
|
160
|
+
this.show();
|
161
|
+
}
|
121
162
|
};
|
122
163
|
|
123
164
|
Datepicker.prototype = {
|
@@ -148,9 +189,9 @@
|
|
148
189
|
}]
|
149
190
|
];
|
150
191
|
}
|
151
|
-
|
152
|
-
|
153
|
-
|
192
|
+
else if (this.element.is('div')) { // inline datepicker
|
193
|
+
this.isInline = true;
|
194
|
+
}
|
154
195
|
else {
|
155
196
|
this._events = [
|
156
197
|
[this.element, {
|
@@ -176,11 +217,9 @@
|
|
176
217
|
show: function(e) {
|
177
218
|
this.picker.show();
|
178
219
|
this.height = this.component ? this.component.outerHeight() : this.element.outerHeight();
|
179
|
-
this.update();
|
180
220
|
this.place();
|
181
221
|
$(window).on('resize', $.proxy(this.place, this));
|
182
|
-
if (e
|
183
|
-
e.stopPropagation();
|
222
|
+
if (e) {
|
184
223
|
e.preventDefault();
|
185
224
|
}
|
186
225
|
this.element.trigger({
|
@@ -190,7 +229,8 @@
|
|
190
229
|
},
|
191
230
|
|
192
231
|
hide: function(e){
|
193
|
-
|
232
|
+
if(this.isInline) return;
|
233
|
+
if (!this.picker.is(':visible')) return;
|
194
234
|
this.picker.hide();
|
195
235
|
$(window).off('resize', this.place);
|
196
236
|
this.viewMode = this.startViewMode;
|
@@ -217,6 +257,9 @@
|
|
217
257
|
this._detachEvents();
|
218
258
|
this.picker.remove();
|
219
259
|
delete this.element.data().datepicker;
|
260
|
+
if (!this.isInput) {
|
261
|
+
delete this.element.data().date;
|
262
|
+
}
|
220
263
|
},
|
221
264
|
|
222
265
|
getDate: function() {
|
@@ -241,18 +284,19 @@
|
|
241
284
|
var formatted = this.getFormattedDate();
|
242
285
|
if (!this.isInput) {
|
243
286
|
if (this.component){
|
244
|
-
this.element.find('input').
|
287
|
+
this.element.find('input').val(formatted);
|
245
288
|
}
|
246
289
|
this.element.data('date', formatted);
|
247
290
|
} else {
|
248
|
-
this.element.
|
291
|
+
this.element.val(formatted);
|
249
292
|
}
|
250
293
|
},
|
251
294
|
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
295
|
+
getFormattedDate: function(format) {
|
296
|
+
if (format === undefined)
|
297
|
+
format = this.format;
|
298
|
+
return DPGlobal.formatDate(this.date, format, this.language);
|
299
|
+
},
|
256
300
|
|
257
301
|
setStartDate: function(startDate){
|
258
302
|
this.startDate = startDate||-Infinity;
|
@@ -285,30 +329,34 @@
|
|
285
329
|
},
|
286
330
|
|
287
331
|
place: function(){
|
288
|
-
|
332
|
+
if(this.isInline) return;
|
289
333
|
var zIndex = parseInt(this.element.parents().filter(function() {
|
290
334
|
return $(this).css('z-index') != 'auto';
|
291
335
|
}).first().css('z-index'))+10;
|
292
|
-
var offset = this.component ? this.component.offset() : this.element.offset();
|
336
|
+
var offset = this.component ? this.component.parent().offset() : this.element.offset();
|
337
|
+
var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(true);
|
293
338
|
this.picker.css({
|
294
|
-
top: offset.top +
|
339
|
+
top: offset.top + height,
|
295
340
|
left: offset.left,
|
296
341
|
zIndex: zIndex
|
297
342
|
});
|
298
343
|
},
|
299
344
|
|
345
|
+
_allow_update: true,
|
300
346
|
update: function(){
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
347
|
+
if (!this._allow_update) return;
|
348
|
+
|
349
|
+
var date, fromArgs = false;
|
350
|
+
if(arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) {
|
351
|
+
date = arguments[0];
|
352
|
+
fromArgs = true;
|
353
|
+
} else {
|
354
|
+
date = this.isInput ? this.element.val() : this.element.data('date') || this.element.find('input').val();
|
355
|
+
}
|
308
356
|
|
309
357
|
this.date = DPGlobal.parseDate(date, this.format, this.language);
|
310
358
|
|
311
|
-
|
359
|
+
if(fromArgs) this.setValue();
|
312
360
|
|
313
361
|
if (this.date < this.startDate) {
|
314
362
|
this.viewDate = new Date(this.startDate);
|
@@ -323,6 +371,11 @@
|
|
323
371
|
fillDow: function(){
|
324
372
|
var dowCnt = this.weekStart,
|
325
373
|
html = '<tr>';
|
374
|
+
if(this.calendarWeeks){
|
375
|
+
var cell = '<th class="cw"> </th>';
|
376
|
+
html += cell;
|
377
|
+
this.picker.find('.datepicker-days thead tr:first-child').prepend(cell);
|
378
|
+
}
|
326
379
|
while (dowCnt < this.weekStart + 7) {
|
327
380
|
html += '<th class="dow">'+dates[this.language].daysMin[(dowCnt++)%7]+'</th>';
|
328
381
|
}
|
@@ -347,9 +400,9 @@
|
|
347
400
|
startMonth = this.startDate !== -Infinity ? this.startDate.getUTCMonth() : -Infinity,
|
348
401
|
endYear = this.endDate !== Infinity ? this.endDate.getUTCFullYear() : Infinity,
|
349
402
|
endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() : Infinity,
|
350
|
-
currentDate = this.date.valueOf(),
|
403
|
+
currentDate = this.date && this.date.valueOf(),
|
351
404
|
today = new Date();
|
352
|
-
this.picker.find('.datepicker-days thead th
|
405
|
+
this.picker.find('.datepicker-days thead th.switch')
|
353
406
|
.text(dates[this.language].months[month]+' '+year);
|
354
407
|
this.picker.find('tfoot th.today')
|
355
408
|
.text(dates[this.language].today)
|
@@ -368,6 +421,21 @@
|
|
368
421
|
while(prevMonth.valueOf() < nextMonth) {
|
369
422
|
if (prevMonth.getUTCDay() == this.weekStart) {
|
370
423
|
html.push('<tr>');
|
424
|
+
if(this.calendarWeeks){
|
425
|
+
// ISO 8601: First week contains first thursday.
|
426
|
+
// ISO also states week starts on Monday, but we can be more abstract here.
|
427
|
+
var
|
428
|
+
// Start of current week: based on weekstart/current date
|
429
|
+
ws = new Date(+prevMonth + (this.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5),
|
430
|
+
// Thursday of this week
|
431
|
+
th = new Date(+ws + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),
|
432
|
+
// First Thursday of year, year from thursday
|
433
|
+
yth = new Date(+(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5),
|
434
|
+
// Calendar week: ms between thursdays, div ms per day, div 7 days
|
435
|
+
calWeek = (th - yth) / 864e5 / 7 + 1;
|
436
|
+
html.push('<td class="cw">'+ calWeek +'</td>');
|
437
|
+
|
438
|
+
}
|
371
439
|
}
|
372
440
|
clsName = '';
|
373
441
|
if (prevMonth.getUTCFullYear() < year || (prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() < month)) {
|
@@ -382,7 +450,7 @@
|
|
382
450
|
prevMonth.getUTCDate() == today.getDate()) {
|
383
451
|
clsName += ' today';
|
384
452
|
}
|
385
|
-
if (prevMonth.valueOf() == currentDate) {
|
453
|
+
if (currentDate && prevMonth.valueOf() == currentDate) {
|
386
454
|
clsName += ' active';
|
387
455
|
}
|
388
456
|
if (prevMonth.valueOf() < this.startDate || prevMonth.valueOf() > this.endDate ||
|
@@ -396,14 +464,14 @@
|
|
396
464
|
prevMonth.setUTCDate(prevMonth.getUTCDate()+1);
|
397
465
|
}
|
398
466
|
this.picker.find('.datepicker-days tbody').empty().append(html.join(''));
|
399
|
-
var currentYear = this.date.getUTCFullYear();
|
467
|
+
var currentYear = this.date && this.date.getUTCFullYear();
|
400
468
|
|
401
469
|
var months = this.picker.find('.datepicker-months')
|
402
470
|
.find('th:eq(1)')
|
403
471
|
.text(year)
|
404
472
|
.end()
|
405
473
|
.find('span').removeClass('active');
|
406
|
-
if (currentYear == year) {
|
474
|
+
if (currentYear && currentYear == year) {
|
407
475
|
months.eq(this.date.getUTCMonth()).addClass('active');
|
408
476
|
}
|
409
477
|
if (year < startYear || year > endYear) {
|
@@ -432,6 +500,8 @@
|
|
432
500
|
},
|
433
501
|
|
434
502
|
updateNavArrows: function() {
|
503
|
+
if (!this._allow_update) return;
|
504
|
+
|
435
505
|
var d = new Date(this.viewDate),
|
436
506
|
year = d.getUTCFullYear(),
|
437
507
|
month = d.getUTCMonth();
|
@@ -465,7 +535,6 @@
|
|
465
535
|
},
|
466
536
|
|
467
537
|
click: function(e) {
|
468
|
-
e.stopPropagation();
|
469
538
|
e.preventDefault();
|
470
539
|
var target = $(e.target).closest('span, td, th');
|
471
540
|
if (target.length == 1) {
|
@@ -503,19 +572,29 @@
|
|
503
572
|
if (!target.is('.disabled')) {
|
504
573
|
this.viewDate.setUTCDate(1);
|
505
574
|
if (target.is('.month')) {
|
575
|
+
var day = 1;
|
506
576
|
var month = target.parent().find('span').index(target);
|
577
|
+
var year = this.viewDate.getUTCFullYear();
|
507
578
|
this.viewDate.setUTCMonth(month);
|
508
579
|
this.element.trigger({
|
509
580
|
type: 'changeMonth',
|
510
581
|
date: this.viewDate
|
511
582
|
});
|
583
|
+
if ( this.minViewMode == 1 ) {
|
584
|
+
this._setDate(UTCDate(year, month, day,0,0,0,0));
|
585
|
+
}
|
512
586
|
} else {
|
513
587
|
var year = parseInt(target.text(), 10)||0;
|
588
|
+
var day = 1;
|
589
|
+
var month = 0;
|
514
590
|
this.viewDate.setUTCFullYear(year);
|
515
591
|
this.element.trigger({
|
516
592
|
type: 'changeYear',
|
517
593
|
date: this.viewDate
|
518
594
|
});
|
595
|
+
if ( this.minViewMode == 2 ) {
|
596
|
+
this._setDate(UTCDate(year, month, day,0,0,0,0));
|
597
|
+
}
|
519
598
|
}
|
520
599
|
this.showMode(-1);
|
521
600
|
this.fill();
|
@@ -712,18 +791,18 @@
|
|
712
791
|
|
713
792
|
showMode: function(dir) {
|
714
793
|
if (dir) {
|
715
|
-
this.viewMode = Math.max(
|
716
|
-
}
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
794
|
+
this.viewMode = Math.max(this.minViewMode, Math.min(2, this.viewMode + dir));
|
795
|
+
}
|
796
|
+
/*
|
797
|
+
vitalets: fixing bug of very special conditions:
|
798
|
+
jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover.
|
799
|
+
Method show() does not set display css correctly and datepicker is not shown.
|
800
|
+
Changed to .css('display', 'block') solve the problem.
|
801
|
+
See https://github.com/vitalets/x-editable/issues/37
|
802
|
+
|
803
|
+
In jquery 1.7.2+ everything works fine.
|
804
|
+
*/
|
805
|
+
//this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
|
727
806
|
this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block');
|
728
807
|
this.updateNavArrows();
|
729
808
|
}
|
@@ -777,28 +856,28 @@
|
|
777
856
|
navStep: 10
|
778
857
|
}],
|
779
858
|
isLeapYear: function (year) {
|
780
|
-
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0))
|
859
|
+
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));
|
781
860
|
},
|
782
861
|
getDaysInMonth: function (year, month) {
|
783
|
-
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]
|
862
|
+
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
|
784
863
|
},
|
785
|
-
validParts: /dd?|mm?|MM?|yy(?:yy)?/g,
|
786
|
-
nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\r]+/g,
|
864
|
+
validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
|
865
|
+
nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,
|
787
866
|
parseFormat: function(format){
|
788
867
|
// IE treats \0 as a string end in inputs (truncating the value),
|
789
868
|
// so it's a bad format delimiter, anyway
|
790
869
|
var separators = format.replace(this.validParts, '\0').split('\0'),
|
791
870
|
parts = format.match(this.validParts);
|
792
|
-
if (!separators || !separators.length || !parts || parts.length
|
871
|
+
if (!separators || !separators.length || !parts || parts.length === 0){
|
793
872
|
throw new Error("Invalid date format.");
|
794
873
|
}
|
795
874
|
return {separators: separators, parts: parts};
|
796
875
|
},
|
797
876
|
parseDate: function(date, format, language) {
|
798
877
|
if (date instanceof Date) return date;
|
799
|
-
if (/^[
|
800
|
-
var part_re = /([
|
801
|
-
parts = date.match(/([
|
878
|
+
if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
|
879
|
+
var part_re = /([\-+]\d+)([dmwy])/,
|
880
|
+
parts = date.match(/([\-+]\d+)([dmwy])/g),
|
802
881
|
part, dir;
|
803
882
|
date = new Date();
|
804
883
|
for (var i=0; i<parts.length; i++) {
|
@@ -843,10 +922,18 @@
|
|
843
922
|
setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];
|
844
923
|
setters_map['dd'] = setters_map['d'];
|
845
924
|
date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
|
846
|
-
|
847
|
-
|
925
|
+
var fparts = format.parts.slice();
|
926
|
+
// Remove noop parts
|
927
|
+
if (parts.length != fparts.length) {
|
928
|
+
fparts = $(fparts).filter(function(i,p){
|
929
|
+
return $.inArray(p, setters_order) !== -1;
|
930
|
+
}).toArray();
|
931
|
+
}
|
932
|
+
// Process remainder
|
933
|
+
if (parts.length == fparts.length) {
|
934
|
+
for (var i=0, cnt = fparts.length; i < cnt; i++) {
|
848
935
|
val = parseInt(parts[i], 10);
|
849
|
-
part =
|
936
|
+
part = fparts[i];
|
850
937
|
if (isNaN(val)) {
|
851
938
|
switch(part) {
|
852
939
|
case 'MM':
|
@@ -872,7 +959,7 @@
|
|
872
959
|
for (var i=0, s; i<setters_order.length; i++){
|
873
960
|
s = setters_order[i];
|
874
961
|
if (s in parsed && !isNaN(parsed[s]))
|
875
|
-
setters_map[s](date, parsed[s])
|
962
|
+
setters_map[s](date, parsed[s]);
|
876
963
|
}
|
877
964
|
}
|
878
965
|
return date;
|
@@ -880,6 +967,8 @@
|
|
880
967
|
formatDate: function(date, format, language){
|
881
968
|
var val = {
|
882
969
|
d: date.getUTCDate(),
|
970
|
+
D: dates[language].daysShort[date.getUTCDay()],
|
971
|
+
DD: dates[language].days[date.getUTCDay()],
|
883
972
|
m: date.getUTCMonth() + 1,
|
884
973
|
M: dates[language].monthsShort[date.getUTCMonth()],
|
885
974
|
MM: dates[language].months[date.getUTCMonth()],
|
@@ -892,7 +981,7 @@
|
|
892
981
|
seps = $.extend([], format.separators);
|
893
982
|
for (var i=0, cnt = format.parts.length; i < cnt; i++) {
|
894
983
|
if (seps.length)
|
895
|
-
date.push(seps.shift())
|
984
|
+
date.push(seps.shift());
|
896
985
|
date.push(val[format.parts[i]]);
|
897
986
|
}
|
898
987
|
return date.join('');
|
@@ -931,6 +1020,6 @@
|
|
931
1020
|
'</div>'+
|
932
1021
|
'</div>';
|
933
1022
|
|
934
|
-
|
1023
|
+
$.fn.datepicker.DPGlobal = DPGlobal;
|
935
1024
|
|
936
1025
|
}( window.jQuery );
|
File without changes
|
File without changes
|
@@ -9,10 +9,10 @@
|
|
9
9
|
*/
|
10
10
|
.datepicker {
|
11
11
|
padding: 4px;
|
12
|
-
margin-top: 1px;
|
13
12
|
-webkit-border-radius: 4px;
|
14
13
|
-moz-border-radius: 4px;
|
15
14
|
border-radius: 4px;
|
15
|
+
direction: ltr;
|
16
16
|
/*.dow {
|
17
17
|
border-top: 1px solid #ddd !important;
|
18
18
|
}*/
|
@@ -21,6 +21,12 @@
|
|
21
21
|
.datepicker-inline {
|
22
22
|
width: 220px;
|
23
23
|
}
|
24
|
+
.datepicker.datepicker-rtl {
|
25
|
+
direction: rtl;
|
26
|
+
}
|
27
|
+
.datepicker.datepicker-rtl table tr td span {
|
28
|
+
float: right;
|
29
|
+
}
|
24
30
|
.datepicker-dropdown {
|
25
31
|
top: 0;
|
26
32
|
left: 0;
|
@@ -105,6 +111,7 @@
|
|
105
111
|
border-color: #fdf59a #fdf59a #fbed50;
|
106
112
|
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
107
113
|
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
114
|
+
color: #000 !important;
|
108
115
|
}
|
109
116
|
.datepicker table tr td.today:hover,
|
110
117
|
.datepicker table tr td.today:hover:hover,
|
@@ -275,6 +282,16 @@
|
|
275
282
|
.datepicker tfoot tr:first-child th:hover {
|
276
283
|
background: #eeeeee;
|
277
284
|
}
|
285
|
+
.datepicker .cw {
|
286
|
+
font-size: 10px;
|
287
|
+
width: 12px;
|
288
|
+
padding: 0 2px 0 5px;
|
289
|
+
vertical-align: middle;
|
290
|
+
}
|
291
|
+
.datepicker thead tr:first-child th.cw {
|
292
|
+
cursor: default;
|
293
|
+
background-color: transparent;
|
294
|
+
}
|
278
295
|
.input-append.date .add-on i,
|
279
296
|
.input-prepend.date .add-on i {
|
280
297
|
display: block;
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -4,10 +4,10 @@ module BootstrapRailsEngine
|
|
4
4
|
|
5
5
|
CDNS = {
|
6
6
|
:bootstrap_js => {
|
7
|
-
:default => "//netdna.bootstrapcdn.com/twitter-bootstrap/2.3/js/bootstrap.min.js"
|
7
|
+
:default => "//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/js/bootstrap.min.js"
|
8
8
|
},
|
9
9
|
:bootstrap_css => {
|
10
|
-
:default => "//netdna.bootstrapcdn.com/twitter-bootstrap/2.3/css/bootstrap-combined.min.css"
|
10
|
+
:default => "//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css"
|
11
11
|
},
|
12
12
|
}
|
13
13
|
|
@@ -29,10 +29,11 @@ module BootstrapRailsEngine
|
|
29
29
|
else
|
30
30
|
# Bootstrap do not offer way to check existing
|
31
31
|
[ javascript_include_tag(bootstrap_javascript_url(name, options)),
|
32
|
+
javascript_tag("typeof $().carousel == 'function' || document.write(unescape('#{javascript_include_tag('bootstrap/bootstrap').gsub('<','%3C')}'))")
|
32
33
|
].join("\n").html_safe
|
33
34
|
end
|
34
35
|
end
|
35
|
-
|
36
|
+
|
36
37
|
def bootstrap_stylesheet_include_tag(name, options = {})
|
37
38
|
if OFFLINE and !options[:force]
|
38
39
|
return stylesheet_link_tag('bootstrap/bootstrap')
|
data.tar.gz.sig
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
���3�em�qb�}%�s�op8M_:��t\AW��zc����:��� 71�K]1�Lk��
|
2
|
+
��xk,j�����
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-rails-engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
M0lBc1Z2QzJZa0d3SjA5cUZWM1dRV1daU1NYUkp5ajUKMER3VStLZlV0YTRI
|
37
37
|
V1JyK2psKzRrWWVpVUtnYW1kdjJwUTRWYUo4M1ZHQzNGSXBVazlUVUxDTTN2
|
38
38
|
NWlIYkRRdQpvWnNXQ1E9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
-
date: 2013-02-
|
39
|
+
date: 2013-02-25 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: railties
|
@@ -98,20 +98,20 @@ files:
|
|
98
98
|
- LICENSE
|
99
99
|
- README.md
|
100
100
|
- Rakefile
|
101
|
+
- app/assets/images/bootstrap/glyphicons-halflings-white.png
|
102
|
+
- app/assets/images/bootstrap/glyphicons-halflings.png
|
103
|
+
- app/assets/javascripts/bootstrap/bootstrap-datepicker.js
|
104
|
+
- app/assets/javascripts/bootstrap/bootstrap.js
|
105
|
+
- app/assets/javascripts/bootstrap/bootstrap.min.js
|
106
|
+
- app/assets/stylesheets/bootstrap/bootstrap-datepicker.css
|
107
|
+
- app/assets/stylesheets/bootstrap/bootstrap-responsive.css
|
108
|
+
- app/assets/stylesheets/bootstrap/bootstrap-responsive.min.css
|
109
|
+
- app/assets/stylesheets/bootstrap/bootstrap.css
|
110
|
+
- app/assets/stylesheets/bootstrap/bootstrap.min.css
|
101
111
|
- bootstrap-rails-engine.gemspec
|
102
112
|
- gem-public_cert.pem
|
103
113
|
- lib/bootstrap-rails-engine.rb
|
104
114
|
- lib/bootstrap-rails-engine/version.rb
|
105
|
-
- vendor/assets/images/bootstrap/glyphicons-halflings-white.png
|
106
|
-
- vendor/assets/images/bootstrap/glyphicons-halflings.png
|
107
|
-
- vendor/assets/javascripts/bootstrap/bootstrap-datepicker.js
|
108
|
-
- vendor/assets/javascripts/bootstrap/bootstrap.js
|
109
|
-
- vendor/assets/javascripts/bootstrap/bootstrap.min.js
|
110
|
-
- vendor/assets/stylesheets/bootstrap/bootstrap-datepicker.css
|
111
|
-
- vendor/assets/stylesheets/bootstrap/bootstrap-responsive.css
|
112
|
-
- vendor/assets/stylesheets/bootstrap/bootstrap-responsive.min.css
|
113
|
-
- vendor/assets/stylesheets/bootstrap/bootstrap.css
|
114
|
-
- vendor/assets/stylesheets/bootstrap/bootstrap.min.css
|
115
115
|
homepage: https://github.com/yjchen/bootstrap-rails-engine
|
116
116
|
licenses: []
|
117
117
|
post_install_message:
|
metadata.gz.sig
CHANGED
Binary file
|