bootstrap-datepicker-rails 0.6.32 → 0.6.33

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.
Files changed (64) hide show
  1. data/lib/bootstrap-datepicker-rails/version.rb +1 -1
  2. data/testapp/.gitignore +16 -0
  3. data/testapp/Gemfile +18 -0
  4. data/testapp/README.rdoc +261 -0
  5. data/testapp/Rakefile +7 -0
  6. data/testapp/app/assets/images/rails.png +0 -0
  7. data/testapp/app/assets/javascripts/application.js +17 -0
  8. data/testapp/app/assets/javascripts/home.js.coffee +3 -0
  9. data/testapp/app/assets/stylesheets/application.css +15 -0
  10. data/testapp/app/controllers/application_controller.rb +3 -0
  11. data/testapp/app/controllers/home_controller.rb +4 -0
  12. data/testapp/app/helpers/application_helper.rb +2 -0
  13. data/testapp/app/helpers/home_helper.rb +2 -0
  14. data/testapp/app/mailers/.gitkeep +0 -0
  15. data/testapp/app/models/.gitkeep +0 -0
  16. data/testapp/app/views/home/index.html.erb +8 -0
  17. data/testapp/app/views/layouts/application.html.erb +14 -0
  18. data/testapp/config.ru +4 -0
  19. data/testapp/config/application.rb +59 -0
  20. data/testapp/config/boot.rb +6 -0
  21. data/testapp/config/database.yml +25 -0
  22. data/testapp/config/environment.rb +5 -0
  23. data/testapp/config/environments/development.rb +37 -0
  24. data/testapp/config/environments/production.rb +69 -0
  25. data/testapp/config/environments/test.rb +37 -0
  26. data/testapp/config/initializers/backtrace_silencers.rb +7 -0
  27. data/testapp/config/initializers/inflections.rb +15 -0
  28. data/testapp/config/initializers/mime_types.rb +5 -0
  29. data/testapp/config/initializers/secret_token.rb +7 -0
  30. data/testapp/config/initializers/session_store.rb +8 -0
  31. data/testapp/config/initializers/wrap_parameters.rb +14 -0
  32. data/testapp/config/locales/en.yml +5 -0
  33. data/testapp/config/routes.rb +62 -0
  34. data/testapp/db/seeds.rb +7 -0
  35. data/testapp/doc/README_FOR_APP +2 -0
  36. data/testapp/lib/assets/.gitkeep +0 -0
  37. data/testapp/lib/tasks/.gitkeep +0 -0
  38. data/testapp/log/.gitkeep +0 -0
  39. data/testapp/public/404.html +26 -0
  40. data/testapp/public/422.html +26 -0
  41. data/testapp/public/500.html +25 -0
  42. data/testapp/public/favicon.ico +0 -0
  43. data/testapp/public/robots.txt +5 -0
  44. data/testapp/script/rails +6 -0
  45. data/testapp/test/fixtures/.gitkeep +0 -0
  46. data/testapp/test/functional/.gitkeep +0 -0
  47. data/testapp/test/functional/home_controller_test.rb +9 -0
  48. data/testapp/test/integration/.gitkeep +0 -0
  49. data/testapp/test/performance/browsing_test.rb +12 -0
  50. data/testapp/test/test_helper.rb +13 -0
  51. data/testapp/test/unit/.gitkeep +0 -0
  52. data/testapp/test/unit/helpers/home_helper_test.rb +4 -0
  53. data/testapp/vendor/assets/javascripts/.gitkeep +0 -0
  54. data/testapp/vendor/assets/stylesheets/.gitkeep +0 -0
  55. data/testapp/vendor/plugins/.gitkeep +0 -0
  56. data/vendor/assets/javascripts/bootstrap-datepicker/core.js +76 -33
  57. data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.he.js +15 -0
  58. data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.hr.js +13 -0
  59. data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.lt.js +1 -0
  60. data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.pl.js +2 -1
  61. data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.js +14 -0
  62. data/vendor/assets/javascripts/bootstrap-datepicker/locales/bootstrap-datepicker.rs.js +14 -0
  63. data/vendor/assets/stylesheets/bootstrap-datepicker.css +131 -114
  64. metadata +62 -4
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class HomeControllerTest < ActionController::TestCase
4
+ test "should get index" do
5
+ get :index
6
+ assert_response :success
7
+ end
8
+
9
+ end
File without changes
@@ -0,0 +1,12 @@
1
+ require 'test_helper'
2
+ require 'rails/performance_test_help'
3
+
4
+ class BrowsingTest < ActionDispatch::PerformanceTest
5
+ # Refer to the documentation for all available options
6
+ # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory]
7
+ # :output => 'tmp/performance', :formats => [:flat] }
8
+
9
+ def test_homepage
10
+ get '/'
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path('../../config/environment', __FILE__)
3
+ require 'rails/test_help'
4
+
5
+ class ActiveSupport::TestCase
6
+ # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
7
+ #
8
+ # Note: You'll currently still have to declare fixtures explicitly in integration tests
9
+ # -- they do not yet inherit this setting
10
+ fixtures :all
11
+
12
+ # Add more helper methods to be used by all tests here...
13
+ end
File without changes
@@ -0,0 +1,4 @@
1
+ require 'test_helper'
2
+
3
+ class HomeHelperTest < ActionView::TestCase
4
+ end
File without changes
@@ -36,12 +36,9 @@
36
36
  this.element = $(element);
37
37
  this.language = options.language||this.element.data('date-language')||"en";
38
38
  this.language = this.language in dates ? this.language : "en";
39
+ this.isRTL = dates[this.language].rtl||false;
39
40
  this.format = DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy');
40
- this.picker = $(DPGlobal.template)
41
- .appendTo('body')
42
- .on({
43
- click: $.proxy(this.click, this)
44
- });
41
+ this.isInline = false;
45
42
  this.isInput = this.element.is('input');
46
43
  this.component = this.element.is('.date') ? this.element.find('.add-on') : false;
47
44
  this.hasInput = this.component && this.element.find('input').length;
@@ -57,9 +54,27 @@
57
54
  this.forceParse = this.element.data('date-force-parse');
58
55
  }
59
56
 
57
+
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
+
65
+ if(this.isInline) {
66
+ this.picker.addClass('datepicker-inline');
67
+ } else {
68
+ this.picker.addClass('datepicker-dropdown dropdown-menu');
69
+ }
70
+ if (this.isRTL){
71
+ this.picker.addClass('datepicker-rtl');
72
+ this.picker.find('.prev i, .next i')
73
+ .toggleClass('icon-arrow-left icon-arrow-right');
74
+ }
60
75
  $(document).on('mousedown', function (e) {
61
76
  // Clicked outside the datepicker, hide it
62
- if ($(e.target).closest('.datepicker').length == 0) {
77
+ if ($(e.target).closest('.datepicker').length === 0) {
63
78
  that.hide();
64
79
  }
65
80
  });
@@ -78,6 +93,7 @@
78
93
  this.keyboardNavigation = this.element.data('date-keyboard-navigation');
79
94
  }
80
95
 
96
+ this.viewMode = this.startViewMode = 0;
81
97
  switch(options.startView || this.element.data('date-start-view')){
82
98
  case 2:
83
99
  case 'decade':
@@ -87,11 +103,6 @@
87
103
  case 'year':
88
104
  this.viewMode = this.startViewMode = 1;
89
105
  break;
90
- case 0:
91
- case 'month':
92
- default:
93
- this.viewMode = this.startViewMode = 0;
94
- break;
95
106
  }
96
107
 
97
108
  this.todayBtn = (options.todayBtn||this.element.data('date-today-btn')||false);
@@ -109,6 +120,10 @@
109
120
  this.fillMonths();
110
121
  this.update();
111
122
  this.showMode();
123
+
124
+ if(this.isInline) {
125
+ this.show();
126
+ }
112
127
  };
113
128
 
114
129
  Datepicker.prototype = {
@@ -117,7 +132,7 @@
117
132
  _events: [],
118
133
  _attachEvents: function(){
119
134
  this._detachEvents();
120
- if (this.isInput) {
135
+ if (this.isInput) { // single input
121
136
  this._events = [
122
137
  [this.element, {
123
138
  focus: $.proxy(this.show, this),
@@ -126,7 +141,7 @@
126
141
  }]
127
142
  ];
128
143
  }
129
- else if (this.component && this.hasInput){
144
+ else if (this.component && this.hasInput){ // component: input + button
130
145
  this._events = [
131
146
  // For components that are not readonly, allow keyboard nav
132
147
  [this.element.find('input'), {
@@ -139,6 +154,9 @@
139
154
  }]
140
155
  ];
141
156
  }
157
+ else if (this.element.is('div')) { // inline datepicker
158
+ this.isInline = true;
159
+ }
142
160
  else {
143
161
  this._events = [
144
162
  [this.element, {
@@ -178,6 +196,7 @@
178
196
  },
179
197
 
180
198
  hide: function(e){
199
+ if(this.isInline) return;
181
200
  this.picker.hide();
182
201
  $(window).off('resize', this.place);
183
202
  this.viewMode = this.startViewMode;
@@ -208,7 +227,7 @@
208
227
 
209
228
  getDate: function() {
210
229
  var d = this.getUTCDate();
211
- return new Date(d.getTime() + (d.getTimezoneOffset()*60000))
230
+ return new Date(d.getTime() + (d.getTimezoneOffset()*60000));
212
231
  },
213
232
 
214
233
  getUTCDate: function() {
@@ -225,7 +244,7 @@
225
244
  },
226
245
 
227
246
  setValue: function() {
228
- var formatted = DPGlobal.formatDate(this.date, this.format, this.language);
247
+ var formatted = this.getFormattedDate();
229
248
  if (!this.isInput) {
230
249
  if (this.component){
231
250
  this.element.find('input').prop('value', formatted);
@@ -236,6 +255,11 @@
236
255
  }
237
256
  },
238
257
 
258
+ getFormattedDate: function(format) {
259
+ if(format == undefined) format = this.format;
260
+ return DPGlobal.formatDate(this.date, format, this.language);
261
+ },
262
+
239
263
  setStartDate: function(startDate){
240
264
  this.startDate = startDate||-Infinity;
241
265
  if (this.startDate !== -Infinity) {
@@ -267,6 +291,7 @@
267
291
  },
268
292
 
269
293
  place: function(){
294
+ if(this.isInline) return;
270
295
  var zIndex = parseInt(this.element.parents().filter(function() {
271
296
  return $(this).css('z-index') != 'auto';
272
297
  }).first().css('z-index'))+10;
@@ -279,10 +304,18 @@
279
304
  },
280
305
 
281
306
  update: function(){
282
- this.date = DPGlobal.parseDate(
283
- this.isInput ? this.element.prop('value') : this.element.data('date') || this.element.find('input').prop('value'),
284
- this.format, this.language
285
- );
307
+ var date, fromArgs = false;
308
+ if(arguments && arguments.length && (typeof arguments[0] === 'string' || arguments[0] instanceof Date)) {
309
+ date = arguments[0];
310
+ fromArgs = true;
311
+ } else {
312
+ date = this.isInput ? this.element.prop('value') : this.element.data('date') || this.element.find('input').prop('value');
313
+ }
314
+
315
+ this.date = DPGlobal.parseDate(date, this.format, this.language);
316
+
317
+ if(fromArgs) this.setValue();
318
+
286
319
  if (this.date < this.startDate) {
287
320
  this.viewDate = new Date(this.startDate);
288
321
  } else if (this.date > this.endDate) {
@@ -294,8 +327,8 @@
294
327
  },
295
328
 
296
329
  fillDow: function(){
297
- var dowCnt = this.weekStart;
298
- var html = '<tr>';
330
+ var dowCnt = this.weekStart,
331
+ html = '<tr>';
299
332
  while (dowCnt < this.weekStart + 7) {
300
333
  html += '<th class="dow">'+dates[this.language].daysMin[(dowCnt++)%7]+'</th>';
301
334
  }
@@ -304,8 +337,8 @@
304
337
  },
305
338
 
306
339
  fillMonths: function(){
307
- var html = '';
308
- var i = 0
340
+ var html = '',
341
+ i = 0;
309
342
  while (i < 12) {
310
343
  html += '<span class="month">'+dates[this.language].monthsShort[i++]+'</span>';
311
344
  }
@@ -464,10 +497,7 @@
464
497
  break;
465
498
  case 'today':
466
499
  var date = new Date();
467
- date.setUTCHours(0);
468
- date.setUTCMinutes(0);
469
- date.setUTCSeconds(0);
470
- date.setUTCMilliseconds(0);
500
+ date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
471
501
 
472
502
  this.showMode(-2);
473
503
  var which = this.todayBtn == 'linked' ? null : 'view';
@@ -503,7 +533,7 @@
503
533
  var year = this.viewDate.getUTCFullYear(),
504
534
  month = this.viewDate.getUTCMonth();
505
535
  if (target.is('.old')) {
506
- if (month == 0) {
536
+ if (month === 0) {
507
537
  month = 11;
508
538
  year -= 1;
509
539
  } else {
@@ -543,8 +573,8 @@
543
573
  }
544
574
  if (element) {
545
575
  element.change();
546
- if (this.autoclose) {
547
- this.hide();
576
+ if (this.autoclose && (!which || which == 'date')) {
577
+ this.hide();
548
578
  }
549
579
  }
550
580
  },
@@ -690,7 +720,17 @@
690
720
  if (dir) {
691
721
  this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir));
692
722
  }
693
- this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
723
+ /*
724
+ vitalets: fixing bug of very special conditions:
725
+ jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover.
726
+ Method show() does not set display css correctly and datepicker is not shown.
727
+ Changed to .css('display', 'block') solve the problem.
728
+ See https://github.com/vitalets/x-editable/issues/37
729
+
730
+ In jquery 1.7.2+ everything works fine.
731
+ */
732
+ //this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
733
+ this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display', 'block');
694
734
  this.updateNavArrows();
695
735
  }
696
736
  };
@@ -723,7 +763,7 @@
723
763
  monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
724
764
  today: "Today"
725
765
  }
726
- }
766
+ };
727
767
 
728
768
  var DPGlobal = {
729
769
  modes: [
@@ -873,7 +913,7 @@
873
913
  contTemplate: '<tbody><tr><td colspan="7"></td></tr></tbody>',
874
914
  footTemplate: '<tfoot><tr><th colspan="7" class="today"></th></tr></tfoot>'
875
915
  };
876
- DPGlobal.template = '<div class="datepicker dropdown-menu">'+
916
+ DPGlobal.template = '<div class="datepicker">'+
877
917
  '<div class="datepicker-days">'+
878
918
  '<table class=" table-condensed">'+
879
919
  DPGlobal.headTemplate+
@@ -896,4 +936,7 @@
896
936
  '</table>'+
897
937
  '</div>'+
898
938
  '</div>';
939
+
940
+ $.fn.datepicker.DPGlobal = DPGlobal;
941
+
899
942
  }( window.jQuery );
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Hebrew translation for bootstrap-datepicker
3
+ * Sagie Maoz <sagie@maoz.info>
4
+ */
5
+ ;(function($){
6
+ $.fn.datepicker.dates['he'] = {
7
+ days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"],
8
+ daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
9
+ daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"],
10
+ months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"],
11
+ monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"],
12
+ today: "היום",
13
+ rtl: true
14
+ };
15
+ }(jQuery));
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Croatian localisation
3
+ */
4
+ ;(function($){
5
+ $.fn.datepicker.dates['hr'] = {
6
+ days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"],
7
+ daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"],
8
+ daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"],
9
+ months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"],
10
+ monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"],
11
+ today: "Danas"
12
+ };
13
+ }(jQuery));
@@ -10,6 +10,7 @@
10
10
  daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"],
11
11
  months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"],
12
12
  monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"],
13
+ today: "Šiandien",
13
14
  weekStart: 1
14
15
  };
15
16
  }(jQuery));
@@ -9,6 +9,7 @@
9
9
  daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"],
10
10
  months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"],
11
11
  monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"],
12
- today: "Dzisiaj"
12
+ today: "Dzisiaj",
13
+ weekStart: 1
13
14
  };
14
15
  }(jQuery));
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Serbian latin translation for bootstrap-datepicker
3
+ * Bojan Milosavlević <milboj@gmail.com>
4
+ */
5
+ ;(function($){
6
+ $.fn.datepicker.dates['rs'] = {
7
+ days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"],
8
+ daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"],
9
+ daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"],
10
+ months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"],
11
+ monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"],
12
+ today: "Danas"
13
+ };
14
+ }(jQuery));
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Serbian cyrillic translation for bootstrap-datepicker
3
+ * Bojan Milosavlević <milboj@gmail.com>
4
+ */
5
+ ;(function($){
6
+ $.fn.datepicker.dates['rs'] = {
7
+ days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"],
8
+ daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"],
9
+ daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"],
10
+ months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"],
11
+ monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"],
12
+ today: "Данас"
13
+ };
14
+ }(jQuery));
@@ -8,19 +8,31 @@
8
8
  *
9
9
  */
10
10
  .datepicker {
11
- top: 0;
12
- left: 0;
13
11
  padding: 4px;
14
12
  margin-top: 1px;
15
13
  -webkit-border-radius: 4px;
16
14
  -moz-border-radius: 4px;
17
15
  border-radius: 4px;
16
+ direction: ltr;
18
17
  /*.dow {
19
18
  border-top: 1px solid #ddd !important;
20
19
  }*/
21
20
 
22
21
  }
23
- .datepicker:before {
22
+ .datepicker-inline {
23
+ width: 220px;
24
+ }
25
+ .datepicker.datepicker-rtl {
26
+ direction: rtl;
27
+ }
28
+ .datepicker.datepicker-rtl table tr td span {
29
+ float: right;
30
+ }
31
+ .datepicker-dropdown {
32
+ top: 0;
33
+ left: 0;
34
+ }
35
+ .datepicker-dropdown:before {
24
36
  content: '';
25
37
  display: inline-block;
26
38
  border-left: 7px solid transparent;
@@ -31,7 +43,7 @@
31
43
  top: -7px;
32
44
  left: 6px;
33
45
  }
34
- .datepicker:after {
46
+ .datepicker-dropdown:after {
35
47
  content: '';
36
48
  display: inline-block;
37
49
  border-left: 6px solid transparent;
@@ -64,25 +76,30 @@
64
76
  -webkit-border-radius: 4px;
65
77
  -moz-border-radius: 4px;
66
78
  border-radius: 4px;
79
+ border: none;
67
80
  }
68
- .datepicker td.day:hover {
81
+ .table-striped .datepicker table tr td,
82
+ .table-striped .datepicker table tr th {
83
+ background-color: transparent;
84
+ }
85
+ .datepicker table tr td.day:hover {
69
86
  background: #eeeeee;
70
87
  cursor: pointer;
71
88
  }
72
- .datepicker td.old,
73
- .datepicker td.new {
89
+ .datepicker table tr td.old,
90
+ .datepicker table tr td.new {
74
91
  color: #999999;
75
92
  }
76
- .datepicker td.disabled,
77
- .datepicker td.disabled:hover {
93
+ .datepicker table tr td.disabled,
94
+ .datepicker table tr td.disabled:hover {
78
95
  background: none;
79
96
  color: #999999;
80
97
  cursor: default;
81
98
  }
82
- .datepicker td.today,
83
- .datepicker td.today:hover,
84
- .datepicker td.today.disabled,
85
- .datepicker td.today.disabled:hover {
99
+ .datepicker table tr td.today,
100
+ .datepicker table tr td.today:hover,
101
+ .datepicker table tr td.today.disabled,
102
+ .datepicker table tr td.today.disabled:hover {
86
103
  background-color: #fde19a;
87
104
  background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
88
105
  background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
@@ -94,44 +111,44 @@
94
111
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
95
112
  border-color: #fdf59a #fdf59a #fbed50;
96
113
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
97
- filter: progid:dximagetransform.microsoft.gradient(enabled=false);
98
- }
99
- .datepicker td.today:hover,
100
- .datepicker td.today:hover:hover,
101
- .datepicker td.today.disabled:hover,
102
- .datepicker td.today.disabled:hover:hover,
103
- .datepicker td.today:active,
104
- .datepicker td.today:hover:active,
105
- .datepicker td.today.disabled:active,
106
- .datepicker td.today.disabled:hover:active,
107
- .datepicker td.today.active,
108
- .datepicker td.today:hover.active,
109
- .datepicker td.today.disabled.active,
110
- .datepicker td.today.disabled:hover.active,
111
- .datepicker td.today.disabled,
112
- .datepicker td.today:hover.disabled,
113
- .datepicker td.today.disabled.disabled,
114
- .datepicker td.today.disabled:hover.disabled,
115
- .datepicker td.today[disabled],
116
- .datepicker td.today:hover[disabled],
117
- .datepicker td.today.disabled[disabled],
118
- .datepicker td.today.disabled:hover[disabled] {
114
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
115
+ }
116
+ .datepicker table tr td.today:hover,
117
+ .datepicker table tr td.today:hover:hover,
118
+ .datepicker table tr td.today.disabled:hover,
119
+ .datepicker table tr td.today.disabled:hover:hover,
120
+ .datepicker table tr td.today:active,
121
+ .datepicker table tr td.today:hover:active,
122
+ .datepicker table tr td.today.disabled:active,
123
+ .datepicker table tr td.today.disabled:hover:active,
124
+ .datepicker table tr td.today.active,
125
+ .datepicker table tr td.today:hover.active,
126
+ .datepicker table tr td.today.disabled.active,
127
+ .datepicker table tr td.today.disabled:hover.active,
128
+ .datepicker table tr td.today.disabled,
129
+ .datepicker table tr td.today:hover.disabled,
130
+ .datepicker table tr td.today.disabled.disabled,
131
+ .datepicker table tr td.today.disabled:hover.disabled,
132
+ .datepicker table tr td.today[disabled],
133
+ .datepicker table tr td.today:hover[disabled],
134
+ .datepicker table tr td.today.disabled[disabled],
135
+ .datepicker table tr td.today.disabled:hover[disabled] {
119
136
  background-color: #fdf59a;
120
137
  }
121
- .datepicker td.today:active,
122
- .datepicker td.today:hover:active,
123
- .datepicker td.today.disabled:active,
124
- .datepicker td.today.disabled:hover:active,
125
- .datepicker td.today.active,
126
- .datepicker td.today:hover.active,
127
- .datepicker td.today.disabled.active,
128
- .datepicker td.today.disabled:hover.active {
138
+ .datepicker table tr td.today:active,
139
+ .datepicker table tr td.today:hover:active,
140
+ .datepicker table tr td.today.disabled:active,
141
+ .datepicker table tr td.today.disabled:hover:active,
142
+ .datepicker table tr td.today.active,
143
+ .datepicker table tr td.today:hover.active,
144
+ .datepicker table tr td.today.disabled.active,
145
+ .datepicker table tr td.today.disabled:hover.active {
129
146
  background-color: #fbf069 \9;
130
147
  }
131
- .datepicker td.active,
132
- .datepicker td.active:hover,
133
- .datepicker td.active.disabled,
134
- .datepicker td.active.disabled:hover {
148
+ .datepicker table tr td.active,
149
+ .datepicker table tr td.active:hover,
150
+ .datepicker table tr td.active.disabled,
151
+ .datepicker table tr td.active.disabled:hover {
135
152
  background-color: #006dcc;
136
153
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
137
154
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
@@ -143,43 +160,43 @@
143
160
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
144
161
  border-color: #0044cc #0044cc #002a80;
145
162
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
146
- filter: progid:dximagetransform.microsoft.gradient(enabled=false);
163
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
147
164
  color: #fff;
148
165
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
149
166
  }
150
- .datepicker td.active:hover,
151
- .datepicker td.active:hover:hover,
152
- .datepicker td.active.disabled:hover,
153
- .datepicker td.active.disabled:hover:hover,
154
- .datepicker td.active:active,
155
- .datepicker td.active:hover:active,
156
- .datepicker td.active.disabled:active,
157
- .datepicker td.active.disabled:hover:active,
158
- .datepicker td.active.active,
159
- .datepicker td.active:hover.active,
160
- .datepicker td.active.disabled.active,
161
- .datepicker td.active.disabled:hover.active,
162
- .datepicker td.active.disabled,
163
- .datepicker td.active:hover.disabled,
164
- .datepicker td.active.disabled.disabled,
165
- .datepicker td.active.disabled:hover.disabled,
166
- .datepicker td.active[disabled],
167
- .datepicker td.active:hover[disabled],
168
- .datepicker td.active.disabled[disabled],
169
- .datepicker td.active.disabled:hover[disabled] {
167
+ .datepicker table tr td.active:hover,
168
+ .datepicker table tr td.active:hover:hover,
169
+ .datepicker table tr td.active.disabled:hover,
170
+ .datepicker table tr td.active.disabled:hover:hover,
171
+ .datepicker table tr td.active:active,
172
+ .datepicker table tr td.active:hover:active,
173
+ .datepicker table tr td.active.disabled:active,
174
+ .datepicker table tr td.active.disabled:hover:active,
175
+ .datepicker table tr td.active.active,
176
+ .datepicker table tr td.active:hover.active,
177
+ .datepicker table tr td.active.disabled.active,
178
+ .datepicker table tr td.active.disabled:hover.active,
179
+ .datepicker table tr td.active.disabled,
180
+ .datepicker table tr td.active:hover.disabled,
181
+ .datepicker table tr td.active.disabled.disabled,
182
+ .datepicker table tr td.active.disabled:hover.disabled,
183
+ .datepicker table tr td.active[disabled],
184
+ .datepicker table tr td.active:hover[disabled],
185
+ .datepicker table tr td.active.disabled[disabled],
186
+ .datepicker table tr td.active.disabled:hover[disabled] {
170
187
  background-color: #0044cc;
171
188
  }
172
- .datepicker td.active:active,
173
- .datepicker td.active:hover:active,
174
- .datepicker td.active.disabled:active,
175
- .datepicker td.active.disabled:hover:active,
176
- .datepicker td.active.active,
177
- .datepicker td.active:hover.active,
178
- .datepicker td.active.disabled.active,
179
- .datepicker td.active.disabled:hover.active {
189
+ .datepicker table tr td.active:active,
190
+ .datepicker table tr td.active:hover:active,
191
+ .datepicker table tr td.active.disabled:active,
192
+ .datepicker table tr td.active.disabled:hover:active,
193
+ .datepicker table tr td.active.active,
194
+ .datepicker table tr td.active:hover.active,
195
+ .datepicker table tr td.active.disabled.active,
196
+ .datepicker table tr td.active.disabled:hover.active {
180
197
  background-color: #003399 \9;
181
198
  }
182
- .datepicker td span {
199
+ .datepicker table tr td span {
183
200
  display: block;
184
201
  width: 23%;
185
202
  height: 54px;
@@ -191,19 +208,19 @@
191
208
  -moz-border-radius: 4px;
192
209
  border-radius: 4px;
193
210
  }
194
- .datepicker td span:hover {
211
+ .datepicker table tr td span:hover {
195
212
  background: #eeeeee;
196
213
  }
197
- .datepicker td span.disabled,
198
- .datepicker td span.disabled:hover {
214
+ .datepicker table tr td span.disabled,
215
+ .datepicker table tr td span.disabled:hover {
199
216
  background: none;
200
217
  color: #999999;
201
218
  cursor: default;
202
219
  }
203
- .datepicker td span.active,
204
- .datepicker td span.active:hover,
205
- .datepicker td span.active.disabled,
206
- .datepicker td span.active.disabled:hover {
220
+ .datepicker table tr td span.active,
221
+ .datepicker table tr td span.active:hover,
222
+ .datepicker table tr td span.active.disabled,
223
+ .datepicker table tr td span.active.disabled:hover {
207
224
  background-color: #006dcc;
208
225
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
209
226
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
@@ -215,43 +232,43 @@
215
232
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
216
233
  border-color: #0044cc #0044cc #002a80;
217
234
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
218
- filter: progid:dximagetransform.microsoft.gradient(enabled=false);
235
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
219
236
  color: #fff;
220
237
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
221
238
  }
222
- .datepicker td span.active:hover,
223
- .datepicker td span.active:hover:hover,
224
- .datepicker td span.active.disabled:hover,
225
- .datepicker td span.active.disabled:hover:hover,
226
- .datepicker td span.active:active,
227
- .datepicker td span.active:hover:active,
228
- .datepicker td span.active.disabled:active,
229
- .datepicker td span.active.disabled:hover:active,
230
- .datepicker td span.active.active,
231
- .datepicker td span.active:hover.active,
232
- .datepicker td span.active.disabled.active,
233
- .datepicker td span.active.disabled:hover.active,
234
- .datepicker td span.active.disabled,
235
- .datepicker td span.active:hover.disabled,
236
- .datepicker td span.active.disabled.disabled,
237
- .datepicker td span.active.disabled:hover.disabled,
238
- .datepicker td span.active[disabled],
239
- .datepicker td span.active:hover[disabled],
240
- .datepicker td span.active.disabled[disabled],
241
- .datepicker td span.active.disabled:hover[disabled] {
239
+ .datepicker table tr td span.active:hover,
240
+ .datepicker table tr td span.active:hover:hover,
241
+ .datepicker table tr td span.active.disabled:hover,
242
+ .datepicker table tr td span.active.disabled:hover:hover,
243
+ .datepicker table tr td span.active:active,
244
+ .datepicker table tr td span.active:hover:active,
245
+ .datepicker table tr td span.active.disabled:active,
246
+ .datepicker table tr td span.active.disabled:hover:active,
247
+ .datepicker table tr td span.active.active,
248
+ .datepicker table tr td span.active:hover.active,
249
+ .datepicker table tr td span.active.disabled.active,
250
+ .datepicker table tr td span.active.disabled:hover.active,
251
+ .datepicker table tr td span.active.disabled,
252
+ .datepicker table tr td span.active:hover.disabled,
253
+ .datepicker table tr td span.active.disabled.disabled,
254
+ .datepicker table tr td span.active.disabled:hover.disabled,
255
+ .datepicker table tr td span.active[disabled],
256
+ .datepicker table tr td span.active:hover[disabled],
257
+ .datepicker table tr td span.active.disabled[disabled],
258
+ .datepicker table tr td span.active.disabled:hover[disabled] {
242
259
  background-color: #0044cc;
243
260
  }
244
- .datepicker td span.active:active,
245
- .datepicker td span.active:hover:active,
246
- .datepicker td span.active.disabled:active,
247
- .datepicker td span.active.disabled:hover:active,
248
- .datepicker td span.active.active,
249
- .datepicker td span.active:hover.active,
250
- .datepicker td span.active.disabled.active,
251
- .datepicker td span.active.disabled:hover.active {
261
+ .datepicker table tr td span.active:active,
262
+ .datepicker table tr td span.active:hover:active,
263
+ .datepicker table tr td span.active.disabled:active,
264
+ .datepicker table tr td span.active.disabled:hover:active,
265
+ .datepicker table tr td span.active.active,
266
+ .datepicker table tr td span.active:hover.active,
267
+ .datepicker table tr td span.active.disabled.active,
268
+ .datepicker table tr td span.active.disabled:hover.active {
252
269
  background-color: #003399 \9;
253
270
  }
254
- .datepicker td span.old {
271
+ .datepicker table tr td span.old {
255
272
  color: #999999;
256
273
  }
257
274
  .datepicker th.switch {