bootstrap-datepicker-rails 1.0.0.2 → 1.0.0.3
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 130087eee463e56eead64c0a83e939ec04a49db1
|
4
|
+
data.tar.gz: 787985d85b851d3ddb512f72c85ed4e070099aeb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4042e4dba319189c8f6170e3235adfe0e57ba6bbedc84c2fcbeaf52ecf8eaca103a1a5f870aadbe937777b2a38532fd3dfe842c80a35d0ec98249dd2056191c4
|
7
|
+
data.tar.gz: a26f9ff1f29ad4eeb86a6de27a05d6a33fc691923c042c69c2a34469c9012b3021741c94a1850485be48e530b37033151337855de166786eb9009a19be6b168b
|
@@ -138,6 +138,7 @@
|
|
138
138
|
this.setDaysOfWeekDisabled(options.daysOfWeekDisabled||this.element.data('date-days-of-week-disabled'));
|
139
139
|
this.fillDow();
|
140
140
|
this.fillMonths();
|
141
|
+
this.setRange(options.range);
|
141
142
|
|
142
143
|
this._allow_update = true;
|
143
144
|
|
@@ -413,6 +414,50 @@
|
|
413
414
|
this.picker.find('.datepicker-months td').html(html);
|
414
415
|
},
|
415
416
|
|
417
|
+
setRange: function(range){
|
418
|
+
if (!range || !range.length)
|
419
|
+
delete this.range;
|
420
|
+
else
|
421
|
+
this.range = $.map(range, function(d){ return d.valueOf(); });
|
422
|
+
this.fill();
|
423
|
+
},
|
424
|
+
|
425
|
+
getClassNames: function(date){
|
426
|
+
var cls = [],
|
427
|
+
year = this.viewDate.getUTCFullYear(),
|
428
|
+
month = this.viewDate.getUTCMonth(),
|
429
|
+
currentDate = this.date.valueOf(),
|
430
|
+
today = new Date();
|
431
|
+
if (date.getUTCFullYear() < year || (date.getUTCFullYear() == year && date.getUTCMonth() < month)) {
|
432
|
+
cls.push('old');
|
433
|
+
} else if (date.getUTCFullYear() > year || (date.getUTCFullYear() == year && date.getUTCMonth() > month)) {
|
434
|
+
cls.push('new');
|
435
|
+
}
|
436
|
+
// Compare internal UTC date with local today, not UTC today
|
437
|
+
if (this.todayHighlight &&
|
438
|
+
date.getUTCFullYear() == today.getFullYear() &&
|
439
|
+
date.getUTCMonth() == today.getMonth() &&
|
440
|
+
date.getUTCDate() == today.getDate()) {
|
441
|
+
cls.push('today');
|
442
|
+
}
|
443
|
+
if (currentDate && date.valueOf() == currentDate) {
|
444
|
+
cls.push('active');
|
445
|
+
}
|
446
|
+
if (date.valueOf() < this.startDate || date.valueOf() > this.endDate ||
|
447
|
+
$.inArray(date.getUTCDay(), this.daysOfWeekDisabled) !== -1) {
|
448
|
+
cls.push('disabled');
|
449
|
+
}
|
450
|
+
if (this.range){
|
451
|
+
if (date > this.range[0] && date < this.range[this.range.length-1]){
|
452
|
+
cls.push('range');
|
453
|
+
}
|
454
|
+
if ($.inArray(date.valueOf(), this.range) != -1){
|
455
|
+
cls.push('selected');
|
456
|
+
}
|
457
|
+
}
|
458
|
+
return cls;
|
459
|
+
},
|
460
|
+
|
416
461
|
fill: function() {
|
417
462
|
var d = new Date(this.viewDate),
|
418
463
|
year = d.getUTCFullYear(),
|
@@ -421,8 +466,7 @@
|
|
421
466
|
startMonth = this.startDate !== -Infinity ? this.startDate.getUTCMonth() : -Infinity,
|
422
467
|
endYear = this.endDate !== Infinity ? this.endDate.getUTCFullYear() : Infinity,
|
423
468
|
endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() : Infinity,
|
424
|
-
currentDate = this.date && this.date.valueOf()
|
425
|
-
today = new Date();
|
469
|
+
currentDate = this.date && this.date.valueOf();
|
426
470
|
this.picker.find('.datepicker-days thead th.switch')
|
427
471
|
.text(dates[this.language].months[month]+' '+year);
|
428
472
|
this.picker.find('tfoot th.today')
|
@@ -458,27 +502,9 @@
|
|
458
502
|
|
459
503
|
}
|
460
504
|
}
|
461
|
-
clsName =
|
462
|
-
|
463
|
-
|
464
|
-
} else if (prevMonth.getUTCFullYear() > year || (prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() > month)) {
|
465
|
-
clsName += ' new';
|
466
|
-
}
|
467
|
-
// Compare internal UTC date with local today, not UTC today
|
468
|
-
if (this.todayHighlight &&
|
469
|
-
prevMonth.getUTCFullYear() == today.getFullYear() &&
|
470
|
-
prevMonth.getUTCMonth() == today.getMonth() &&
|
471
|
-
prevMonth.getUTCDate() == today.getDate()) {
|
472
|
-
clsName += ' today';
|
473
|
-
}
|
474
|
-
if (currentDate && prevMonth.valueOf() == currentDate) {
|
475
|
-
clsName += ' active';
|
476
|
-
}
|
477
|
-
if (prevMonth.valueOf() < this.startDate || prevMonth.valueOf() > this.endDate ||
|
478
|
-
$.inArray(prevMonth.getUTCDay(), this.daysOfWeekDisabled) !== -1) {
|
479
|
-
clsName += ' disabled';
|
480
|
-
}
|
481
|
-
html.push('<td class="day'+clsName+'">'+prevMonth.getUTCDate() + '</td>');
|
505
|
+
clsName = this.getClassNames(prevMonth);
|
506
|
+
clsName.push('day');
|
507
|
+
html.push('<td class="'+clsName.join(' ')+'">'+prevMonth.getUTCDate() + '</td>');
|
482
508
|
if (prevMonth.getUTCDay() == this.weekEnd) {
|
483
509
|
html.push('</tr>');
|
484
510
|
}
|
@@ -829,6 +855,57 @@
|
|
829
855
|
}
|
830
856
|
};
|
831
857
|
|
858
|
+
var DateRangePicker = function(element, options){
|
859
|
+
this.element = $(element);
|
860
|
+
this.inputs = $.map(options.inputs, function(i){ return i.jquery ? i[0] : i; });
|
861
|
+
delete options.inputs;
|
862
|
+
|
863
|
+
$(this.inputs)
|
864
|
+
.datepicker(options)
|
865
|
+
.bind('changeDate', $.proxy(this.dateUpdated, this));
|
866
|
+
|
867
|
+
this.pickers = $.map(this.inputs, function(i){ return $(i).data('datepicker'); });
|
868
|
+
this.updateDates();
|
869
|
+
};
|
870
|
+
DateRangePicker.prototype = {
|
871
|
+
updateDates: function(){
|
872
|
+
this.dates = $.map(this.pickers, function(i){ return i.date; });
|
873
|
+
this.updateRanges();
|
874
|
+
},
|
875
|
+
updateRanges: function(){
|
876
|
+
var range = $.map(this.dates, function(d){ return d.valueOf(); });
|
877
|
+
$.each(this.pickers, function(i, p){
|
878
|
+
p.setRange(range);
|
879
|
+
});
|
880
|
+
},
|
881
|
+
dateUpdated: function(e){
|
882
|
+
var dp = $(e.target).data('datepicker'),
|
883
|
+
new_date = e.date,
|
884
|
+
i = $.inArray(e.target, this.inputs),
|
885
|
+
l = this.inputs.length;
|
886
|
+
if (i == -1) return;
|
887
|
+
|
888
|
+
if (new_date < this.dates[i]){
|
889
|
+
// Date being moved earlier/left
|
890
|
+
while (i>=0 && new_date < this.dates[i]){
|
891
|
+
this.pickers[i--].setUTCDate(new_date);
|
892
|
+
}
|
893
|
+
}
|
894
|
+
else if (new_date > this.dates[i]){
|
895
|
+
// Date being moved later/right
|
896
|
+
while (i<l && new_date > this.dates[i]){
|
897
|
+
this.pickers[i++].setUTCDate(new_date);
|
898
|
+
}
|
899
|
+
}
|
900
|
+
this.updateDates();
|
901
|
+
},
|
902
|
+
remove: function(){
|
903
|
+
$.map(this.pickers, function(p){ p.remove(); });
|
904
|
+
delete this.element.data().datepicker;
|
905
|
+
}
|
906
|
+
};
|
907
|
+
|
908
|
+
var old = $.fn.datepicker;
|
832
909
|
$.fn.datepicker = function ( option ) {
|
833
910
|
var args = Array.apply(null, arguments);
|
834
911
|
args.shift();
|
@@ -837,7 +914,15 @@
|
|
837
914
|
data = $this.data('datepicker'),
|
838
915
|
options = typeof option == 'object' && option;
|
839
916
|
if (!data) {
|
840
|
-
$this.
|
917
|
+
if ($this.is('.input-daterange') || options.inputs){
|
918
|
+
var opts = {
|
919
|
+
inputs: options.inputs || $this.find('input').toArray()
|
920
|
+
};
|
921
|
+
$this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, $.fn.datepicker.defaults,options))));
|
922
|
+
}
|
923
|
+
else{
|
924
|
+
$this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options))));
|
925
|
+
}
|
841
926
|
}
|
842
927
|
if (typeof option == 'string' && typeof data[option] == 'function') {
|
843
928
|
data[option].apply(data, args);
|
@@ -1043,4 +1128,32 @@
|
|
1043
1128
|
|
1044
1129
|
$.fn.datepicker.DPGlobal = DPGlobal;
|
1045
1130
|
|
1131
|
+
|
1132
|
+
/* DATEPICKER NO CONFLICT
|
1133
|
+
* =================== */
|
1134
|
+
|
1135
|
+
$.fn.datepicker.noConflict = function(){
|
1136
|
+
$.fn.datepicker = old;
|
1137
|
+
return this;
|
1138
|
+
};
|
1139
|
+
|
1140
|
+
|
1141
|
+
/* DATEPICKER DATA-API
|
1142
|
+
* ================== */
|
1143
|
+
|
1144
|
+
$(document).on(
|
1145
|
+
'focus.datepicker.data-api click.datepicker.data-api',
|
1146
|
+
'[data-provide="datepicker"]',
|
1147
|
+
function(e){
|
1148
|
+
var $this = $(this);
|
1149
|
+
if ($this.data('datepicker')) return;
|
1150
|
+
e.preventDefault();
|
1151
|
+
// component click requires us to explicitly show it
|
1152
|
+
$this.datepicker('show');
|
1153
|
+
}
|
1154
|
+
);
|
1155
|
+
$(function(){
|
1156
|
+
$('[data-provide="datepicker-inline"]').datepicker();
|
1157
|
+
});
|
1158
|
+
|
1046
1159
|
}( window.jQuery );
|
@@ -145,6 +145,118 @@
|
|
145
145
|
.datepicker table tr td.today.disabled:hover.active {
|
146
146
|
background-color: #fbf069 \9;
|
147
147
|
}
|
148
|
+
.datepicker table tr td.range,
|
149
|
+
.datepicker table tr td.range:hover,
|
150
|
+
.datepicker table tr td.range.disabled,
|
151
|
+
.datepicker table tr td.range.disabled:hover {
|
152
|
+
background: #eeeeee;
|
153
|
+
-webkit-border-radius: 0;
|
154
|
+
-moz-border-radius: 0;
|
155
|
+
border-radius: 0;
|
156
|
+
}
|
157
|
+
.datepicker table tr td.range.today,
|
158
|
+
.datepicker table tr td.range.today:hover,
|
159
|
+
.datepicker table tr td.range.today.disabled,
|
160
|
+
.datepicker table tr td.range.today.disabled:hover {
|
161
|
+
background-color: #f3d17a;
|
162
|
+
background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
|
163
|
+
background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
|
164
|
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
|
165
|
+
background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
|
166
|
+
background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
|
167
|
+
background-image: linear-gradient(top, #f3c17a, #f3e97a);
|
168
|
+
background-repeat: repeat-x;
|
169
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
|
170
|
+
border-color: #f3e97a #f3e97a #edde34;
|
171
|
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
172
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
173
|
+
-webkit-border-radius: 0;
|
174
|
+
-moz-border-radius: 0;
|
175
|
+
border-radius: 0;
|
176
|
+
}
|
177
|
+
.datepicker table tr td.range.today:hover,
|
178
|
+
.datepicker table tr td.range.today:hover:hover,
|
179
|
+
.datepicker table tr td.range.today.disabled:hover,
|
180
|
+
.datepicker table tr td.range.today.disabled:hover:hover,
|
181
|
+
.datepicker table tr td.range.today:active,
|
182
|
+
.datepicker table tr td.range.today:hover:active,
|
183
|
+
.datepicker table tr td.range.today.disabled:active,
|
184
|
+
.datepicker table tr td.range.today.disabled:hover:active,
|
185
|
+
.datepicker table tr td.range.today.active,
|
186
|
+
.datepicker table tr td.range.today:hover.active,
|
187
|
+
.datepicker table tr td.range.today.disabled.active,
|
188
|
+
.datepicker table tr td.range.today.disabled:hover.active,
|
189
|
+
.datepicker table tr td.range.today.disabled,
|
190
|
+
.datepicker table tr td.range.today:hover.disabled,
|
191
|
+
.datepicker table tr td.range.today.disabled.disabled,
|
192
|
+
.datepicker table tr td.range.today.disabled:hover.disabled,
|
193
|
+
.datepicker table tr td.range.today[disabled],
|
194
|
+
.datepicker table tr td.range.today:hover[disabled],
|
195
|
+
.datepicker table tr td.range.today.disabled[disabled],
|
196
|
+
.datepicker table tr td.range.today.disabled:hover[disabled] {
|
197
|
+
background-color: #f3e97a;
|
198
|
+
}
|
199
|
+
.datepicker table tr td.range.today:active,
|
200
|
+
.datepicker table tr td.range.today:hover:active,
|
201
|
+
.datepicker table tr td.range.today.disabled:active,
|
202
|
+
.datepicker table tr td.range.today.disabled:hover:active,
|
203
|
+
.datepicker table tr td.range.today.active,
|
204
|
+
.datepicker table tr td.range.today:hover.active,
|
205
|
+
.datepicker table tr td.range.today.disabled.active,
|
206
|
+
.datepicker table tr td.range.today.disabled:hover.active {
|
207
|
+
background-color: #efe24b \9;
|
208
|
+
}
|
209
|
+
.datepicker table tr td.selected,
|
210
|
+
.datepicker table tr td.selected:hover,
|
211
|
+
.datepicker table tr td.selected.disabled,
|
212
|
+
.datepicker table tr td.selected.disabled:hover {
|
213
|
+
background-color: #9e9e9e;
|
214
|
+
background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
|
215
|
+
background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
|
216
|
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
|
217
|
+
background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
|
218
|
+
background-image: -o-linear-gradient(top, #b3b3b3, #808080);
|
219
|
+
background-image: linear-gradient(top, #b3b3b3, #808080);
|
220
|
+
background-repeat: repeat-x;
|
221
|
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
|
222
|
+
border-color: #808080 #808080 #595959;
|
223
|
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
224
|
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
225
|
+
color: #fff;
|
226
|
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
227
|
+
}
|
228
|
+
.datepicker table tr td.selected:hover,
|
229
|
+
.datepicker table tr td.selected:hover:hover,
|
230
|
+
.datepicker table tr td.selected.disabled:hover,
|
231
|
+
.datepicker table tr td.selected.disabled:hover:hover,
|
232
|
+
.datepicker table tr td.selected:active,
|
233
|
+
.datepicker table tr td.selected:hover:active,
|
234
|
+
.datepicker table tr td.selected.disabled:active,
|
235
|
+
.datepicker table tr td.selected.disabled:hover:active,
|
236
|
+
.datepicker table tr td.selected.active,
|
237
|
+
.datepicker table tr td.selected:hover.active,
|
238
|
+
.datepicker table tr td.selected.disabled.active,
|
239
|
+
.datepicker table tr td.selected.disabled:hover.active,
|
240
|
+
.datepicker table tr td.selected.disabled,
|
241
|
+
.datepicker table tr td.selected:hover.disabled,
|
242
|
+
.datepicker table tr td.selected.disabled.disabled,
|
243
|
+
.datepicker table tr td.selected.disabled:hover.disabled,
|
244
|
+
.datepicker table tr td.selected[disabled],
|
245
|
+
.datepicker table tr td.selected:hover[disabled],
|
246
|
+
.datepicker table tr td.selected.disabled[disabled],
|
247
|
+
.datepicker table tr td.selected.disabled:hover[disabled] {
|
248
|
+
background-color: #808080;
|
249
|
+
}
|
250
|
+
.datepicker table tr td.selected:active,
|
251
|
+
.datepicker table tr td.selected:hover:active,
|
252
|
+
.datepicker table tr td.selected.disabled:active,
|
253
|
+
.datepicker table tr td.selected.disabled:hover:active,
|
254
|
+
.datepicker table tr td.selected.active,
|
255
|
+
.datepicker table tr td.selected:hover.active,
|
256
|
+
.datepicker table tr td.selected.disabled.active,
|
257
|
+
.datepicker table tr td.selected.disabled:hover.active {
|
258
|
+
background-color: #666666 \9;
|
259
|
+
}
|
148
260
|
.datepicker table tr td.active,
|
149
261
|
.datepicker table tr td.active:hover,
|
150
262
|
.datepicker table tr td.active.disabled,
|
@@ -299,3 +411,32 @@
|
|
299
411
|
width: 16px;
|
300
412
|
height: 16px;
|
301
413
|
}
|
414
|
+
.input-daterange input {
|
415
|
+
text-align: center;
|
416
|
+
}
|
417
|
+
.input-daterange input:first-child {
|
418
|
+
-webkit-border-radius: 3px 0 0 3px;
|
419
|
+
-moz-border-radius: 3px 0 0 3px;
|
420
|
+
border-radius: 3px 0 0 3px;
|
421
|
+
}
|
422
|
+
.input-daterange input:last-child {
|
423
|
+
-webkit-border-radius: 0 3px 3px 0;
|
424
|
+
-moz-border-radius: 0 3px 3px 0;
|
425
|
+
border-radius: 0 3px 3px 0;
|
426
|
+
}
|
427
|
+
.input-daterange .add-on {
|
428
|
+
display: inline-block;
|
429
|
+
width: auto;
|
430
|
+
min-width: 16px;
|
431
|
+
height: 18px;
|
432
|
+
padding: 4px 5px;
|
433
|
+
font-weight: normal;
|
434
|
+
line-height: 18px;
|
435
|
+
text-align: center;
|
436
|
+
text-shadow: 0 1px 0 #ffffff;
|
437
|
+
vertical-align: middle;
|
438
|
+
background-color: #eeeeee;
|
439
|
+
border: 1px solid #ccc;
|
440
|
+
margin-left: -5px;
|
441
|
+
margin-right: -5px;
|
442
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-datepicker-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gonzalo Rodríguez-Baltanás Díaz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-04-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|