1
|
/*******************************************************************************
|
2
|
* Common Styles for Fancytree Skins.
|
3
|
*
|
4
|
* This section is automatically generated from the `skin-common.less` template.
|
5
|
******************************************************************************/
|
6
|
|
7
|
// Variables (defaults, may be overwritten by the including .less files)
|
8
|
@fancy-use-sprites: true; // false: suppress all background images (i.e. icons)
|
9
|
@fancy-hide-connectors: true; // false: show vertical connector lines
|
10
|
|
11
|
@fancy-level-indent: 20px;
|
12
|
@fancy-line-height: 20px; // height of a nodes selection bar including borders
|
13
|
@fancy-node-v-spacing: 2px; // gap between two node borders
|
14
|
@fancy-icon-width: 16px;
|
15
|
@fancy-icon-height: 16px;
|
16
|
@fancy-icon-spacing: 3px; // margin between icon/icon or icon/title
|
17
|
@fancy-icon-ofs-top: 2px; // extra vertical offset for expander, checkbox and icon
|
18
|
@fancy-title-ofs-top: 0px; // extra vertical offset for title
|
19
|
@fancy-node-border-width: 1px;
|
20
|
@fancy-node-border-radius: 0px;
|
21
|
@fancy-node-outline-width: 1px;
|
22
|
|
23
|
// @fancy-line-ofs-top: (@fancy-line-height - @fancy-icon-height) / 2;
|
24
|
|
25
|
@fancy-image-dir: ".";
|
26
|
|
27
|
// Use 'url(...)' to link to the throbber image, or
|
28
|
// use data-uri(...)' to inline the data in css instead:
|
29
|
@fancy-loading-url: url("@{fancy-image-dir}/loading.gif");
|
30
|
// @fancy-loading-url: data-uri("@{fancy-image-dir}/loading.gif");
|
31
|
|
32
|
// Set to `true` to use `data-uri(...)` instead of a `url(...)` link:
|
33
|
@fancy-inline-sprites: false;
|
34
|
|
35
|
@fancy-font-size: 10pt;
|
36
|
@fancy-font-family: "Roboto", sans-serif;
|
37
|
@fancy-font-color: #212121;
|
38
|
@fancy-font-color-dimm: #aaa;
|
39
|
@fancy-font-error-color: #e53935;
|
40
|
|
41
|
//------------------------------------------------------------------------------
|
42
|
// Mixins
|
43
|
//------------------------------------------------------------------------------
|
44
|
.setBgPos(@x, @y, @cond:true) when (@cond){
|
45
|
background-position: (@x * -@fancy-icon-width) (@y * -@fancy-icon-height);
|
46
|
}
|
47
|
.clearBgImage(@cond:true) when (@cond){
|
48
|
background-image: none;
|
49
|
}
|
50
|
.setBgImageUrl(@url) when (@fancy-use-sprites) and not (@fancy-inline-sprites) {
|
51
|
background-image: url("@{fancy-image-dir}/@{url}");
|
52
|
}
|
53
|
.setBgImageUrl(@url) when (@fancy-use-sprites) and (@fancy-inline-sprites) {
|
54
|
background-image: data-uri("@{fancy-image-dir}/@{url}");
|
55
|
}
|
56
|
.useSprite(@x, @y) when (@fancy-use-sprites){
|
57
|
.setBgPos(@x, @y);
|
58
|
}
|
59
|
.rounded-corners(@radius) {
|
60
|
-webkit-border-radius: @radius;
|
61
|
-moz-border-radius: @radius;
|
62
|
-ms-border-radius: @radius;
|
63
|
-o-border-radius: @radius;
|
64
|
border-radius: @radius;
|
65
|
}
|
66
|
.spanStyleMixin(@color, @bgcolor, @bordercolor){
|
67
|
border-color: @bordercolor;
|
68
|
background: @bgcolor;
|
69
|
color: @color;
|
70
|
}
|
71
|
.spanStyleMixin(@color, @bgcolor, @bordercolor, @startColor, @stopColor){
|
72
|
.spanStyleMixin(@color, @bgcolor, @bordercolor);
|
73
|
// @c-start: argb(@startColor);
|
74
|
// @c-end: argb(@stopColor);
|
75
|
background: -moz-linear-gradient(top, @startColor 0%, @stopColor 100%); // FF3.6+
|
76
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,@startColor), color-stop(100%,@stopColor)); // Chrome,Safari4+
|
77
|
background: -webkit-linear-gradient(top, @startColor 0%,@stopColor 100%); // Chrome10+,Safari5.1+
|
78
|
background: -o-linear-gradient(top, @startColor 0%,@stopColor 100%); // Opera 11.10+
|
79
|
background: -ms-linear-gradient(top, @startColor 0%,@stopColor 100%); // IE10+
|
80
|
background: linear-gradient(to bottom, @startColor 0%,@stopColor 100%); // W3C
|
81
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{startColor}', endColorstr='@{stopColor}',GradientType=0 ); // IE6-9
|
82
|
}
|
83
|
|
84
|
/*------------------------------------------------------------------------------
|
85
|
* Helpers
|
86
|
*----------------------------------------------------------------------------*/
|
87
|
// Redefine, in case jQuery-UI is not included
|
88
|
.ui-helper-hidden {
|
89
|
display: none;
|
90
|
}
|
91
|
|
92
|
/*------------------------------------------------------------------------------
|
93
|
* Container and UL / LI
|
94
|
*----------------------------------------------------------------------------*/
|
95
|
|
96
|
ul.fancytree-container {
|
97
|
font-family: @fancy-font-family;
|
98
|
font-size: @fancy-font-size;
|
99
|
white-space: nowrap;
|
100
|
padding: 4px;
|
101
|
margin: 0; // DT issue 201
|
102
|
background-color: white;
|
103
|
border: 1px dashed #e0e0e0;
|
104
|
overflow: auto;
|
105
|
// height: 100%; // DT issue 263, 470
|
106
|
min-height: 0; // #192
|
107
|
position: relative; // #235
|
108
|
outline: none;
|
109
|
ul {
|
110
|
padding: 0 0 0 @fancy-level-indent;
|
111
|
margin: 0;
|
112
|
}
|
113
|
ul>li:before { // #538
|
114
|
content: none;
|
115
|
}
|
116
|
li {
|
117
|
list-style-image: none;
|
118
|
list-style-position: outside;
|
119
|
list-style-type: none;
|
120
|
-moz-background-clip: border;
|
121
|
-moz-background-inline-policy: continuous;
|
122
|
-moz-background-origin: padding;
|
123
|
background-attachment: scroll;
|
124
|
background-color: transparent;
|
125
|
.setBgPos(0, 0);
|
126
|
background-repeat: repeat-y;
|
127
|
background-image: none; // no v-lines
|
128
|
|
129
|
margin: 0;
|
130
|
// padding: 1px 0 0 0; // issue #246
|
131
|
}
|
132
|
// Suppress lines for last child node
|
133
|
li.fancytree-lastsib {
|
134
|
background-image: none;
|
135
|
}
|
136
|
}
|
137
|
|
138
|
// Suppress lines if level is fixed expanded (option minExpandLevel)
|
139
|
ul.fancytree-no-connector > li {
|
140
|
background-image: none;
|
141
|
}
|
142
|
|
143
|
// Style, when control is disabled
|
144
|
.ui-fancytree-disabled ul.fancytree-container {
|
145
|
opacity: 0.5;
|
146
|
// filter: alpha(opacity=50); // Yields a css warning
|
147
|
background-color: silver;
|
148
|
}
|
149
|
|
150
|
/*------------------------------------------------------------------------------
|
151
|
* Common icon definitions
|
152
|
*----------------------------------------------------------------------------*/
|
153
|
|
154
|
span.fancytree-empty,
|
155
|
span.fancytree-vline,
|
156
|
span.fancytree-expander,
|
157
|
span.fancytree-icon,
|
158
|
span.fancytree-checkbox,
|
159
|
span.fancytree-radio,
|
160
|
span.fancytree-drag-helper-img,
|
161
|
#fancytree-drop-marker {
|
162
|
width: @fancy-icon-width;
|
163
|
height: @fancy-icon-height;
|
164
|
// display: -moz-inline-box; // @ FF 1+2 removed for issue 221
|
165
|
// -moz-box-align: start; /* issue 221 */
|
166
|
display: inline-block; // Required to make a span sizeable
|
167
|
vertical-align: top;
|
168
|
background-repeat: no-repeat;
|
169
|
background-position: left;
|
170
|
.setBgImageUrl("icons.png");
|
171
|
.setBgPos(0, 0);
|
172
|
}
|
173
|
span.fancytree-icon,
|
174
|
span.fancytree-checkbox,
|
175
|
span.fancytree-expander,
|
176
|
span.fancytree-radio,
|
177
|
span.fancytree-custom-icon {
|
178
|
margin-top: @fancy-icon-ofs-top;
|
179
|
}
|
180
|
/* Used by icon option: */
|
181
|
span.fancytree-custom-icon {
|
182
|
display: inline-block;
|
183
|
margin-left: @fancy-icon-spacing;
|
184
|
.setBgPos(0, 0);
|
185
|
}
|
186
|
/* Used by 'icon' node option: */
|
187
|
img.fancytree-icon {
|
188
|
width: @fancy-icon-width;
|
189
|
height: @fancy-icon-height;
|
190
|
margin-left: @fancy-icon-spacing;
|
191
|
margin-top: @fancy-icon-ofs-top;
|
192
|
vertical-align: top;
|
193
|
border-style: none;
|
194
|
}
|
195
|
|
196
|
|
197
|
/*------------------------------------------------------------------------------
|
198
|
* Expander icon
|
199
|
*
|
200
|
* Note: IE6 doesn't correctly evaluate multiples class names,
|
201
|
* so we create combined class names that can be used in the CSS.
|
202
|
*
|
203
|
* Prefix: fancytree-exp-
|
204
|
* 1st character: 'e': expanded, 'c': collapsed, 'n': no children
|
205
|
* 2nd character (optional): 'd': lazy (Delayed)
|
206
|
* 3rd character (optional): 'l': Last sibling
|
207
|
*----------------------------------------------------------------------------*/
|
208
|
|
209
|
span.fancytree-expander {
|
210
|
// .useSprite(0, 5);
|
211
|
cursor: pointer;
|
212
|
}
|
213
|
// span.fancytree-expander:hover {
|
214
|
// // .useSprite(1, 5);
|
215
|
// }
|
216
|
|
217
|
// --- End nodes (use connectors instead of expanders)
|
218
|
|
219
|
.fancytree-exp-n span.fancytree-expander,
|
220
|
.fancytree-exp-nl span.fancytree-expander {
|
221
|
.clearBgImage( @fancy-hide-connectors );
|
222
|
cursor: default;
|
223
|
}
|
224
|
.fancytree-exp-n span.fancytree-expander, // End-node, not last sibling
|
225
|
.fancytree-exp-n span.fancytree-expander:hover {
|
226
|
.useSprite(0, 4);
|
227
|
}
|
228
|
.fancytree-exp-nl span.fancytree-expander, // End-node, last sibling
|
229
|
.fancytree-exp-nl span.fancytree-expander:hover {
|
230
|
.useSprite(1, 4);
|
231
|
}
|
232
|
|
233
|
// --- Collapsed
|
234
|
|
235
|
.fancytree-exp-c span.fancytree-expander { // Collapsed, not delayed, not last sibling
|
236
|
.useSprite(0, 5);
|
237
|
}
|
238
|
.fancytree-exp-c span.fancytree-expander:hover {
|
239
|
.useSprite(1, 5);
|
240
|
}
|
241
|
.fancytree-exp-cl span.fancytree-expander { // Collapsed, not delayed, last sibling
|
242
|
.useSprite(0, 6);
|
243
|
}
|
244
|
.fancytree-exp-cl span.fancytree-expander:hover {
|
245
|
.useSprite(1, 6);
|
246
|
}
|
247
|
.fancytree-exp-cd span.fancytree-expander { // Collapsed, delayed, not last sibling
|
248
|
.useSprite(4, 5);
|
249
|
}
|
250
|
.fancytree-exp-cd span.fancytree-expander:hover {
|
251
|
.useSprite(5, 5);
|
252
|
}
|
253
|
.fancytree-exp-cdl span.fancytree-expander { // Collapsed, delayed, last sibling
|
254
|
.useSprite(4, 6);
|
255
|
}
|
256
|
.fancytree-exp-cdl span.fancytree-expander:hover {
|
257
|
.useSprite(5, 6);
|
258
|
}
|
259
|
|
260
|
// --- Expanded
|
261
|
|
262
|
.fancytree-exp-e span.fancytree-expander, // Expanded, not delayed, not last sibling
|
263
|
.fancytree-exp-ed span.fancytree-expander { // Expanded, delayed, not last sibling
|
264
|
.useSprite(2, 5);
|
265
|
}
|
266
|
.fancytree-exp-e span.fancytree-expander:hover,
|
267
|
.fancytree-exp-ed span.fancytree-expander:hover {
|
268
|
.useSprite(3, 5);
|
269
|
}
|
270
|
.fancytree-exp-el span.fancytree-expander, // Expanded, not delayed, last sibling
|
271
|
.fancytree-exp-edl span.fancytree-expander { // Expanded, delayed, last sibling
|
272
|
.useSprite(2, 6);
|
273
|
}
|
274
|
.fancytree-exp-el span.fancytree-expander:hover,
|
275
|
.fancytree-exp-edl span.fancytree-expander:hover {
|
276
|
.useSprite(3, 6);
|
277
|
}
|
278
|
|
279
|
/*------------------------------------------------------------------------------
|
280
|
* Checkbox icon
|
281
|
*----------------------------------------------------------------------------*/
|
282
|
|
283
|
span.fancytree-checkbox {
|
284
|
margin-left: @fancy-icon-spacing;
|
285
|
cursor: pointer;
|
286
|
.useSprite(0, 2);
|
287
|
&:hover { .useSprite(1, 2); }
|
288
|
}
|
289
|
.fancytree-partsel span.fancytree-checkbox {
|
290
|
.useSprite(4, 2);
|
291
|
&:hover { .useSprite(5, 2); }
|
292
|
}
|
293
|
// selected after partsel, so it takes precedence:
|
294
|
.fancytree-selected span.fancytree-checkbox {
|
295
|
.useSprite(2, 2);
|
296
|
&:hover { .useSprite(3, 2); }
|
297
|
}
|
298
|
// Unselectable is dimmed, without hover effects
|
299
|
.fancytree-unselectable {
|
300
|
span.fancytree-checkbox {
|
301
|
opacity: 0.4;
|
302
|
filter: alpha(opacity=40);
|
303
|
}
|
304
|
span.fancytree-checkbox:hover {
|
305
|
.useSprite(0, 2);
|
306
|
}
|
307
|
&.fancytree-partsel span.fancytree-checkbox:hover {
|
308
|
.useSprite(4, 2);
|
309
|
}
|
310
|
&.fancytree-selected span.fancytree-checkbox:hover {
|
311
|
.useSprite(2, 2);
|
312
|
}
|
313
|
}
|
314
|
|
315
|
/*------------------------------------------------------------------------------
|
316
|
* Radiobutton icon
|
317
|
* This is a customization, that may be activated by overriding the 'checkbox'
|
318
|
* class name as 'fancytree-radio' in the tree options.
|
319
|
*----------------------------------------------------------------------------*/
|
320
|
|
321
|
.fancytree-radio {
|
322
|
span.fancytree-checkbox {
|
323
|
.useSprite(0, 3);
|
324
|
&:hover { .useSprite(1, 3); }
|
325
|
}
|
326
|
.fancytree-partsel span.fancytree-checkbox {
|
327
|
.useSprite(4, 3);
|
328
|
&:hover { .useSprite(5, 3); }
|
329
|
}
|
330
|
// Selected after partsel, so it takes precedence:
|
331
|
.fancytree-selected span.fancytree-checkbox {
|
332
|
.useSprite(2, 3);
|
333
|
&:hover { .useSprite(3, 3); }
|
334
|
}
|
335
|
// Unselectable is dimmed, without hover effects
|
336
|
.fancytree-unselectable {
|
337
|
span.fancytree-checkbox,
|
338
|
span.fancytree-checkbox:hover {
|
339
|
.useSprite(0, 3);
|
340
|
}
|
341
|
}
|
342
|
}
|
343
|
|
344
|
/*------------------------------------------------------------------------------
|
345
|
* Node type icon
|
346
|
* Note: IE6 doesn't correctly evaluate multiples class names,
|
347
|
* so we create combined class names that can be used in the CSS.
|
348
|
*
|
349
|
* Prefix: fancytree-ico-
|
350
|
* 1st character: 'e': expanded, 'c': collapsed
|
351
|
* 2nd character (optional): 'f': folder
|
352
|
*----------------------------------------------------------------------------*/
|
353
|
|
354
|
span.fancytree-icon { // Default icon
|
355
|
margin-left: @fancy-icon-spacing;
|
356
|
.useSprite(0, 0);
|
357
|
}
|
358
|
|
359
|
/* Documents */
|
360
|
.fancytree-ico-c span.fancytree-icon { // Collapsed folder (empty)
|
361
|
// .useSprite(0, 0);
|
362
|
}
|
363
|
.fancytree-ico-c span.fancytree-icon:hover {
|
364
|
.useSprite(1, 0);
|
365
|
}
|
366
|
.fancytree-has-children.fancytree-ico-c span.fancytree-icon { // Collapsed folder (not empty)
|
367
|
.useSprite(2, 0);
|
368
|
}
|
369
|
.fancytree-has-children.fancytree-ico-c span.fancytree-icon:hover {
|
370
|
.useSprite(3, 0);
|
371
|
}
|
372
|
.fancytree-ico-e span.fancytree-icon { // Expanded folder
|
373
|
.useSprite(4, 0);
|
374
|
}
|
375
|
.fancytree-ico-e span.fancytree-icon:hover {
|
376
|
.useSprite(5, 0);
|
377
|
}
|
378
|
|
379
|
/* Folders */
|
380
|
.fancytree-ico-cf span.fancytree-icon { // Collapsed folder (empty)
|
381
|
.useSprite(0, 1);
|
382
|
}
|
383
|
.fancytree-ico-cf span.fancytree-icon:hover {
|
384
|
.useSprite(1, 1);
|
385
|
}
|
386
|
.fancytree-has-children.fancytree-ico-cf span.fancytree-icon { // Collapsed folder (not empty)
|
387
|
.useSprite(2, 1);
|
388
|
}
|
389
|
.fancytree-has-children.fancytree-ico-cf span.fancytree-icon:hover {
|
390
|
.useSprite(3, 1);
|
391
|
}
|
392
|
.fancytree-ico-ef span.fancytree-icon { // Expanded folder
|
393
|
.useSprite(4, 1);
|
394
|
}
|
395
|
.fancytree-ico-ef span.fancytree-icon:hover {
|
396
|
.useSprite(5, 1);
|
397
|
}
|
398
|
|
399
|
// 'Loading' status overrides all others
|
400
|
.fancytree-loading span.fancytree-expander,
|
401
|
.fancytree-loading span.fancytree-expander:hover,
|
402
|
.fancytree-statusnode-loading span.fancytree-icon,
|
403
|
.fancytree-statusnode-loading span.fancytree-icon:hover {
|
404
|
background-image: @fancy-loading-url;
|
405
|
.useSprite(0, 0);
|
406
|
}
|
407
|
|
408
|
/* Status node icons */
|
409
|
|
410
|
.fancytree-statusnode-error span.fancytree-icon,
|
411
|
.fancytree-statusnode-error span.fancytree-icon:hover {
|
412
|
.useSprite(0, 7);
|
413
|
}
|
414
|
|
415
|
|
416
|
/*------------------------------------------------------------------------------
|
417
|
* Node titles and highlighting
|
418
|
*----------------------------------------------------------------------------*/
|
419
|
|
420
|
span.fancytree-node {
|
421
|
/* See #117 */
|
422
|
display: inherit; // #117, resolves to 'display: list-item;' for standard trees
|
423
|
width: 100%;
|
424
|
margin-top: @fancy-node-v-spacing;
|
425
|
min-height: @fancy-line-height;
|
426
|
}
|
427
|
span.fancytree-title {
|
428
|
color: @fancy-font-color; // inherit doesn't work on IE
|
429
|
cursor: pointer;
|
430
|
display: inline-block; // Better alignment, when title contains <br>
|
431
|
vertical-align: top;
|
432
|
min-height: @fancy-line-height;
|
433
|
padding: 0 4px 0 4px; // Otherwise italic font will be outside right bounds
|
434
|
margin: @fancy-title-ofs-top 0 0 @fancy-icon-spacing;
|
435
|
// margin: 0px;
|
436
|
// margin-top: @fancy-line-ofs-top;
|
437
|
// margin-left: @fancy-icon-spacing;
|
438
|
//border: @fancy-node-border-width solid transparent; // avoid jumping, when a border is added on hover
|
439
|
.rounded-corners(@fancy-node-border-radius);
|
440
|
outline: 0 !important; // @ Firefox, prevent dotted border after click
|
441
|
// Set transparent border to prevent jumping when active node gets a border
|
442
|
// (we can do this, because this theme doesn't use vertical lines)
|
443
|
border: 1px solid transparent; // Note: 'transparent' would not work in IE6
|
444
|
}
|
445
|
span.fancytree-node.fancytree-error span.fancytree-title {
|
446
|
color: @fancy-font-error-color;
|
447
|
}
|
448
|
|
449
|
/*------------------------------------------------------------------------------
|
450
|
* Drag'n'drop support
|
451
|
*----------------------------------------------------------------------------*/
|
452
|
div.fancytree-drag-helper {
|
453
|
span.fancytree-childcounter,
|
454
|
span.fancytree-dnd-modifier {
|
455
|
display: inline-block;
|
456
|
color: #fff;
|
457
|
background: #337ab7; // bootstrap blue
|
458
|
border: 1px solid gray;
|
459
|
min-width: 10px;
|
460
|
// min-height: 16px;
|
461
|
height: 10px;
|
462
|
line-height: 1;
|
463
|
vertical-align: baseline;
|
464
|
border-radius: 10px;
|
465
|
padding: 2px;
|
466
|
text-align: center;
|
467
|
font-size: 9px;
|
468
|
}
|
469
|
span.fancytree-childcounter {
|
470
|
position: absolute;
|
471
|
// left: 16px;
|
472
|
top: -6px;
|
473
|
right: -6px;
|
474
|
}
|
475
|
span.fancytree-dnd-modifier {
|
476
|
background: #5cb85c; // bootstrap green
|
477
|
border: none;
|
478
|
// min-height: 16px;
|
479
|
// font-size: 12px;
|
480
|
font-weight: bolder;
|
481
|
}
|
482
|
&.fancytree-drop-accept {
|
483
|
span.fancytree-drag-helper-img {
|
484
|
.useSprite(2, 7);
|
485
|
}
|
486
|
}
|
487
|
&.fancytree-drop-reject {
|
488
|
span.fancytree-drag-helper-img {
|
489
|
.useSprite(1, 7);
|
490
|
}
|
491
|
}
|
492
|
}
|
493
|
|
494
|
|
495
|
/*** Drop marker icon *********************************************************/
|
496
|
#fancytree-drop-marker {
|
497
|
width: 2 * @fancy-icon-width; // was 24px, but 32 should be correct
|
498
|
position: absolute;
|
499
|
.useSprite(0, 8);
|
500
|
margin: 0;
|
501
|
&.fancytree-drop-after,
|
502
|
&.fancytree-drop-before {
|
503
|
width: 4 * @fancy-icon-width; // 64px;
|
504
|
.useSprite(0, 9);
|
505
|
}
|
506
|
&.fancytree-drop-copy {
|
507
|
.useSprite(4, 8);
|
508
|
}
|
509
|
&.fancytree-drop-move {
|
510
|
.useSprite(2, 8);
|
511
|
}
|
512
|
}
|
513
|
|
514
|
/*** Source node while dragging ***********************************************/
|
515
|
|
516
|
span.fancytree-drag-source {
|
517
|
&.fancytree-drag-remove {
|
518
|
// text-decoration: line-through;
|
519
|
opacity: 0.15;
|
520
|
}
|
521
|
}
|
522
|
|
523
|
/*** Target node while dragging cursor is over it *****************************/
|
524
|
|
525
|
span.fancytree-drop-target {
|
526
|
&.fancytree-drop-accept {
|
527
|
// outline: 1px dotted #5cb85c; // bootstrap sucess
|
528
|
}
|
529
|
}
|
530
|
span.fancytree-drop-reject {
|
531
|
// outline: 1px dotted #d9534f; // boostrap warning
|
532
|
}
|
533
|
|
534
|
|
535
|
/*------------------------------------------------------------------------------
|
536
|
* 'table' extension
|
537
|
*----------------------------------------------------------------------------*/
|
538
|
|
539
|
table.fancytree-ext-table {
|
540
|
border-collapse: collapse;
|
541
|
span.fancytree-node {
|
542
|
display: inline-block; // #117
|
543
|
}
|
544
|
}
|
545
|
|
546
|
/*------------------------------------------------------------------------------
|
547
|
* 'columnview' extension
|
548
|
*----------------------------------------------------------------------------*/
|
549
|
|
550
|
table.fancytree-ext-columnview {
|
551
|
// border-collapse: collapse;
|
552
|
// width: 100%;
|
553
|
tbody tr td {
|
554
|
position: relative;
|
555
|
border: 1px solid gray;
|
556
|
vertical-align: top;
|
557
|
overflow: auto;
|
558
|
>ul {
|
559
|
padding: 0;
|
560
|
li {
|
561
|
list-style-image: none;
|
562
|
list-style-position: outside;
|
563
|
list-style-type: none;
|
564
|
-moz-background-clip:border;
|
565
|
-moz-background-inline-policy: continuous;
|
566
|
-moz-background-origin: padding;
|
567
|
background-attachment: scroll;
|
568
|
background-color: transparent;
|
569
|
.setBgPos(0, 0);
|
570
|
background-repeat: repeat-y;
|
571
|
background-image: none; /* no v-lines */
|
572
|
|
573
|
margin: 0;
|
574
|
// padding: 1px 0 0 0; // issue #246
|
575
|
}
|
576
|
}
|
577
|
}
|
578
|
span.fancytree-node {
|
579
|
position: relative; /* allow positioning of embedded spans */
|
580
|
display: inline-block; // #117
|
581
|
}
|
582
|
span.fancytree-node.fancytree-expanded {
|
583
|
background-color: #CBE8F6;
|
584
|
}
|
585
|
// table.fancytree-ext-columnview span.fancytree-node.fancytree-active {
|
586
|
// background-color: royalblue;
|
587
|
// }
|
588
|
.fancytree-has-children span.fancytree-cv-right {
|
589
|
position: absolute;
|
590
|
right: 3px;
|
591
|
.useSprite(0, 5);
|
592
|
&:hover {
|
593
|
.useSprite(1, 5);
|
594
|
}
|
595
|
}
|
596
|
}
|
597
|
|
598
|
/*------------------------------------------------------------------------------
|
599
|
* 'filter' extension
|
600
|
*----------------------------------------------------------------------------*/
|
601
|
|
602
|
.fancytree-ext-filter-dimm {
|
603
|
span.fancytree-node span.fancytree-title {
|
604
|
color: @fancy-font-color-dimm;
|
605
|
font-weight: lighter;
|
606
|
}
|
607
|
tr.fancytree-submatch span.fancytree-title,
|
608
|
span.fancytree-node.fancytree-submatch span.fancytree-title {
|
609
|
color: black;
|
610
|
font-weight: normal;
|
611
|
}
|
612
|
tr.fancytree-match span.fancytree-title,
|
613
|
span.fancytree-node.fancytree-match span.fancytree-title {
|
614
|
color: black;
|
615
|
font-weight: bold;
|
616
|
}
|
617
|
}
|
618
|
.fancytree-ext-filter-hide {
|
619
|
tr.fancytree-hide,
|
620
|
span.fancytree-node.fancytree-hide {
|
621
|
display: none;
|
622
|
}
|
623
|
tr.fancytree-submatch span.fancytree-title,
|
624
|
span.fancytree-node.fancytree-submatch span.fancytree-title {
|
625
|
color: @fancy-font-color-dimm;
|
626
|
font-weight: lighter;
|
627
|
}
|
628
|
tr.fancytree-match span.fancytree-title,
|
629
|
span.fancytree-node.fancytree-match span.fancytree-title {
|
630
|
color: black;
|
631
|
font-weight: normal;
|
632
|
}
|
633
|
}
|
634
|
|
635
|
.fancytree-ext-childcounter,
|
636
|
.fancytree-ext-filter {
|
637
|
// span.fancytree-title mark {
|
638
|
// font-style: normal;
|
639
|
// background-color: #ead61c; // yellow
|
640
|
// border-radius: 3px;
|
641
|
// }
|
642
|
span.fancytree-icon {
|
643
|
position: relative;
|
644
|
}
|
645
|
span.fancytree-childcounter {
|
646
|
color: #fff;
|
647
|
background: #0288D1;
|
648
|
position: absolute;
|
649
|
top: -6px;
|
650
|
right: -6px;
|
651
|
min-width: 12px;
|
652
|
height: 10px;
|
653
|
line-height: 1;
|
654
|
vertical-align: baseline;
|
655
|
border-radius: 6px;
|
656
|
padding: 2px;
|
657
|
text-align: center;
|
658
|
font-size: 9px;
|
659
|
}
|
660
|
}
|
661
|
/*------------------------------------------------------------------------------
|
662
|
* 'wide' extension
|
663
|
*----------------------------------------------------------------------------*/
|
664
|
|
665
|
ul.fancytree-ext-wide {
|
666
|
position: relative;
|
667
|
min-width: 100%;
|
668
|
z-index: 2;
|
669
|
box-sizing: border-box;
|
670
|
span.fancytree-node {
|
671
|
> img,
|
672
|
> span {
|
673
|
position: relative;
|
674
|
z-index: 2;
|
675
|
}
|
676
|
}
|
677
|
span.fancytree-node span.fancytree-title {
|
678
|
position: absolute; // Allow left: 0. Note: prevents smooth dropdown animation
|
679
|
z-index: 1; // Behind expander and checkbox
|
680
|
left: 1px;
|
681
|
right: 1px;
|
682
|
margin-left: 0;
|
683
|
margin-right: 0;
|
684
|
box-sizing: border-box;
|
685
|
}
|
686
|
}
|