| 5 |
5 |
*/
|
| 6 |
6 |
|
| 7 |
7 |
.gantt_subjects div > span.expander {
|
| 8 |
|
margin-left: 0;
|
|
8 |
margin-inline-start: 0;
|
| 9 |
9 |
cursor: pointer;
|
| 10 |
10 |
}
|
| 11 |
11 |
|
| 12 |
12 |
.gantt_subjects .avatar {
|
| 13 |
|
margin-right: 4px;
|
|
13 |
margin-inline-end: 4px;
|
| 14 |
14 |
}
|
| 15 |
15 |
|
| 16 |
16 |
.gantt_subjects div.project-name a,
|
| 17 |
17 |
.gantt_subjects div.version-name a {
|
| 18 |
|
margin-left: 4px;
|
|
18 |
margin-inline-start: 4px;
|
| 19 |
19 |
}
|
| 20 |
20 |
|
| 21 |
21 |
/***** Gantt chart *****/
|
| 22 |
22 |
table.gantt-table {
|
| 23 |
|
width: 100%;
|
|
23 |
inline-size: 100%;
|
| 24 |
24 |
border-collapse: collapse;
|
| 25 |
25 |
}
|
| 26 |
26 |
|
| ... | ... | |
| 30 |
30 |
|
| 31 |
31 |
.gantt_hdr {
|
| 32 |
32 |
position: absolute;
|
| 33 |
|
top: 0;
|
| 34 |
|
height: 16px;
|
| 35 |
|
border-top: 1px solid var(--oc-gray-4);
|
| 36 |
|
border-bottom: 1px solid var(--oc-gray-4);
|
| 37 |
|
border-left: 1px solid var(--oc-gray-4);
|
|
33 |
inset-block-start: 0;
|
|
34 |
block-size: 16px;
|
|
35 |
border-block: 1px solid var(--oc-gray-4);
|
|
36 |
border-inline-start: 1px solid var(--oc-gray-4);
|
| 38 |
37 |
text-align: center;
|
| 39 |
38 |
overflow: hidden;
|
| 40 |
39 |
}
|
| 41 |
40 |
|
| 42 |
41 |
#gantt_area .gantt_hdr {
|
| 43 |
|
border-left: 0;
|
| 44 |
|
border-right: 1px solid var(--oc-gray-4);
|
|
42 |
border-inline-start: 0;
|
|
43 |
border-inline-end: 1px solid var(--oc-gray-4);
|
| 45 |
44 |
}
|
| 46 |
45 |
|
| 47 |
46 |
.gantt_subjects_container:not(.draw_selected_columns) .gantt_hdr,
|
| 48 |
47 |
.last_gantt_selected_column .gantt_hdr {
|
| 49 |
|
border-right: 1px solid var(--oc-gray-4);
|
|
48 |
border-inline-end: 1px solid var(--oc-gray-4);
|
| 50 |
49 |
}
|
| 51 |
50 |
|
| 52 |
51 |
.last_gantt_selected_column .gantt_selected_column_container,
|
| ... | ... | |
| 73 |
72 |
.gantt_subjects div,
|
| 74 |
73 |
.gantt_selected_column_content div {
|
| 75 |
74 |
line-height: 16px;
|
| 76 |
|
height: 16px;
|
|
75 |
block-size: 16px;
|
| 77 |
76 |
overflow: hidden;
|
| 78 |
77 |
white-space: nowrap;
|
| 79 |
78 |
text-overflow: clip;
|
| 80 |
|
width: 100%;
|
|
79 |
inline-size: 100%;
|
| 81 |
80 |
}
|
| 82 |
81 |
|
| 83 |
82 |
.gantt_subjects div.issue-subject:hover {
|
| ... | ... | |
| 85 |
84 |
}
|
| 86 |
85 |
|
| 87 |
86 |
.gantt_selected_column_content > div {
|
| 88 |
|
padding-left: 3px;
|
|
87 |
padding-inline-start: 3px;
|
| 89 |
88 |
box-sizing: border-box;
|
| 90 |
89 |
}
|
| 91 |
90 |
|
| 92 |
91 |
.gantt_hdr_selected_column_name {
|
| 93 |
92 |
position: absolute;
|
| 94 |
|
top: 50%;
|
| 95 |
|
width: 100%;
|
|
93 |
inset-block-start: 50%;
|
|
94 |
inline-size: 100%;
|
| 96 |
95 |
transform: translateY(-50%);
|
| 97 |
96 |
-webkit-transform: translateY(-50%);
|
| 98 |
97 |
font-size: 0.8em;
|
| ... | ... | |
| 102 |
101 |
}
|
| 103 |
102 |
|
| 104 |
103 |
td.gantt_selected_column {
|
| 105 |
|
width: 50px;
|
|
104 |
inline-size: 50px;
|
| 106 |
105 |
}
|
| 107 |
106 |
|
| 108 |
107 |
td.gantt_selected_column .gantt_hdr,
|
| 109 |
108 |
.gantt_selected_column_container {
|
| 110 |
|
width: 49px;
|
|
109 |
inline-size: 49px;
|
| 111 |
110 |
}
|
| 112 |
111 |
|
| 113 |
112 |
td.gantt_watcher_users_column div.issue_watcher_users ul {
|
| ... | ... | |
| 127 |
126 |
|
| 128 |
127 |
.task {
|
| 129 |
128 |
position: absolute;
|
| 130 |
|
height: 8px;
|
|
129 |
block-size: 8px;
|
| 131 |
130 |
font-size: 0.8em;
|
| 132 |
131 |
color: var(--oc-gray-6);
|
| 133 |
132 |
padding: 0;
|
| ... | ... | |
| 137 |
136 |
}
|
| 138 |
137 |
|
| 139 |
138 |
.task.label {
|
| 140 |
|
width: 100%;
|
|
139 |
inline-size: 100%;
|
| 141 |
140 |
}
|
| 142 |
141 |
|
| 143 |
142 |
.task.label.project,
|
| ... | ... | |
| 163 |
162 |
.task_todo.parent {
|
| 164 |
163 |
background: var(--oc-gray-6);
|
| 165 |
164 |
border: 1px solid var(--oc-gray-6);
|
| 166 |
|
height: 3px;
|
|
165 |
block-size: 3px;
|
| 167 |
166 |
}
|
| 168 |
167 |
|
| 169 |
168 |
.task_late.parent,
|
| 170 |
169 |
.task_done.parent {
|
| 171 |
|
height: 3px;
|
|
170 |
block-size: 3px;
|
| 172 |
171 |
}
|
| 173 |
172 |
|
| 174 |
173 |
.task.parent.marker.starting {
|
| 175 |
174 |
position: absolute;
|
| 176 |
175 |
background: url(/task_parent_end.png) no-repeat 0 0;
|
| 177 |
|
width: 8px;
|
| 178 |
|
height: 16px;
|
| 179 |
|
margin-left: -4px;
|
| 180 |
|
left: 0;
|
| 181 |
|
top: -1px;
|
|
176 |
inline-size: 8px;
|
|
177 |
block-size: 16px;
|
|
178 |
margin-inline-start: -4px;
|
|
179 |
inset-inline-start: 0;
|
|
180 |
inset-block-start: -1px;
|
| 182 |
181 |
}
|
| 183 |
182 |
|
| 184 |
183 |
.task.parent.marker.ending {
|
| 185 |
184 |
position: absolute;
|
| 186 |
185 |
background: url(/task_parent_end.png) no-repeat 0 0;
|
| 187 |
|
width: 8px;
|
| 188 |
|
height: 16px;
|
| 189 |
|
margin-left: -4px;
|
| 190 |
|
right: 0;
|
| 191 |
|
top: -1px;
|
|
186 |
inline-size: 8px;
|
|
187 |
block-size: 16px;
|
|
188 |
margin-inline-start: -4px;
|
|
189 |
inset-inline-end: 0;
|
|
190 |
inset-block-start: -1px;
|
| 192 |
191 |
}
|
| 193 |
192 |
|
| 194 |
193 |
.version.task_late {
|
| 195 |
194 |
background: var(oc-red-5) url(/milestone_late.png);
|
| 196 |
195 |
border: 1px solid var(oc-red-5);
|
| 197 |
|
height: 2px;
|
| 198 |
|
margin-top: 3px;
|
|
196 |
block-size: 2px;
|
|
197 |
margin-block-start: 3px;
|
| 199 |
198 |
}
|
| 200 |
199 |
|
| 201 |
200 |
.version.task_done {
|
| 202 |
201 |
background: var(--oc-green-7) url(/milestone_done.png);
|
| 203 |
202 |
border: 1px solid var(--oc-green-7);
|
| 204 |
|
height: 2px;
|
| 205 |
|
margin-top: 3px;
|
|
203 |
block-size: 2px;
|
|
204 |
margin-block-start: 3px;
|
| 206 |
205 |
}
|
| 207 |
206 |
|
| 208 |
207 |
.version.task_todo {
|
| 209 |
208 |
background: var(--oc-white) url(/milestone_todo.png);
|
| 210 |
209 |
border: 1px solid var(--oc-white);
|
| 211 |
|
height: 2px;
|
| 212 |
|
margin-top: 3px;
|
|
210 |
block-size: 2px;
|
|
211 |
margin-block-start: 3px;
|
| 213 |
212 |
}
|
| 214 |
213 |
|
| 215 |
214 |
.version.marker {
|
| 216 |
215 |
background-image: url(/version_marker.png);
|
| 217 |
216 |
background-repeat: no-repeat;
|
| 218 |
217 |
border: 0;
|
| 219 |
|
margin-left: -4px;
|
| 220 |
|
margin-top: 1px;
|
|
218 |
margin-inline-start: -4px;
|
|
219 |
margin-block-start: 1px;
|
| 221 |
220 |
}
|
| 222 |
221 |
|
| 223 |
222 |
.project.task_late {
|
| 224 |
223 |
background: var(oc-red-5) url(/milestone_late.png);
|
| 225 |
224 |
border: 1px solid var(oc-red-5);
|
| 226 |
|
height: 2px;
|
| 227 |
|
margin-top: 3px;
|
|
225 |
block-size: 2px;
|
|
226 |
margin-block-start: 3px;
|
| 228 |
227 |
}
|
| 229 |
228 |
|
| 230 |
229 |
.project.task_done {
|
| 231 |
230 |
background: var(--oc-green-7) url(/milestone_done.png);
|
| 232 |
231 |
border: 1px solid var(--oc-green-7);
|
| 233 |
|
height: 2px;
|
| 234 |
|
margin-top: 3px;
|
|
232 |
block-size: 2px;
|
|
233 |
margin-block-start: 3px;
|
| 235 |
234 |
}
|
| 236 |
235 |
|
| 237 |
236 |
.project.task_todo {
|
| 238 |
237 |
background: var(--oc-white) url(/milestone_todo.png);
|
| 239 |
238 |
border: 1px solid var(--oc-white);
|
| 240 |
|
height: 2px;
|
| 241 |
|
margin-top: 3px;
|
|
239 |
block-size: 2px;
|
|
240 |
margin-block-start: 3px;
|
| 242 |
241 |
}
|
| 243 |
242 |
|
| 244 |
243 |
.project.marker {
|
| 245 |
244 |
background-image: url(/project_marker.png);
|
| 246 |
245 |
background-repeat: no-repeat;
|
| 247 |
246 |
border: 0;
|
| 248 |
|
margin-left: -4px;
|
| 249 |
|
margin-top: 1px;
|
|
247 |
margin-inline-start: -4px;
|
|
248 |
margin-block-start: 1px;
|
|
249 |
}
|
|
250 |
|
|
251 |
[dir="rtl"] :is(.marker, .task.parent.marker) {
|
|
252 |
background-position: right;
|
| 250 |
253 |
}
|
| 251 |
254 |
|
| 252 |
255 |
.version-behind-schedule a,
|
| ... | ... | |
| 259 |
262 |
.project-overdue a {
|
| 260 |
263 |
color: var(--oc-red-8);
|
| 261 |
264 |
}
|
| 262 |
|
|
| 263 |
|
/*
|
| 264 |
|
Limited RTL support moved from rtl.css
|
| 265 |
|
TODO: Remove when gantt.css uses logical properties to support both LTR and RTL
|
| 266 |
|
*/
|
| 267 |
|
[dir="rtl"] .gantt_hdr {
|
| 268 |
|
border-right:0px solid var(--oc-gray-4); border-left:1px solid var(--oc-gray-4);
|
| 269 |
|
}
|
| 270 |
|
|
| 271 |
|
[dir="rtl"] .task.parent.marker.starting {margin-left:0px; margin-right:-4px; left:auto; right:0;}
|
| 272 |
|
[dir="rtl"] .task.parent.marker.ending {margin-left:0px; margin-right:-4px; right:auto; left:0px;}
|
| 273 |
|
|
| 274 |
|
[dir="rtl"] .version.marker {margin-left:0; margin-right:-4px;}
|
| 275 |
|
|
| 276 |
|
[dir="rtl"] .project.marker {margin-left:0; margin-right:-4px;}
|