bootstrap-datepicker-rails 0.6.32 → 0.6.33

Sign up to get free protection for your applications and to get access to all the features.
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 {