data_grid 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +3 -0
- data/CHANGELOG +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/Rakefile +1 -0
- data/app/assets/images/data_grid/calendar_view_month.png +0 -0
- data/app/assets/images/data_grid/csv.gif +0 -0
- data/app/assets/images/data_grid/delete.png +0 -0
- data/app/assets/images/data_grid/edit.png +0 -0
- data/app/assets/images/data_grid/no.png +0 -0
- data/app/assets/images/data_grid/sort_down.gif +0 -0
- data/app/assets/images/data_grid/sort_up.gif +0 -0
- data/app/assets/images/data_grid/yes.png +0 -0
- data/app/assets/javascripts/data_grid/data_grid.js +24 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar-setup.js +200 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar-setup_stripped.js +21 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar.js +1819 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar_original.js +1845 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar_patched.js +1819 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar_stripped.js +14 -0
- data/app/assets/javascripts/data_grid/grid_calendar/img.gif +0 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-af.js +39 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-al.js +101 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-bg.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-big5-utf8.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-big5.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-br.js +108 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ca.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-cs-utf8.js +65 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-cs-win.js +65 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-da.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-de.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-du.js +45 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-el.js +89 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-en.js +127 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-es.js +129 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-fi.js +98 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-fr.js +125 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-he-utf8.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-hr-utf8.js +49 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-hr.js +0 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-hu.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-it.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-jp.js +45 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ko-utf8.js +120 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ko.js +120 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-lt-utf8.js +114 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-lt.js +114 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-lv.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-nl.js +73 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-no.js +114 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-pl-utf8.js +93 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-pl.js +56 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-pt.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ro.js +66 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ru.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ru_win_.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-si.js +94 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-sk.js +99 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-sp.js +110 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-sv.js +93 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-tr.js +58 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-zh.js +119 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/cn_utf8.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/menuarrow.gif +0 -0
- data/app/assets/javascripts/data_grid/grid_calendar/menuarrow2.gif +0 -0
- data/app/assets/stylesheets/data_grid/data_grid.css +90 -0
- data/app/assets/stylesheets/data_grid/data_grid_3_0.css +90 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-blue.css +233 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-blue2.css +237 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-brown.css +226 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-green.css +230 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-system.css +252 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-tas.css +240 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-1.css +272 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-2.css +272 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-cold-1.css +266 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-cold-2.css +272 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/img.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/menuarrow.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/menuarrow2.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/active-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/dark-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/hover-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/menuarrow.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/normal-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/rowhover-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/status-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/theme.css +236 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/title-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/today-bg.gif +0 -0
- data/app/views/data_grid/_data_grid.html.erb +101 -0
- data/config/locales/en.yml +10 -0
- data/data_grid.gemspec +27 -0
- data/lib/data_grid/column.rb +38 -0
- data/lib/data_grid/controller.rb +30 -0
- data/lib/data_grid/cookies_state_saver.rb +42 -0
- data/lib/data_grid/csv_exporter.rb +79 -0
- data/lib/data_grid/data_grid_logic.rb +175 -0
- data/lib/data_grid/data_source_array.rb +267 -0
- data/lib/data_grid/data_source_orm.rb +207 -0
- data/lib/data_grid/engine.rb +19 -0
- data/lib/data_grid/summaries.rb +34 -0
- data/lib/data_grid/version.rb +3 -0
- data/lib/data_grid/view_helpers.rb +271 -0
- data/lib/data_grid.rb +43 -0
- data/lib/generators/data_grid/copy_view_generator.rb +16 -0
- data/lib/generators/data_grid/install_generator.rb +29 -0
- data/lib/generators/templates/data_grid.rb +29 -0
- data/lib/generators/templates/stylesheets/data_grid/data_grid_3_0.css +90 -0
- data/spec/orm_spec.rb +57 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/support/active_record.rb +17 -0
- metadata +118 -5
@@ -0,0 +1,233 @@
|
|
1
|
+
/* The main calendar widget. DIV containing a table. */
|
2
|
+
|
3
|
+
div.calendar { position: relative; z-index: 10000; }
|
4
|
+
|
5
|
+
.calendar, .calendar table {
|
6
|
+
border: 1px solid #556;
|
7
|
+
font-size: 11px;
|
8
|
+
color: #000;
|
9
|
+
cursor: default;
|
10
|
+
background: #eef;
|
11
|
+
font-family: tahoma,verdana,sans-serif;
|
12
|
+
}
|
13
|
+
|
14
|
+
/* Header part -- contains navigation buttons and day names. */
|
15
|
+
|
16
|
+
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
|
17
|
+
text-align: center; /* They are the navigation buttons */
|
18
|
+
padding: 2px; /* Make the buttons seem like they're pressing */
|
19
|
+
}
|
20
|
+
|
21
|
+
.calendar .nav {
|
22
|
+
background: #778 url(menuarrow.gif) no-repeat 100% 100%;
|
23
|
+
}
|
24
|
+
|
25
|
+
.calendar thead .title { /* This holds the current "month, year" */
|
26
|
+
font-weight: bold; /* Pressing it will take you to the current date */
|
27
|
+
text-align: center;
|
28
|
+
background: #fff;
|
29
|
+
color: #000;
|
30
|
+
padding: 2px;
|
31
|
+
}
|
32
|
+
|
33
|
+
.calendar thead .headrow { /* Row <TR> containing navigation buttons */
|
34
|
+
background: #778;
|
35
|
+
color: #fff;
|
36
|
+
}
|
37
|
+
|
38
|
+
.calendar thead .daynames { /* Row <TR> containing the day names */
|
39
|
+
background: #bdf;
|
40
|
+
}
|
41
|
+
|
42
|
+
.calendar thead .name { /* Cells <TD> containing the day names */
|
43
|
+
border-bottom: 1px solid #556;
|
44
|
+
padding: 2px;
|
45
|
+
text-align: center;
|
46
|
+
color: #000;
|
47
|
+
}
|
48
|
+
|
49
|
+
.calendar thead .weekend { /* How a weekend day name shows in header */
|
50
|
+
color: #a66;
|
51
|
+
}
|
52
|
+
|
53
|
+
.calendar thead .hilite { /* How do the buttons in header appear when hover */
|
54
|
+
background-color: #aaf;
|
55
|
+
color: #000;
|
56
|
+
border: 1px solid #04f;
|
57
|
+
padding: 1px;
|
58
|
+
}
|
59
|
+
|
60
|
+
.calendar thead .active { /* Active (pressed) buttons in header */
|
61
|
+
background-color: #77c;
|
62
|
+
padding: 2px 0px 0px 2px;
|
63
|
+
}
|
64
|
+
|
65
|
+
/* The body part -- contains all the days in month. */
|
66
|
+
|
67
|
+
.calendar tbody .day { /* Cells <TD> containing month days dates */
|
68
|
+
width: 2em;
|
69
|
+
color: #456;
|
70
|
+
text-align: right;
|
71
|
+
padding: 2px 4px 2px 2px;
|
72
|
+
}
|
73
|
+
.calendar tbody .day.othermonth {
|
74
|
+
font-size: 80%;
|
75
|
+
color: #bbb;
|
76
|
+
}
|
77
|
+
.calendar tbody .day.othermonth.oweekend {
|
78
|
+
color: #fbb;
|
79
|
+
}
|
80
|
+
|
81
|
+
.calendar table .wn {
|
82
|
+
padding: 2px 3px 2px 2px;
|
83
|
+
border-right: 1px solid #000;
|
84
|
+
background: #bdf;
|
85
|
+
}
|
86
|
+
|
87
|
+
.calendar tbody .rowhilite td {
|
88
|
+
background: #def;
|
89
|
+
}
|
90
|
+
|
91
|
+
.calendar tbody .rowhilite td.wn {
|
92
|
+
background: #eef;
|
93
|
+
}
|
94
|
+
|
95
|
+
.calendar tbody td.hilite { /* Hovered cells <TD> */
|
96
|
+
background: #def;
|
97
|
+
padding: 1px 3px 1px 1px;
|
98
|
+
border: 1px solid #bbb;
|
99
|
+
}
|
100
|
+
|
101
|
+
.calendar tbody td.active { /* Active (pressed) cells <TD> */
|
102
|
+
background: #cde;
|
103
|
+
padding: 2px 2px 0px 2px;
|
104
|
+
}
|
105
|
+
|
106
|
+
.calendar tbody td.selected { /* Cell showing today date */
|
107
|
+
font-weight: bold;
|
108
|
+
border: 1px solid #000;
|
109
|
+
padding: 1px 3px 1px 1px;
|
110
|
+
background: #fff;
|
111
|
+
color: #000;
|
112
|
+
}
|
113
|
+
|
114
|
+
.calendar tbody td.weekend { /* Cells showing weekend days */
|
115
|
+
color: #a66;
|
116
|
+
}
|
117
|
+
|
118
|
+
.calendar tbody td.today { /* Cell showing selected date */
|
119
|
+
font-weight: bold;
|
120
|
+
color: #00f;
|
121
|
+
}
|
122
|
+
|
123
|
+
.calendar tbody .disabled { color: #999; }
|
124
|
+
|
125
|
+
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
|
126
|
+
visibility: hidden;
|
127
|
+
}
|
128
|
+
|
129
|
+
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
|
130
|
+
display: none;
|
131
|
+
}
|
132
|
+
|
133
|
+
/* The footer part -- status bar and "Close" button */
|
134
|
+
|
135
|
+
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
|
136
|
+
text-align: center;
|
137
|
+
background: #556;
|
138
|
+
color: #fff;
|
139
|
+
}
|
140
|
+
|
141
|
+
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
|
142
|
+
background: #fff;
|
143
|
+
color: #445;
|
144
|
+
border-top: 1px solid #556;
|
145
|
+
padding: 1px;
|
146
|
+
}
|
147
|
+
|
148
|
+
.calendar tfoot .hilite { /* Hover style for buttons in footer */
|
149
|
+
background: #aaf;
|
150
|
+
border: 1px solid #04f;
|
151
|
+
color: #000;
|
152
|
+
padding: 1px;
|
153
|
+
}
|
154
|
+
|
155
|
+
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
|
156
|
+
background: #77c;
|
157
|
+
padding: 2px 0px 0px 2px;
|
158
|
+
}
|
159
|
+
|
160
|
+
/* Combo boxes (menus that display months/years for direct selection) */
|
161
|
+
|
162
|
+
.calendar .combo {
|
163
|
+
position: absolute;
|
164
|
+
display: none;
|
165
|
+
top: 0px;
|
166
|
+
left: 0px;
|
167
|
+
width: 4em;
|
168
|
+
cursor: default;
|
169
|
+
border: 1px solid #655;
|
170
|
+
background: #def;
|
171
|
+
color: #000;
|
172
|
+
font-size: 90%;
|
173
|
+
z-index: 100;
|
174
|
+
}
|
175
|
+
|
176
|
+
.calendar .combo .label,
|
177
|
+
.calendar .combo .label-IEfix {
|
178
|
+
text-align: center;
|
179
|
+
padding: 1px;
|
180
|
+
}
|
181
|
+
|
182
|
+
.calendar .combo .label-IEfix {
|
183
|
+
width: 4em;
|
184
|
+
}
|
185
|
+
|
186
|
+
.calendar .combo .hilite {
|
187
|
+
background: #acf;
|
188
|
+
}
|
189
|
+
|
190
|
+
.calendar .combo .active {
|
191
|
+
border-top: 1px solid #46a;
|
192
|
+
border-bottom: 1px solid #46a;
|
193
|
+
background: #eef;
|
194
|
+
font-weight: bold;
|
195
|
+
}
|
196
|
+
|
197
|
+
.calendar td.time {
|
198
|
+
border-top: 1px solid #000;
|
199
|
+
padding: 1px 0px;
|
200
|
+
text-align: center;
|
201
|
+
background-color: #f4f0e8;
|
202
|
+
}
|
203
|
+
|
204
|
+
.calendar td.time .hour,
|
205
|
+
.calendar td.time .minute,
|
206
|
+
.calendar td.time .ampm {
|
207
|
+
padding: 0px 3px 0px 4px;
|
208
|
+
border: 1px solid #889;
|
209
|
+
font-weight: bold;
|
210
|
+
background-color: #fff;
|
211
|
+
}
|
212
|
+
|
213
|
+
.calendar td.time .ampm {
|
214
|
+
text-align: center;
|
215
|
+
}
|
216
|
+
|
217
|
+
.calendar td.time .colon {
|
218
|
+
padding: 0px 2px 0px 3px;
|
219
|
+
font-weight: bold;
|
220
|
+
}
|
221
|
+
|
222
|
+
.calendar td.time span.hilite {
|
223
|
+
border-color: #000;
|
224
|
+
background-color: #667;
|
225
|
+
color: #fff;
|
226
|
+
}
|
227
|
+
|
228
|
+
.calendar td.time span.active {
|
229
|
+
border-color: #f00;
|
230
|
+
background-color: #000;
|
231
|
+
color: #0f0;
|
232
|
+
}
|
233
|
+
div.calendar table {width:auto;}
|
@@ -0,0 +1,237 @@
|
|
1
|
+
/* The main calendar widget. DIV containing a table. */
|
2
|
+
|
3
|
+
div.calendar { position: relative; }
|
4
|
+
|
5
|
+
.calendar, .calendar table {
|
6
|
+
border: 1px solid #206A9B;
|
7
|
+
font-size: 11px;
|
8
|
+
color: #000;
|
9
|
+
cursor: default;
|
10
|
+
background: #F1F8FC;
|
11
|
+
font-family: tahoma,verdana,sans-serif;
|
12
|
+
}
|
13
|
+
|
14
|
+
/* Header part -- contains navigation buttons and day names. */
|
15
|
+
|
16
|
+
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
|
17
|
+
text-align: center; /* They are the navigation buttons */
|
18
|
+
padding: 2px; /* Make the buttons seem like they're pressing */
|
19
|
+
}
|
20
|
+
|
21
|
+
.calendar .nav {
|
22
|
+
background: #007ED1 url(menuarrow2.gif) no-repeat 100% 100%;
|
23
|
+
}
|
24
|
+
|
25
|
+
.calendar thead .title { /* This holds the current "month, year" */
|
26
|
+
font-weight: bold; /* Pressing it will take you to the current date */
|
27
|
+
text-align: center;
|
28
|
+
background: #000;
|
29
|
+
color: #fff;
|
30
|
+
padding: 2px;
|
31
|
+
}
|
32
|
+
|
33
|
+
.calendar thead tr { /* Row <TR> containing navigation buttons */
|
34
|
+
background: #007ED1;
|
35
|
+
color: #fff;
|
36
|
+
}
|
37
|
+
|
38
|
+
.calendar thead .daynames { /* Row <TR> containing the day names */
|
39
|
+
background: #C7E1F3;
|
40
|
+
}
|
41
|
+
|
42
|
+
.calendar thead .name { /* Cells <TD> containing the day names */
|
43
|
+
border-bottom: 1px solid #206A9B;
|
44
|
+
padding: 2px;
|
45
|
+
text-align: center;
|
46
|
+
color: #000;
|
47
|
+
}
|
48
|
+
|
49
|
+
.calendar thead .weekend { /* How a weekend day name shows in header */
|
50
|
+
color: #a66;
|
51
|
+
}
|
52
|
+
|
53
|
+
.calendar thead .hilite { /* How do the buttons in header appear when hover */
|
54
|
+
background-color: #34ABFA;
|
55
|
+
color: #000;
|
56
|
+
border: 1px solid #016DC5;
|
57
|
+
padding: 1px;
|
58
|
+
}
|
59
|
+
|
60
|
+
.calendar thead .active { /* Active (pressed) buttons in header */
|
61
|
+
background-color: #006AA9;
|
62
|
+
border: 1px solid #008AFF;
|
63
|
+
padding: 2px 0px 0px 2px;
|
64
|
+
}
|
65
|
+
|
66
|
+
/* The body part -- contains all the days in month. */
|
67
|
+
|
68
|
+
.calendar tbody .day { /* Cells <TD> containing month days dates */
|
69
|
+
width: 2em;
|
70
|
+
color: #456;
|
71
|
+
text-align: right;
|
72
|
+
padding: 2px 4px 2px 2px;
|
73
|
+
}
|
74
|
+
.calendar tbody .day.othermonth {
|
75
|
+
font-size: 80%;
|
76
|
+
color: #bbb;
|
77
|
+
}
|
78
|
+
.calendar tbody .day.othermonth.oweekend {
|
79
|
+
color: #fbb;
|
80
|
+
}
|
81
|
+
|
82
|
+
.calendar table .wn {
|
83
|
+
padding: 2px 3px 2px 2px;
|
84
|
+
border-right: 1px solid #000;
|
85
|
+
background: #C7E1F3;
|
86
|
+
}
|
87
|
+
|
88
|
+
.calendar tbody .rowhilite td {
|
89
|
+
background: #def;
|
90
|
+
}
|
91
|
+
|
92
|
+
.calendar tbody .rowhilite td.wn {
|
93
|
+
background: #F1F8FC;
|
94
|
+
}
|
95
|
+
|
96
|
+
.calendar tbody td.hilite { /* Hovered cells <TD> */
|
97
|
+
background: #def;
|
98
|
+
padding: 1px 3px 1px 1px;
|
99
|
+
border: 1px solid #8FC4E8;
|
100
|
+
}
|
101
|
+
|
102
|
+
.calendar tbody td.active { /* Active (pressed) cells <TD> */
|
103
|
+
background: #cde;
|
104
|
+
padding: 2px 2px 0px 2px;
|
105
|
+
}
|
106
|
+
|
107
|
+
.calendar tbody td.selected { /* Cell showing today date */
|
108
|
+
font-weight: bold;
|
109
|
+
border: 1px solid #000;
|
110
|
+
padding: 1px 3px 1px 1px;
|
111
|
+
background: #fff;
|
112
|
+
color: #000;
|
113
|
+
}
|
114
|
+
|
115
|
+
.calendar tbody td.weekend { /* Cells showing weekend days */
|
116
|
+
color: #a66;
|
117
|
+
}
|
118
|
+
|
119
|
+
.calendar tbody td.today { /* Cell showing selected date */
|
120
|
+
font-weight: bold;
|
121
|
+
color: #D50000;
|
122
|
+
}
|
123
|
+
|
124
|
+
.calendar tbody .disabled { color: #999; }
|
125
|
+
|
126
|
+
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
|
127
|
+
visibility: hidden;
|
128
|
+
}
|
129
|
+
|
130
|
+
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
|
131
|
+
display: none;
|
132
|
+
}
|
133
|
+
|
134
|
+
/* The footer part -- status bar and "Close" button */
|
135
|
+
|
136
|
+
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
|
137
|
+
text-align: center;
|
138
|
+
background: #206A9B;
|
139
|
+
color: #fff;
|
140
|
+
}
|
141
|
+
|
142
|
+
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
|
143
|
+
background: #000;
|
144
|
+
color: #fff;
|
145
|
+
border-top: 1px solid #206A9B;
|
146
|
+
padding: 1px;
|
147
|
+
}
|
148
|
+
|
149
|
+
.calendar tfoot .hilite { /* Hover style for buttons in footer */
|
150
|
+
background: #B8DAF0;
|
151
|
+
border: 1px solid #178AEB;
|
152
|
+
color: #000;
|
153
|
+
padding: 1px;
|
154
|
+
}
|
155
|
+
|
156
|
+
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
|
157
|
+
background: #006AA9;
|
158
|
+
padding: 2px 0px 0px 2px;
|
159
|
+
}
|
160
|
+
|
161
|
+
/* Combo boxes (menus that display months/years for direct selection) */
|
162
|
+
|
163
|
+
.calendar .combo {
|
164
|
+
position: absolute;
|
165
|
+
display: none;
|
166
|
+
top: 0px;
|
167
|
+
left: 0px;
|
168
|
+
width: 4em;
|
169
|
+
cursor: default;
|
170
|
+
border: 1px solid #655;
|
171
|
+
background: #def;
|
172
|
+
color: #000;
|
173
|
+
font-size: 90%;
|
174
|
+
z-index: 100;
|
175
|
+
}
|
176
|
+
|
177
|
+
.calendar .combo .label,
|
178
|
+
.calendar .combo .label-IEfix {
|
179
|
+
text-align: center;
|
180
|
+
padding: 1px;
|
181
|
+
}
|
182
|
+
|
183
|
+
.calendar .combo .label-IEfix {
|
184
|
+
width: 4em;
|
185
|
+
}
|
186
|
+
|
187
|
+
.calendar .combo .hilite {
|
188
|
+
background: #34ABFA;
|
189
|
+
border-top: 1px solid #46a;
|
190
|
+
border-bottom: 1px solid #46a;
|
191
|
+
font-weight: bold;
|
192
|
+
}
|
193
|
+
|
194
|
+
.calendar .combo .active {
|
195
|
+
border-top: 1px solid #46a;
|
196
|
+
border-bottom: 1px solid #46a;
|
197
|
+
background: #F1F8FC;
|
198
|
+
font-weight: bold;
|
199
|
+
}
|
200
|
+
|
201
|
+
.calendar td.time {
|
202
|
+
border-top: 1px solid #000;
|
203
|
+
padding: 1px 0px;
|
204
|
+
text-align: center;
|
205
|
+
background-color: #E3F0F9;
|
206
|
+
}
|
207
|
+
|
208
|
+
.calendar td.time .hour,
|
209
|
+
.calendar td.time .minute,
|
210
|
+
.calendar td.time .ampm {
|
211
|
+
padding: 0px 3px 0px 4px;
|
212
|
+
border: 1px solid #889;
|
213
|
+
font-weight: bold;
|
214
|
+
background-color: #F1F8FC;
|
215
|
+
}
|
216
|
+
|
217
|
+
.calendar td.time .ampm {
|
218
|
+
text-align: center;
|
219
|
+
}
|
220
|
+
|
221
|
+
.calendar td.time .colon {
|
222
|
+
padding: 0px 2px 0px 3px;
|
223
|
+
font-weight: bold;
|
224
|
+
}
|
225
|
+
|
226
|
+
.calendar td.time span.hilite {
|
227
|
+
border-color: #000;
|
228
|
+
background-color: #267DB7;
|
229
|
+
color: #fff;
|
230
|
+
}
|
231
|
+
|
232
|
+
.calendar td.time span.active {
|
233
|
+
border-color: red;
|
234
|
+
background-color: #000;
|
235
|
+
color: #A5FF00;
|
236
|
+
}
|
237
|
+
div.calendar table {width:auto;}
|
@@ -0,0 +1,226 @@
|
|
1
|
+
/* The main calendar widget. DIV containing a table. */
|
2
|
+
|
3
|
+
div.calendar { position: relative; }
|
4
|
+
|
5
|
+
.calendar, .calendar table {
|
6
|
+
border: 1px solid #655;
|
7
|
+
font-size: 11px;
|
8
|
+
color: #000;
|
9
|
+
cursor: default;
|
10
|
+
background: #ffd;
|
11
|
+
font-family: tahoma,verdana,sans-serif;
|
12
|
+
}
|
13
|
+
|
14
|
+
/* Header part -- contains navigation buttons and day names. */
|
15
|
+
|
16
|
+
.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */
|
17
|
+
text-align: center; /* They are the navigation buttons */
|
18
|
+
padding: 2px; /* Make the buttons seem like they're pressing */
|
19
|
+
}
|
20
|
+
|
21
|
+
.calendar .nav {
|
22
|
+
background: #edc url(menuarrow.gif) no-repeat 100% 100%;
|
23
|
+
}
|
24
|
+
|
25
|
+
.calendar thead .title { /* This holds the current "month, year" */
|
26
|
+
font-weight: bold; /* Pressing it will take you to the current date */
|
27
|
+
text-align: center;
|
28
|
+
background: #654;
|
29
|
+
color: #fed;
|
30
|
+
padding: 2px;
|
31
|
+
}
|
32
|
+
|
33
|
+
.calendar thead .headrow { /* Row <TR> containing navigation buttons */
|
34
|
+
background: #edc;
|
35
|
+
color: #000;
|
36
|
+
}
|
37
|
+
|
38
|
+
.calendar thead .name { /* Cells <TD> containing the day names */
|
39
|
+
border-bottom: 1px solid #655;
|
40
|
+
padding: 2px;
|
41
|
+
text-align: center;
|
42
|
+
color: #000;
|
43
|
+
}
|
44
|
+
|
45
|
+
.calendar thead .weekend { /* How a weekend day name shows in header */
|
46
|
+
color: #f00;
|
47
|
+
}
|
48
|
+
|
49
|
+
.calendar thead .hilite { /* How do the buttons in header appear when hover */
|
50
|
+
background-color: #faa;
|
51
|
+
color: #000;
|
52
|
+
border: 1px solid #f40;
|
53
|
+
padding: 1px;
|
54
|
+
}
|
55
|
+
|
56
|
+
.calendar thead .active { /* Active (pressed) buttons in header */
|
57
|
+
background-color: #c77;
|
58
|
+
padding: 2px 0px 0px 2px;
|
59
|
+
}
|
60
|
+
|
61
|
+
.calendar thead .daynames { /* Row <TR> containing the day names */
|
62
|
+
background: #fed;
|
63
|
+
}
|
64
|
+
|
65
|
+
/* The body part -- contains all the days in month. */
|
66
|
+
|
67
|
+
.calendar tbody .day { /* Cells <TD> containing month days dates */
|
68
|
+
width: 2em;
|
69
|
+
text-align: right;
|
70
|
+
padding: 2px 4px 2px 2px;
|
71
|
+
}
|
72
|
+
.calendar tbody .day.othermonth {
|
73
|
+
font-size: 80%;
|
74
|
+
color: #bbb;
|
75
|
+
}
|
76
|
+
.calendar tbody .day.othermonth.oweekend {
|
77
|
+
color: #fbb;
|
78
|
+
}
|
79
|
+
|
80
|
+
.calendar table .wn {
|
81
|
+
padding: 2px 3px 2px 2px;
|
82
|
+
border-right: 1px solid #000;
|
83
|
+
background: #fed;
|
84
|
+
}
|
85
|
+
|
86
|
+
.calendar tbody .rowhilite td {
|
87
|
+
background: #ddf;
|
88
|
+
}
|
89
|
+
|
90
|
+
.calendar tbody .rowhilite td.wn {
|
91
|
+
background: #efe;
|
92
|
+
}
|
93
|
+
|
94
|
+
.calendar tbody td.hilite { /* Hovered cells <TD> */
|
95
|
+
background: #ffe;
|
96
|
+
padding: 1px 3px 1px 1px;
|
97
|
+
border: 1px solid #bbb;
|
98
|
+
}
|
99
|
+
|
100
|
+
.calendar tbody td.active { /* Active (pressed) cells <TD> */
|
101
|
+
background: #ddc;
|
102
|
+
padding: 2px 2px 0px 2px;
|
103
|
+
}
|
104
|
+
|
105
|
+
.calendar tbody td.selected { /* Cell showing today date */
|
106
|
+
font-weight: bold;
|
107
|
+
border: 1px solid #000;
|
108
|
+
padding: 1px 3px 1px 1px;
|
109
|
+
background: #fea;
|
110
|
+
}
|
111
|
+
|
112
|
+
.calendar tbody td.weekend { /* Cells showing weekend days */
|
113
|
+
color: #f00;
|
114
|
+
}
|
115
|
+
|
116
|
+
.calendar tbody td.today { font-weight: bold; }
|
117
|
+
|
118
|
+
.calendar tbody .disabled { color: #999; }
|
119
|
+
|
120
|
+
.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */
|
121
|
+
visibility: hidden;
|
122
|
+
}
|
123
|
+
|
124
|
+
.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */
|
125
|
+
display: none;
|
126
|
+
}
|
127
|
+
|
128
|
+
/* The footer part -- status bar and "Close" button */
|
129
|
+
|
130
|
+
.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */
|
131
|
+
text-align: center;
|
132
|
+
background: #988;
|
133
|
+
color: #000;
|
134
|
+
}
|
135
|
+
|
136
|
+
.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */
|
137
|
+
border-top: 1px solid #655;
|
138
|
+
background: #dcb;
|
139
|
+
color: #840;
|
140
|
+
}
|
141
|
+
|
142
|
+
.calendar tfoot .hilite { /* Hover style for buttons in footer */
|
143
|
+
background: #faa;
|
144
|
+
border: 1px solid #f40;
|
145
|
+
padding: 1px;
|
146
|
+
}
|
147
|
+
|
148
|
+
.calendar tfoot .active { /* Active (pressed) style for buttons in footer */
|
149
|
+
background: #c77;
|
150
|
+
padding: 2px 0px 0px 2px;
|
151
|
+
}
|
152
|
+
|
153
|
+
/* Combo boxes (menus that display months/years for direct selection) */
|
154
|
+
|
155
|
+
.calendar .combo {
|
156
|
+
position: absolute;
|
157
|
+
display: none;
|
158
|
+
top: 0px;
|
159
|
+
left: 0px;
|
160
|
+
width: 4em;
|
161
|
+
cursor: default;
|
162
|
+
border: 1px solid #655;
|
163
|
+
background: #ffe;
|
164
|
+
color: #000;
|
165
|
+
font-size: 90%;
|
166
|
+
z-index: 100;
|
167
|
+
}
|
168
|
+
|
169
|
+
.calendar .combo .label,
|
170
|
+
.calendar .combo .label-IEfix {
|
171
|
+
text-align: center;
|
172
|
+
padding: 1px;
|
173
|
+
}
|
174
|
+
|
175
|
+
.calendar .combo .label-IEfix {
|
176
|
+
width: 4em;
|
177
|
+
}
|
178
|
+
|
179
|
+
.calendar .combo .hilite {
|
180
|
+
background: #fc8;
|
181
|
+
}
|
182
|
+
|
183
|
+
.calendar .combo .active {
|
184
|
+
border-top: 1px solid #a64;
|
185
|
+
border-bottom: 1px solid #a64;
|
186
|
+
background: #fee;
|
187
|
+
font-weight: bold;
|
188
|
+
}
|
189
|
+
|
190
|
+
.calendar td.time {
|
191
|
+
border-top: 1px solid #a88;
|
192
|
+
padding: 1px 0px;
|
193
|
+
text-align: center;
|
194
|
+
background-color: #fed;
|
195
|
+
}
|
196
|
+
|
197
|
+
.calendar td.time .hour,
|
198
|
+
.calendar td.time .minute,
|
199
|
+
.calendar td.time .ampm {
|
200
|
+
padding: 0px 3px 0px 4px;
|
201
|
+
border: 1px solid #988;
|
202
|
+
font-weight: bold;
|
203
|
+
background-color: #fff;
|
204
|
+
}
|
205
|
+
|
206
|
+
.calendar td.time .ampm {
|
207
|
+
text-align: center;
|
208
|
+
}
|
209
|
+
|
210
|
+
.calendar td.time .colon {
|
211
|
+
padding: 0px 2px 0px 3px;
|
212
|
+
font-weight: bold;
|
213
|
+
}
|
214
|
+
|
215
|
+
.calendar td.time span.hilite {
|
216
|
+
border-color: #000;
|
217
|
+
background-color: #866;
|
218
|
+
color: #fff;
|
219
|
+
}
|
220
|
+
|
221
|
+
.calendar td.time span.active {
|
222
|
+
border-color: #f00;
|
223
|
+
background-color: #000;
|
224
|
+
color: #0f0;
|
225
|
+
}
|
226
|
+
div.calendar table {width:auto;}
|