rd_unobtrusive_date_picker 0.1.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.
Files changed (47) hide show
  1. data/MIT-LICENSE +19 -0
  2. data/Manifest +45 -0
  3. data/README.rdoc +165 -0
  4. data/Rakefile +29 -0
  5. data/about.yml +7 -0
  6. data/init.rb +8 -0
  7. data/install.rb +14 -0
  8. data/lib/12_hour_time.rb +102 -0
  9. data/lib/unobtrusive_date_picker.rb +407 -0
  10. data/public/images/backstripes.gif +0 -0
  11. data/public/images/bg_header.jpg +0 -0
  12. data/public/images/bullet1.gif +0 -0
  13. data/public/images/bullet2.gif +0 -0
  14. data/public/images/cal.gif +0 -0
  15. data/public/images/gradient-e5e5e5-ffffff.gif +0 -0
  16. data/public/javascripts/datepicker.js +1445 -0
  17. data/public/javascripts/lang/af.js +40 -0
  18. data/public/javascripts/lang/ar.js +50 -0
  19. data/public/javascripts/lang/de.js +40 -0
  20. data/public/javascripts/lang/du.js +40 -0
  21. data/public/javascripts/lang/en.js +42 -0
  22. data/public/javascripts/lang/es.js +41 -0
  23. data/public/javascripts/lang/fi.js +40 -0
  24. data/public/javascripts/lang/fr.js +44 -0
  25. data/public/javascripts/lang/gr.js +40 -0
  26. data/public/javascripts/lang/he.js +49 -0
  27. data/public/javascripts/lang/it.js +13 -0
  28. data/public/javascripts/lang/nl.js +40 -0
  29. data/public/javascripts/lang/no.js +40 -0
  30. data/public/javascripts/lang/pt.js +50 -0
  31. data/public/javascripts/lang/ro.js +40 -0
  32. data/public/javascripts/lang/ru.js +40 -0
  33. data/public/javascripts/lang/sp.js +40 -0
  34. data/public/javascripts/lang/sv.js +41 -0
  35. data/public/javascripts/lang/ua.js +40 -0
  36. data/public/stylesheets/datepicker.css +263 -0
  37. data/spec/date_picker_tag_spec.rb +122 -0
  38. data/spec/date_picker_text_field_spec.rb +54 -0
  39. data/spec/datepicker_html_class_options_spec.rb +281 -0
  40. data/spec/spec.opts +12 -0
  41. data/spec/spec_helper.rb +52 -0
  42. data/spec/tag_matcher.rb +142 -0
  43. data/spec/unobtrusive_date_picker_spec.rb +129 -0
  44. data/tasks/datepicker_tasks.rake +17 -0
  45. data/uninstall.rb +12 -0
  46. data/unobtrusive_date_picker.gemspec +30 -0
  47. metadata +116 -0
@@ -0,0 +1,40 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Januari",
4
+ "Februari",
5
+ "Maart",
6
+ "April",
7
+ "Mei",
8
+ "Juni",
9
+ "Juli",
10
+ "Augustus",
11
+ "September",
12
+ "Oktober",
13
+ "November",
14
+ "December"
15
+ ],
16
+ fullDay:[
17
+ "Maandag",
18
+ "Dinsdag",
19
+ "Woensdag",
20
+ "Donderdag",
21
+ "Vrijdag",
22
+ "Zaterdag",
23
+ "Zondag"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+
30
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
31
+
32
+ firstDayOfWeek:0,
33
+ */
34
+ titles:[
35
+ "Vorige Maand",
36
+ "Volgende Maand",
37
+ "Vorig jaar",
38
+ "Volgend jaar"
39
+ ]
40
+ };
@@ -0,0 +1,40 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Januar",
4
+ "Februar",
5
+ "Mars",
6
+ "April",
7
+ "Mai",
8
+ "Juni",
9
+ "Juli",
10
+ "August",
11
+ "September",
12
+ "Oktober",
13
+ "November",
14
+ "Desember"
15
+ ],
16
+ fullDay:[
17
+ "Mandag",
18
+ "Tirsdag",
19
+ "Onsdag",
20
+ "Torsdag",
21
+ "Fredag",
22
+ "L\u00f8rdag",
23
+ "S\u00f8ndag"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+
30
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
31
+
32
+ firstDayOfWeek:0,
33
+ */
34
+ titles:[
35
+ "Forrige m\u00e5ned",
36
+ "Neste m\u00e5ned",
37
+ "Forrige \u00e5r",
38
+ "Neste \u00e5r"
39
+ ]
40
+ };
@@ -0,0 +1,50 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Janeiro",
4
+ "Fevereiro",
5
+ "Mar\u00E7o",
6
+ "Abril",
7
+ "Maio",
8
+ "Junho",
9
+ "Julho",
10
+ "Agosto",
11
+ "Setembro",
12
+ "Outubro",
13
+ "Novembro",
14
+ "Dezembro"
15
+ ],
16
+ fullDay:[
17
+ "Segunda",
18
+ "Ter\u00E7a",
19
+ "Quarta",
20
+ "Quinta",
21
+ "Sexta",
22
+ "S\u00E1bado",
23
+ "Domingo"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+ dayAbbr:["Seg",
30
+ "Ter",
31
+ "Qua",
32
+ "Qui",
33
+ "Sex",
34
+ "Sab",
35
+ "Dom"],
36
+
37
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
38
+
39
+ firstDayOfWeek:0,
40
+ */
41
+ firstDayOfWeek:6,
42
+ titles:[
43
+ "M\u00EAs anterior",
44
+ "Pr\u00F3ximo m\u00EAs",
45
+ "Ano anterior",
46
+ "Pr\u00F3ximo ano",
47
+ "Hoje",
48
+ "Exibir calend\u00E1rio"
49
+ ]
50
+ };
@@ -0,0 +1,40 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Ianuarie",
4
+ "Februarie",
5
+ "Martie",
6
+ "Aprilie",
7
+ "Mai",
8
+ "Iunie",
9
+ "Iulie",
10
+ "August",
11
+ "Septembrie",
12
+ "Octombrie",
13
+ "Noiembrie",
14
+ "Decembrie"
15
+ ],
16
+ fullDay:[
17
+ "Luni",
18
+ "Mar\u0163i",
19
+ "Miercuri",
20
+ "Joi",
21
+ "Vineri",
22
+ "S\u00e2mb\u00e3t\u00e3",
23
+ "Duminic\u00e3"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+
30
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
31
+
32
+ firstDayOfWeek:0,
33
+ */
34
+ titles:[
35
+ "Luna anterioar\u00e3",
36
+ "Luna urm\u00e3toare",
37
+ "Anul anterior",
38
+ "Anul urm\u00e3tor"
39
+ ]
40
+ };
@@ -0,0 +1,40 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Январь",
4
+ "Февраль",
5
+ "Март",
6
+ "Апрель",
7
+ "Май",
8
+ "Июнь",
9
+ "Июль",
10
+ "Август",
11
+ "Сентябрь",
12
+ "Октябрь",
13
+ "Ноябрь",
14
+ "Декабрь"
15
+ ],
16
+ fullDay:[
17
+ "Понедельник",
18
+ "Вторник",
19
+ "Среда",
20
+ "Четверг",
21
+ "Пятница",
22
+ "Суббота",
23
+ "Воскресенье"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+
30
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
31
+
32
+ firstDayOfWeek:0,
33
+ */
34
+ titles:[
35
+ "Предыдущий месяц",
36
+ "Следующий месяц",
37
+ "Предыдущий год",
38
+ "Следующий год"
39
+ ]
40
+ };
@@ -0,0 +1,40 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Enero",
4
+ "Febrero",
5
+ "Marzo",
6
+ "Abril",
7
+ "Mayo",
8
+ "Junio",
9
+ "Julio",
10
+ "Agosto",
11
+ "Septiembre",
12
+ "Octubre",
13
+ "Noviembre",
14
+ "Diciembre"
15
+ ],
16
+ fullDay:[
17
+ "Lunes",
18
+ "Martes",
19
+ "Mi\u00e9rcoles",
20
+ "Jueves",
21
+ "Viernes",
22
+ "S\u00e1bado",
23
+ "Domingo"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+
30
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
31
+
32
+ firstDayOfWeek:0,
33
+ */
34
+ titles:[
35
+ "Mes Anterior",
36
+ "Mes Siguiente",
37
+ "A\u00f1o Anterior",
38
+ "A\u00f1o Siguiente"
39
+ ]
40
+ };
@@ -0,0 +1,41 @@
1
+ // Swedish
2
+ var fdLocale = {
3
+ months:[
4
+ "Januari",
5
+ "Februari",
6
+ "Mars",
7
+ "April",
8
+ "Maj",
9
+ "Juni",
10
+ "Juli",
11
+ "Augusti",
12
+ "September",
13
+ "Oktober",
14
+ "November",
15
+ "December"
16
+ ],
17
+ fullDay:[
18
+ "M\u00e5ndag",
19
+ "Tisdag",
20
+ "Onsdag",
21
+ "Torsdag",
22
+ "Fredag",
23
+ "L\u00f6rdag",
24
+ "S\u00f6ndag"
25
+ ],
26
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
27
+
28
+ dayAbbr:[],
29
+ */
30
+
31
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
32
+
33
+ firstDayOfWeek:0,
34
+ */
35
+ titles:[
36
+ "F\u00f6reg\u00e5ende m\u00e5nad",
37
+ "N\u00e4sta m\u00e5nad",
38
+ "F\u00f6reg\u00e5ende \u00e5r",
39
+ "N\u00e4sta \u00e5r"
40
+ ]
41
+ };
@@ -0,0 +1,40 @@
1
+ var fdLocale = {
2
+ months:[
3
+ "Січень",
4
+ "Лютий",
5
+ "Березень",
6
+ "Квітень",
7
+ "Травень",
8
+ "Червень",
9
+ "Липень",
10
+ "Серпень",
11
+ "Вересень",
12
+ "Жовтень",
13
+ "Листопад",
14
+ "Грудень"
15
+ ],
16
+ fullDay:[
17
+ "Понеділок",
18
+ "Вівторок",
19
+ "Середа",
20
+ "Четвер",
21
+ "П'ятниця",
22
+ "Субота",
23
+ "Неділя"
24
+ ],
25
+ /* Only stipulate the dayAbbr should the first letter of the fullDay not suffice
26
+
27
+ dayAbbr:[],
28
+ */
29
+
30
+ /* Only stipulate the firstDayOfWeek should the first day not be Monday
31
+
32
+ firstDayOfWeek:0,
33
+ */
34
+ titles:[
35
+ "Попередній місяць",
36
+ "Наступний місяць",
37
+ "Попередній рік",
38
+ "Наступний рік"
39
+ ]
40
+ };
@@ -0,0 +1,263 @@
1
+ /* This is a very basic stylesheet for the date-picker. Feel free to create your own. */
2
+
3
+ /* The wrapper div */
4
+ div.datePicker
5
+ {
6
+ position:absolute;
7
+ min-width:24em;
8
+ width:24em;
9
+ z-index:9999;
10
+ text-align:center;
11
+
12
+ /* Change the font-size to suit your design's CSS. The following line is for the demo that has a 12px font-size defined on the body tag */
13
+ font:900 0.8em/0.8em Verdana, Sans-Serif;
14
+
15
+ /* For Example: If using the YUI font CSS, uncomment the following line to get a 10px font-size within the datePicker */
16
+ /* font:900 77%/77% Verdana; */
17
+
18
+ background:transparent;
19
+
20
+ /* Mozilla & Webkit extensions to stop text-selection. Remove if you wish to validate the CSS */
21
+ -moz-user-select:none;
22
+ -khtml-user-select:none;
23
+ }
24
+ /* Styles for the static datePickers */
25
+ div.staticDP
26
+ {
27
+ position:relative;
28
+ top:5px;
29
+ left:0;
30
+ }
31
+ /* The iframe hack to cover selectlists in Internet Explorer <= v6 */
32
+ iframe.iehack
33
+ {
34
+ position:absolute;
35
+ background:#fff;
36
+ z-index:9998;
37
+ padding:0;
38
+ border:0;
39
+ display:none;
40
+ margin:0;
41
+ }
42
+ /* The "button" created beside each input for non-static datePickers */
43
+ a.date-picker-control:link,
44
+ a.date-picker-control:visited,
45
+ a.date-picker-control:hover,
46
+ a.date-picker-control:active,
47
+ a.date-picker-control:focus
48
+ {
49
+ /*position:relative;*/
50
+ /* Moz & FF */
51
+ display: -moz-inline-stack;
52
+ border:0 none;
53
+ padding:0;
54
+ margin:0 0 0 4px;
55
+ background:transparent url(/images/datepicker/cal.gif) no-repeat 50% 50%;
56
+ min-width:16px;
57
+ line-height:1;
58
+ cursor:pointer;
59
+ visibility:visible;
60
+ text-decoration:none;
61
+ vertical-align:middle;
62
+ }
63
+ /* Feed IE6 the following rule, IE7 should handle the min-width declared above */
64
+ * html a.date-picker-control
65
+ {
66
+ width:16px;
67
+ }
68
+ a.date-picker-control
69
+ {
70
+ /* IE, Safari & Opera. Seperate CSS rule seems to be required. */
71
+ display:inline-block;
72
+ }
73
+ a.date-picker-control span
74
+ {
75
+ display:block;
76
+ width:16px;
77
+ height:16px;
78
+ margin:auto 0;
79
+ }
80
+ /* The next & previous buttons */
81
+ div.datePicker th span
82
+ {
83
+ display:inline;
84
+ padding:0;
85
+ margin:0;
86
+ color:#000;
87
+ text-align:center;
88
+ line-height:1em;
89
+ border-width:0;
90
+ font-family: georgia, times new roman, palatino, times, bookman, serif;
91
+ background:transparent;
92
+ font-weight:bold;
93
+ cursor:pointer;
94
+ }
95
+ div.datePicker th span.month-display,
96
+ div.datePicker th span.year-display
97
+ {
98
+ text-transform:uppercase;
99
+ letter-spacing:1px;
100
+ font:normal 1.2em Verdana, Sans-Serif;
101
+ cursor:default;
102
+ }
103
+ div.datePicker th span.prev-but,
104
+ div.datePicker th span.next-but
105
+ {
106
+ font-size:1.8em;
107
+ cursor:pointer !important;
108
+ }
109
+
110
+ div.datePicker th span.today-but
111
+ {
112
+ text-align:center;
113
+ margin:0 auto;
114
+ font:normal 1em Verdana, Sans-Serif;
115
+ width:100%;
116
+ text-decoration:none;
117
+ line-height:1.6em;
118
+ text-transform:uppercase;
119
+ cursor:pointer !important
120
+ }
121
+ div.datePicker thead th span.fd-disabled
122
+ {
123
+ color:#aaa;
124
+ cursor:default !important;
125
+ }
126
+ /* The mon, tue, wed etc day buttons */
127
+ div.datePicker th span.fd-day-header
128
+ {
129
+ text-align:center;
130
+ margin:0 auto;
131
+ font:900 1em Verdana, Sans-Serif;
132
+ height:1.4em;
133
+ width:2em;
134
+ text-decoration:none;
135
+ text-transform:lowercase;
136
+ line-height:1.4em;
137
+ }
138
+ /* The table */
139
+ div.datePicker table
140
+ {
141
+ position:relative;
142
+ margin:0;
143
+ padding:0;
144
+ border:1px solid #ccc;
145
+ background:#fff url(/images/datepicker/gradient-e5e5e5-ffffff.gif) repeat-x 0 -20px;
146
+ text-align:center;
147
+ width:100%;
148
+ border-spacing:2px;
149
+ table-layout:fixed;
150
+ border-collapse:separate;
151
+ }
152
+ /* Common TD & TH styling */
153
+ div.datePicker table td
154
+ {
155
+ border:1px solid #ccc;
156
+ padding:0;
157
+ text-align:center;
158
+ vertical-align:middle;
159
+ /* Opera requires a line-height bigger than 1em in order to redraw properly */
160
+ line-height:1.2em;
161
+ cursor:pointer;
162
+ background:#fff url(/images/datepicker/gradient-e5e5e5-ffffff.gif) repeat-x 0 -40px;
163
+ width:3em;
164
+ height:3em !important;
165
+ height:2.8em;
166
+ outline:none;
167
+ }
168
+ div.datePicker table th
169
+ {
170
+ border:0 none;
171
+ padding:0;
172
+ line-height:1em;
173
+ font-weight:bold;
174
+ color:#222;
175
+ text-align:center;
176
+ vertical-align:middle;
177
+ }
178
+ div.datePicker table td.date-picker-unused
179
+ {
180
+ background:#fff url(/images/datepicker/backstripes.gif);
181
+ border-color:#dcdcdc;
182
+ padding:0;
183
+ cursor:default !important;
184
+ }
185
+ div.datePicker table thead th.date-picker-title
186
+ {
187
+ width:auto;
188
+ height:auto;
189
+ padding:0.4em 0;
190
+ }
191
+ /* The "mon tue wed etc" day header button styles */
192
+ div.datePicker table th.date-picker-day-header
193
+ {
194
+ text-transform:lowercase;
195
+ width:3em;
196
+ }
197
+ div.datePicker table th.date-picker-day-header span
198
+ {
199
+ display:block;
200
+ }
201
+ /* The "todays date" style */
202
+ div.datePicker table td.date-picker-today
203
+ {
204
+ background:#fff url(/images/datepicker/bullet2.gif) no-repeat 0 0;
205
+ color:rgb(100,100,100) !important;
206
+ }
207
+ /* The "selected date" style */
208
+ div.datePicker table td.date-picker-selected-date
209
+ {
210
+ color:#333 !important;
211
+ border-color:#333 !important;
212
+ }
213
+ /* the "highlight days" style */
214
+ td.date-picker-highlight
215
+ {
216
+ color:#a86666;
217
+ }
218
+ /* The date "out of range" style */
219
+ div.datePicker table td.out-of-range
220
+ {
221
+ color:#ccc !important;
222
+ font-style:oblique;
223
+ background:#fcfcfc !important;
224
+ cursor:default !important;
225
+ }
226
+ /* The "disabled days" style */
227
+ div.datePicker table td.day-disabled
228
+ {
229
+ color:#aaa !important;
230
+ background:transparent !important;
231
+ cursor:default !important;
232
+ }
233
+ /* The "active cursor" style */
234
+ div.datePicker table tbody td.date-picker-hover
235
+ {
236
+ background:#fff url(/images/datepicker/bg_header.jpg) no-repeat 0 0;
237
+ cursor:pointer;
238
+ border-color:rgb(100,130,170);
239
+ color:rgb(100,130,170);
240
+ }
241
+ /*
242
+ Quirksmode necessity?
243
+ ---------------------
244
+
245
+ If your HTML document renders in quirksmode (i.e. has no doctype declaration)
246
+ then uncomment the following CSS rule to set a less drastic font-size in IE
247
+
248
+ div.datePicker table th,
249
+ div.datePicker table td
250
+ {
251
+ font-size:100%;
252
+ }
253
+ */
254
+
255
+ /* Remove the images for Internet Explorer <= v6 using the "* html" hack */
256
+ * html div.datePicker table td
257
+ {
258
+ background-image:none;
259
+ }
260
+ * html div.datePicker table td.date-picker-unused
261
+ {
262
+ background:#f2f2f2;
263
+ }