1/******************************************************************************* 2 * Common Styles for Fancytree Skins. 3 * 4 * This section is automatically generated from the `skin-common.less` template. 5 * 6 * Copyright (c) 2008-2023, Martin Wendt (https://wwWendt.de) 7 * Released under the MIT license 8 * https://github.com/mar10/fancytree/wiki/LicenseInfo 9 * 10 * @version 2.38.3 11 * @date 2023-02-01T20:52:50Z 12******************************************************************************/ 13 14// Variables (defaults, may be overwritten by the including .less files) 15@fancy-use-sprites: true; // false: suppress all background images (i.e. icons) 16// @fancy-hide-connectors: true; // false: show vertical connector lines 17 18@fancy-level-indent: 16px; 19@fancy-line-height: 16px; // height of a nodes selection bar including borders 20@fancy-node-v-spacing: 1px; // gap between two node borders 21@fancy-icon-width: 16px; 22@fancy-icon-height: 16px; 23@fancy-icon-spacing: 3px; // margin between icon/icon or icon/title 24@fancy-icon-ofs-top: 0px; // extra vertical offset for expander, checkbox and icon 25@fancy-title-ofs-top: 0px; // extra vertical offset for title 26@fancy-node-border-width: 1px; 27@fancy-node-border-radius: 0px; 28@fancy-node-outline-width: 1px; 29 30// @fancy-line-ofs-top: (@fancy-line-height - @fancy-icon-height) / 2; 31 32// webpack uses /dist/skin-common.less as root path 33// grunt-less uses /dist/skin-Xxx/ui.fancyree.less as root path 34// So we define our theme LESS files for webpack compatibility, i.e. 35// define the image path n every main LESS file instead of here. 36// Prefix may be set to "", "/", "./", or any other value 37// Note: this variable must be defined by the main LESS files: 38// @fancy-image-prefix: ""; 39 40// Use 'url(...)' to link to the throbber image, or 41// use data-uri(...)' to inline the data in css instead: 42/* CHANGE use url, as less does not handel data-uri() correct. DokuWiki can eventually inline it */ 43 @fancy-loading-url: url("@{fancy-image-prefix}loading.gif"); 44//@fancy-loading-url: data-uri("@{fancy-image-prefix}loading.gif"); 45 46// Set to `true` to use `data-uri(...)` instead of a `url(...)` link: 47@fancy-inline-sprites: false; // data-uri() is not handle correct by phpless 48 49@fancy-font-size: 10pt; 50@fancy-font-family: tahoma, arial, helvetica; 51@fancy-font-color: black; 52@fancy-font-color-dimm: #c0c0c0; 53@fancy-font-error-color: red; 54 55//------------------------------------------------------------------------------ 56// Mixins 57//------------------------------------------------------------------------------ 58.setBgPos(@x, @y, @cond:true) when (@cond) { 59 background-position: (@x * -@fancy-icon-width) (@y * -@fancy-icon-height); 60} 61.clearBgImage(@cond:true) when (@cond) { 62 background-image: none; 63} 64.setBgImageUrl(@url) when (@fancy-use-sprites) and not (@fancy-inline-sprites) { 65 background-image: url("@{fancy-image-prefix}@{url}"); 66} 67.setBgImageUrl(@url) when (@fancy-use-sprites) and (@fancy-inline-sprites) { 68 background-image: data-uri("@{fancy-image-prefix}@{url}"); 69} 70.useSprite(@x, @y) when (@fancy-use-sprites) { 71 .setBgPos(@x, @y); 72} 73.rounded-corners(@radius) { 74 -webkit-border-radius: @radius; 75 -moz-border-radius: @radius; 76 -ms-border-radius: @radius; 77 -o-border-radius: @radius; 78 border-radius: @radius; 79} 80.spanStyleMixin(@color, @bgcolor, @bordercolor) { 81 border-color: @bordercolor; 82 background: @bgcolor; 83 color: @color; 84} 85.spanStyleMixin(@color, @bgcolor, @bordercolor, @startColor, @stopColor) { 86 .spanStyleMixin(@color, @bgcolor, @bordercolor); 87 // @c-start: argb(@startColor); 88 // @c-end: argb(@stopColor); 89 background: -moz-linear-gradient( 90 top, 91 @startColor 0%, 92 @stopColor 100% 93 ); // FF3.6+ 94 background: -webkit-gradient( 95 linear, 96 left top, 97 left bottom, 98 color-stop(0%, @startColor), 99 color-stop(100%, @stopColor) 100 ); // Chrome,Safari4+ 101 background: -webkit-linear-gradient( 102 top, 103 @startColor 0%, 104 @stopColor 100% 105 ); // Chrome10+,Safari5.1+ 106 background: -o-linear-gradient( 107 top, 108 @startColor 0%, 109 @stopColor 100% 110 ); // Opera 11.10+ 111 background: -ms-linear-gradient( 112 top, 113 @startColor 0%, 114 @stopColor 100% 115 ); // IE10+ 116 background: linear-gradient( 117 to bottom, 118 @startColor 0%, 119 @stopColor 100% 120 ); // W3C 121 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@{startColor}', endColorstr='@{stopColor}',GradientType=0 ); // IE6-9 122} 123 124/*------------------------------------------------------------------------------ 125 * Helpers 126 *----------------------------------------------------------------------------*/ 127// Redefine, in case jQuery-UI is not included 128// .ui-helper-hidden, 129.fancytree-helper-hidden { 130 display: none; 131} 132.fancytree-helper-indeterminate-cb { 133 // tri-state checkbox 134 color: #777; 135} 136.fancytree-helper-disabled { 137 color: @fancy-font-color-dimm; 138} 139 140/* Helper to allow spinning loader icon with glyph-, ligature-, and SVG-icons. */ 141/* CHANGE: renamed spin to spin-fancytree */ 142.fancytree-helper-spin { 143 -webkit-animation: spin-fancytree 1000ms infinite linear; 144 animation: spin-fancytree 1000ms infinite linear; 145} 146/* CHANGE: commented because it is wrong prefixed by phpless 147@-webkit-keyframes spin { 148 0% { 149 -webkit-transform: rotate(0deg); 150 transform: rotate(0deg); 151 } 152 100% { 153 -webkit-transform: rotate(359deg); 154 transform: rotate(359deg); 155 } 156} 157@keyframes spin { 158 0% { 159 -webkit-transform: rotate(0deg); 160 transform: rotate(0deg); 161 } 162 100% { 163 -webkit-transform: rotate(359deg); 164 transform: rotate(359deg); 165 } 166} 167*/ 168/*------------------------------------------------------------------------------ 169 * Container and UL / LI 170 *----------------------------------------------------------------------------*/ 171 172ul.fancytree-container { 173 font-family: @fancy-font-family; 174 font-size: @fancy-font-size; 175 white-space: nowrap; 176 padding: 3px; 177 margin: 0; // DT issue 201 178 //background-color: white; CHANGE 179 //border: 1px dotted gray; CHANGE 180 // overflow: auto; // ext-dnd5: otherwise this is always the scroll parent 181 // height: 100%; // DT issue 263, 470 182 min-height: 0%; // #192 183 position: relative; // #235 184 ul { 185 padding: 0 0 0 @fancy-level-indent; 186 margin: 0; 187 } 188 ul > li:before { 189 // #538 190 content: none; 191 } 192 li { 193 list-style-image: none; 194 list-style-position: outside; 195 list-style-type: none; 196 -moz-background-clip: border; 197 -moz-background-inline-policy: continuous; 198 -moz-background-origin: padding; 199 background-attachment: scroll; 200 background-color: transparent; 201 .setBgPos(0, 0); 202 background-repeat: repeat-y; 203 background-image: none; // no v-lines 204 205 margin: 0; 206 // padding: 1px 0 0 0; // issue #246 207 } 208 // Suppress lines for last child node 209 li.fancytree-lastsib { 210 background-image: none; 211 } 212} 213 214// Style, when control is disabled 215.ui-fancytree-disabled ul.fancytree-container { 216 opacity: 0.5; 217 // filter: alpha(opacity=50); // Yields a css warning 218 background-color: silver; 219} 220 221ul.fancytree-connectors.fancytree-container { 222 li { 223 // Use 'data-uri(...)' to embed the image into CSS instead of linking to 'loading.gif': 224 /* CHANGE: phpless does not handle data-uri() correct */ 225 //background-image: data-uri("@{fancy-image-prefix}vline.gif"); 226 background-image: url("@{fancy-image-prefix}vline.gif"); 227 background-position: 0 0; 228 } 229} 230 231// Suppress lines for last child node 232ul.fancytree-container li.fancytree-lastsib, 233// Suppress lines if level is fixed expanded (option minExpandLevel) 234ul.fancytree-no-connector > li { 235 background-image: none; 236} 237 238// Fix jQuery UI 'blind' animation for jQuery UI (#717) 239li.fancytree-animating { 240 position: relative; 241} 242 243/*------------------------------------------------------------------------------ 244 * Common icon definitions 245 *----------------------------------------------------------------------------*/ 246 247span.fancytree-empty, 248span.fancytree-vline, 249span.fancytree-expander, 250span.fancytree-icon, 251span.fancytree-checkbox, 252// span.fancytree-radio, 253span.fancytree-drag-helper-img, 254#fancytree-drop-marker { 255 width: @fancy-icon-width; 256 height: @fancy-icon-height; 257 // display: -moz-inline-box; // @ FF 1+2 removed for issue 221 258 // -moz-box-align: start; /* issue 221 */ 259 display: inline-block; // Required to make a span sizeable 260 vertical-align: top; 261 background-repeat: no-repeat; 262 // background-position: left; 263 .setBgImageUrl("icons.gif"); 264 .setBgPos(0, 0); 265} 266span.fancytree-icon, 267span.fancytree-checkbox, 268span.fancytree-expander, 269// span.fancytree-radio, 270span.fancytree-custom-icon { 271 margin-top: @fancy-icon-ofs-top; 272} 273/* Used by icon option: */ 274span.fancytree-custom-icon { 275 width: @fancy-icon-width; 276 height: @fancy-icon-height; 277 display: inline-block; 278 margin-left: @fancy-icon-spacing; 279 .setBgPos(0, 0); 280} 281/* Used by 'icon' node option: */ 282img.fancytree-icon { 283 width: @fancy-icon-width; 284 height: @fancy-icon-height; 285 margin-left: @fancy-icon-spacing; 286 margin-top: @fancy-icon-ofs-top; 287 vertical-align: top; 288 border-style: none; 289} 290 291/*------------------------------------------------------------------------------ 292 * Expander icon 293 * 294 * Note: IE6 doesn't correctly evaluate multiples class names, 295 * so we create combined class names that can be used in the CSS. 296 * 297 * Prefix: fancytree-exp- 298 * 1st character: 'e': expanded, 'c': collapsed, 'n': no children 299 * 2nd character (optional): 'd': lazy (Delayed) 300 * 3rd character (optional): 'l': Last sibling 301 *----------------------------------------------------------------------------*/ 302 303span.fancytree-expander { 304 // .useSprite(0, 5); 305 cursor: pointer; 306} 307// span.fancytree-expander:hover { 308// // .useSprite(1, 5); 309// } 310 311// --- End nodes (use connectors instead of expanders) 312 313.fancytree-exp-n span.fancytree-expander, 314.fancytree-exp-nl span.fancytree-expander { 315 // .clearBgImage( @fancy-hide-connectors ); 316 background-image: none; 317 cursor: default; 318} 319.fancytree-connectors { 320 .fancytree-exp-n span.fancytree-expander, 321 .fancytree-exp-nl span.fancytree-expander { 322 .setBgImageUrl("icons.gif"); 323 margin-top: 0; 324 } 325 .fancytree-exp-n span.fancytree-expander, // End-node, not last sibling 326 .fancytree-exp-n span.fancytree-expander:hover { 327 .useSprite(0, 4); 328 } 329 .fancytree-exp-nl span.fancytree-expander, // End-node, last sibling 330 .fancytree-exp-nl span.fancytree-expander:hover { 331 .useSprite(1, 4); 332 } 333} 334 335// --- Collapsed 336 337.fancytree-exp-c span.fancytree-expander { 338 // Collapsed, not delayed, not last sibling 339 .useSprite(0, 5); 340} 341.fancytree-exp-c span.fancytree-expander:hover { 342 .useSprite(1, 5); 343} 344.fancytree-exp-cl span.fancytree-expander { 345 // Collapsed, not delayed, last sibling 346 .useSprite(0, 6); 347} 348.fancytree-exp-cl span.fancytree-expander:hover { 349 .useSprite(1, 6); 350} 351.fancytree-exp-cd span.fancytree-expander { 352 // Collapsed, delayed, not last sibling 353 .useSprite(4, 5); 354} 355.fancytree-exp-cd span.fancytree-expander:hover { 356 .useSprite(5, 5); 357} 358.fancytree-exp-cdl span.fancytree-expander { 359 // Collapsed, delayed, last sibling 360 .useSprite(4, 6); 361} 362.fancytree-exp-cdl span.fancytree-expander:hover { 363 .useSprite(5, 6); 364} 365 366// --- Expanded 367 368.fancytree-exp-e span.fancytree-expander, // Expanded, not delayed, not last sibling 369.fancytree-exp-ed span.fancytree-expander { 370 // Expanded, delayed, not last sibling 371 .useSprite(2, 5); 372} 373.fancytree-exp-e span.fancytree-expander:hover, 374.fancytree-exp-ed span.fancytree-expander:hover { 375 .useSprite(3, 5); 376} 377.fancytree-exp-el span.fancytree-expander, // Expanded, not delayed, last sibling 378.fancytree-exp-edl span.fancytree-expander { 379 // Expanded, delayed, last sibling 380 .useSprite(2, 6); 381} 382.fancytree-exp-el span.fancytree-expander:hover, 383.fancytree-exp-edl span.fancytree-expander:hover { 384 .useSprite(3, 6); 385} 386 387/* Fade out expanders, when container is not hovered or active */ 388.fancytree-fade-expander { 389 span.fancytree-expander { 390 transition: opacity 1.5s; 391 opacity: 0; 392 } 393 &:hover span.fancytree-expander, 394 &.fancytree-treefocus span.fancytree-expander, 395 .fancytree-treefocus span.fancytree-expander, 396 [class*="fancytree-statusnode-"] span.fancytree-expander { 397 transition: opacity 0.6s; 398 opacity: 1; 399 } 400} 401 402//// CHANGE: not used. 403///*------------------------------------------------------------------------------ 404// * Checkbox icon 405// *----------------------------------------------------------------------------*/ 406// 407//span.fancytree-checkbox { 408// margin-left: @fancy-icon-spacing; 409// .useSprite(0, 2); 410// &:hover { 411// .useSprite(1, 2); 412// } 413// &.fancytree-radio { 414// .useSprite(0, 3); 415// } 416// &.fancytree-radio:hover { 417// .useSprite(1, 3); 418// } 419//} 420//.fancytree-partsel span.fancytree-checkbox { 421// .useSprite(4, 2); 422// &:hover { 423// .useSprite(5, 2); 424// } 425// &.fancytree-radio { 426// .useSprite(4, 3); 427// } 428// &.fancytree-radio:hover { 429// .useSprite(5, 3); 430// } 431//} 432//// selected after partsel, so it takes precedence: 433//.fancytree-selected span.fancytree-checkbox { 434// .useSprite(2, 2); 435// &:hover { 436// .useSprite(3, 2); 437// } 438// &.fancytree-radio { 439// .useSprite(2, 3); 440// } 441// &.fancytree-radio:hover { 442// .useSprite(3, 3); 443// } 444//} 445//// Unselectable is dimmed, without hover effects 446//.fancytree-unselectable { 447// span.fancytree-checkbox { 448// opacity: 0.4; 449// filter: alpha(opacity=40); 450// } 451// span.fancytree-checkbox:hover { 452// .useSprite(0, 2); 453// } 454// span.fancytree-checkbox.fancytree-radio:hover { 455// .useSprite(0, 3); 456// } 457// &.fancytree-partsel span.fancytree-checkbox:hover { 458// .useSprite(4, 2); 459// } 460// &.fancytree-selected span.fancytree-checkbox:hover { 461// .useSprite(2, 2); 462// } 463// &.fancytree-selected span.fancytree-checkbox.fancytree-radio:hover { 464// .useSprite(2, 3); 465// } 466//} 467// 468//// Auto-hide checkboxes unless selected or hovered 469//.fancytree-container.fancytree-checkbox-auto-hide { 470// span.fancytree-checkbox { 471// visibility: hidden; 472// } 473// .fancytree-node:hover span.fancytree-checkbox, 474// tr:hover td span.fancytree-checkbox, 475// .fancytree-node.fancytree-selected span.fancytree-checkbox, 476// tr.fancytree-selected td span.fancytree-checkbox { 477// visibility: unset; 478// } 479// &.fancytree-treefocus { 480// .fancytree-node.fancytree-active span.fancytree-checkbox, 481// tr.fancytree-active td span.fancytree-checkbox { 482// visibility: unset; 483// } 484// } 485//} 486 487/*------------------------------------------------------------------------------ 488 * Node type icon 489 * Note: IE6 doesn't correctly evaluate multiples class names, 490 * so we create combined class names that can be used in the CSS. 491 * 492 * Prefix: fancytree-ico- 493 * 1st character: 'e': expanded, 'c': collapsed 494 * 2nd character (optional): 'f': folder 495 *----------------------------------------------------------------------------*/ 496 497span.fancytree-icon { 498 // Default icon 499 margin-left: @fancy-icon-spacing; 500 .useSprite(0, 0); 501} 502 503/* Documents */ 504.fancytree-ico-c span.fancytree-icon { 505 // Collapsed folder (empty) 506 // .useSprite(0, 0); 507} 508.fancytree-ico-c span.fancytree-icon:hover { 509 .useSprite(1, 0); 510} 511.fancytree-has-children.fancytree-ico-c span.fancytree-icon { 512 // Collapsed folder (not empty) 513 .useSprite(2, 0); 514} 515.fancytree-has-children.fancytree-ico-c span.fancytree-icon:hover { 516 .useSprite(3, 0); 517} 518.fancytree-ico-e span.fancytree-icon { 519 // Expanded folder 520 .useSprite(4, 0); 521} 522.fancytree-ico-e span.fancytree-icon:hover { 523 .useSprite(5, 0); 524} 525 526/* Folders */ 527.fancytree-ico-cf span.fancytree-icon { 528 // Collapsed folder (empty) 529 .useSprite(0, 1); 530} 531.fancytree-ico-cf span.fancytree-icon:hover { 532 .useSprite(1, 1); 533} 534.fancytree-has-children.fancytree-ico-cf span.fancytree-icon { 535 // Collapsed folder (not empty) 536 .useSprite(2, 1); 537} 538.fancytree-has-children.fancytree-ico-cf span.fancytree-icon:hover { 539 .useSprite(3, 1); 540} 541.fancytree-ico-ef span.fancytree-icon { 542 // Expanded folder 543 .useSprite(4, 1); 544} 545.fancytree-ico-ef span.fancytree-icon:hover { 546 .useSprite(5, 1); 547} 548 549// 'Loading' status overrides all others 550.fancytree-loading span.fancytree-expander, 551.fancytree-loading span.fancytree-expander:hover, 552.fancytree-statusnode-loading span.fancytree-icon, 553.fancytree-statusnode-loading span.fancytree-icon:hover, 554span.fancytree-icon.fancytree-icon-loading { 555 background-image: @fancy-loading-url; 556 .useSprite(0, 0); 557} 558 559/* Status node icons */ 560 561.fancytree-statusnode-error span.fancytree-icon, 562.fancytree-statusnode-error span.fancytree-icon:hover { 563 .useSprite(0, 7); 564} 565 566/*------------------------------------------------------------------------------ 567 * Node titles and highlighting 568 *----------------------------------------------------------------------------*/ 569 570span.fancytree-node { 571 /* See #117 */ 572 display: inherit; // #117, resolves to 'display: list-item;' for standard trees 573 width: 100%; 574 margin-top: @fancy-node-v-spacing; 575 min-height: @fancy-line-height; 576} 577span.fancytree-title { 578 color: @fancy-font-color; // inherit doesn't work on IE 579 cursor: pointer; 580 display: inline-block; // Better alignment, when title contains <br> 581 vertical-align: top; 582 min-height: @fancy-line-height; 583 padding: 0 3px 0 3px; // Otherwise italic font will be outside right bounds 584 margin: @fancy-title-ofs-top 0 0 @fancy-icon-spacing; 585 // margin: 0px; 586 // margin-top: @fancy-line-ofs-top; 587 // margin-left: @fancy-icon-spacing; 588 border: @fancy-node-border-width solid transparent; // avoid jumping, when a border is added on hover 589 .rounded-corners(@fancy-node-border-radius); 590 // outline: 0; // @ Firefox, prevent dotted border after click 591 // Set transparent border to prevent jumping when active node gets a border 592 // (we can do this, because this theme doesn't use vertical lines) 593 // border: 1px solid white; // Note: 'transparent' would not work in IE6 594} 595span.fancytree-node.fancytree-error span.fancytree-title { 596 color: @fancy-font-error-color; 597} 598 599//// CHANGE: not used. 600///*------------------------------------------------------------------------------ 601// * Drag'n'drop support 602// *----------------------------------------------------------------------------*/ 603///* ext-dnd5: */ 604//span.fancytree-childcounter { 605// color: #fff; 606// background: #337ab7; // bootstrap blue 607// border: 1px solid gray; 608// border-radius: 10px; 609// padding: 2px; 610// text-align: center; 611//} 612// 613///* ext-dnd: */ 614//div.fancytree-drag-helper { 615// span.fancytree-childcounter, 616// span.fancytree-dnd-modifier { 617// display: inline-block; 618// color: #fff; 619// background: #337ab7; // bootstrap blue 620// border: 1px solid gray; 621// min-width: 10px; 622// // min-height: 16px; 623// height: 10px; 624// line-height: 1; 625// vertical-align: baseline; 626// border-radius: 10px; 627// padding: 2px; 628// text-align: center; 629// font-size: 9px; 630// } 631// span.fancytree-childcounter { 632// position: absolute; 633// // left: 16px; 634// top: -6px; 635// right: -6px; 636// } 637// span.fancytree-dnd-modifier { 638// background: #5cb85c; // bootstrap green 639// border: none; 640// // min-height: 16px; 641// // font-size: 12px; 642// font-weight: bolder; 643// } 644// &.fancytree-drop-accept { 645// span.fancytree-drag-helper-img { 646// .useSprite(2, 7); 647// } 648// } 649// &.fancytree-drop-reject { 650// span.fancytree-drag-helper-img { 651// .useSprite(1, 7); 652// } 653// } 654//} 655// 656///*** Drop marker icon *********************************************************/ 657//#fancytree-drop-marker { 658// width: 2 * @fancy-icon-width; // was 24px, but 32 should be correct 659// position: absolute; 660// .useSprite(0, 8); 661// margin: 0; 662// &.fancytree-drop-after, 663// &.fancytree-drop-before { 664// width: 4 * @fancy-icon-width; // 64px; 665// .useSprite(0, 9); 666// } 667// &.fancytree-drop-copy { 668// .useSprite(4, 8); 669// } 670// &.fancytree-drop-move { 671// .useSprite(2, 8); 672// } 673//} 674// 675///*** Source node while dragging ***********************************************/ 676// 677//span.fancytree-drag-source { 678// &.fancytree-drag-remove { 679// // text-decoration: line-through; 680// opacity: 0.15; 681// } 682//} 683// 684///*** Target node while dragging cursor is over it *****************************/ 685// 686//span.fancytree-drop-target { 687// &.fancytree-drop-accept { 688// // outline: 1px dotted #5cb85c; // bootstrap sucess 689// } 690//} 691//span.fancytree-drop-reject { 692// // outline: 1px dotted #d9534f; // boostrap warning 693//} 694 695/*------------------------------------------------------------------------------ 696 * 'rtl' option 697 *----------------------------------------------------------------------------*/ 698 699.fancytree-container.fancytree-rtl { 700 .fancytree-title { 701 /*unicode-bidi: bidi-override;*/ /* optional: reverse title letters */ 702 } 703 span.fancytree-connector, 704 span.fancytree-expander, 705 span.fancytree-icon, 706 span.fancytree-drag-helper-img { 707 .setBgImageUrl("icons-rtl.gif"); 708 } 709 .fancytree-exp-n span.fancytree-expander, 710 .fancytree-exp-nl span.fancytree-expander { 711 background-image: none; 712 } 713 &.fancytree-connectors .fancytree-exp-n span.fancytree-expander, 714 &.fancytree-connectors .fancytree-exp-nl span.fancytree-expander { 715 .setBgImageUrl("icons-rtl.gif"); 716 } 717} 718ul.fancytree-container.fancytree-rtl { 719 ul { 720 padding: 0 16px 0 0; 721 } 722 &.fancytree-connectors li { 723 background-position: right 0; 724 background-image: url("@{fancy-image-prefix}vline-rtl.gif"); 725 } 726 // Suppress lines for last child node 727 li.fancytree-lastsib, 728 // Suppress lines if level is fixed expanded (option minExpandLevel) 729 &.fancytree-no-connector > li { 730 background-image: none; 731 } 732} 733#fancytree-drop-marker.fancytree-rtl { 734 .setBgImageUrl("icons-rtl.gif"); 735} 736 737//// CHANGE: not used. 738///*------------------------------------------------------------------------------ 739// * 'table' extension 740// *----------------------------------------------------------------------------*/ 741// 742//table.fancytree-ext-table { 743// font-family: @fancy-font-family; 744// font-size: @fancy-font-size; 745// border-collapse: collapse; 746// span.fancytree-node { 747// display: inline-block; // #117 748// box-sizing: border-box; // #562 749// } 750// td.fancytree-status-merged { 751// text-align: center; 752// // font-weight: bold; 753// font-style: italic; 754// // line-height: 100px; 755// color: @fancy-font-color-dimm; 756// } 757// tr.fancytree-statusnode-error td.fancytree-status-merged { 758// color: @fancy-font-error-color; 759// } 760// /* ext-ariagrid */ 761// &.fancytree-ext-ariagrid.fancytree-cell-mode { 762// > tbody > tr.fancytree-active > td { 763// background-color: #eee; 764// } 765// > tbody > tr > td.fancytree-active-cell { 766// background-color: #cbe8f6; 767// } 768// &.fancytree-cell-nav-mode > tbody > tr > td.fancytree-active-cell { 769// background-color: #3875d7; 770// } 771// } 772//} 773// 774///*------------------------------------------------------------------------------ 775// * 'columnview' extension 776// *----------------------------------------------------------------------------*/ 777// 778//table.fancytree-ext-columnview { 779// // border-collapse: collapse; 780// // width: 100%; 781// tbody tr td { 782// position: relative; 783// border: 1px solid gray; 784// vertical-align: top; 785// overflow: auto; 786// > ul { 787// padding: 0; 788// li { 789// list-style-image: none; 790// list-style-position: outside; 791// list-style-type: none; 792// -moz-background-clip: border; 793// -moz-background-inline-policy: continuous; 794// -moz-background-origin: padding; 795// background-attachment: scroll; 796// background-color: transparent; 797// .setBgPos(0, 0); 798// background-repeat: repeat-y; 799// background-image: none; /* no v-lines */ 800// 801// margin: 0; 802// // padding: 1px 0 0 0; // issue #246 803// } 804// } 805// } 806// span.fancytree-node { 807// position: relative; /* allow positioning of embedded spans */ 808// display: inline-block; // #117 809// } 810// span.fancytree-node.fancytree-expanded { 811// background-color: #e0e0e0; 812// } 813// span.fancytree-node.fancytree-active { 814// background-color: #cbe8f6; 815// // background-color: royalblue; 816// } 817// .fancytree-has-children span.fancytree-cv-right { 818// position: absolute; 819// right: 3px; 820// .useSprite(0, 5); 821// &:hover { 822// .useSprite(1, 5); 823// } 824// } 825//} 826// 827///*------------------------------------------------------------------------------ 828// * 'filter' extension 829// *----------------------------------------------------------------------------*/ 830// 831//.fancytree-ext-filter-dimm { 832// span.fancytree-node span.fancytree-title { 833// color: @fancy-font-color-dimm; 834// font-weight: lighter; 835// } 836// tr.fancytree-submatch span.fancytree-title, 837// span.fancytree-node.fancytree-submatch span.fancytree-title { 838// color: black; 839// font-weight: normal; 840// } 841// tr.fancytree-match span.fancytree-title, 842// span.fancytree-node.fancytree-match span.fancytree-title { 843// color: black; 844// font-weight: bold; 845// } 846//} 847//.fancytree-ext-filter-hide { 848// tr.fancytree-hide, 849// span.fancytree-node.fancytree-hide { 850// display: none; 851// } 852// tr.fancytree-submatch span.fancytree-title, 853// span.fancytree-node.fancytree-submatch span.fancytree-title { 854// color: @fancy-font-color-dimm; 855// font-weight: lighter; 856// } 857// tr.fancytree-match span.fancytree-title, 858// span.fancytree-node.fancytree-match span.fancytree-title { 859// color: black; 860// font-weight: normal; 861// } 862//} 863///* Hide expanders if all child nodes are hidden by filter */ 864//.fancytree-ext-filter-hide-expanders { 865// tr.fancytree-match span.fancytree-expander, 866// span.fancytree-node.fancytree-match span.fancytree-expander { 867// visibility: hidden; 868// } 869// tr.fancytree-submatch span.fancytree-expander, 870// span.fancytree-node.fancytree-submatch span.fancytree-expander { 871// visibility: visible; 872// } 873//} 874// 875//.fancytree-ext-childcounter, 876//.fancytree-ext-filter { 877// // span.fancytree-title mark { 878// // font-style: normal; 879// // background-color: #ead61c; // yellow 880// // border-radius: 3px; 881// // } 882// span.fancytree-icon, 883// span.fancytree-custom-icon { 884// position: relative; 885// } 886// span.fancytree-childcounter { 887// color: #fff; 888// background: #777; // #337ab7; // bootstrap blue 889// border: 1px solid gray; 890// position: absolute; 891// top: -6px; 892// right: -6px; 893// min-width: 10px; 894// height: 10px; 895// line-height: 1; 896// vertical-align: baseline; 897// border-radius: 10px; 898// padding: 2px; 899// text-align: center; 900// font-size: 9px; 901// } 902//} 903///*------------------------------------------------------------------------------ 904// * 'wide' extension 905// *----------------------------------------------------------------------------*/ 906// 907//ul.fancytree-ext-wide { 908// position: relative; 909// min-width: 100%; 910// z-index: 2; 911// 912// -webkit-box-sizing: border-box; 913// -moz-box-sizing: border-box; 914// box-sizing: border-box; 915// 916// span.fancytree-node > span { 917// position: relative; 918// z-index: 2; 919// } 920// span.fancytree-node span.fancytree-title { 921// position: absolute; // Allow left: 0. Note: prevents smooth dropdown animation 922// z-index: 1; // Behind expander and checkbox 923// left: 0px; 924// min-width: 100%; 925// margin-left: 0; 926// margin-right: 0; 927// 928// -webkit-box-sizing: border-box; 929// -moz-box-sizing: border-box; 930// box-sizing: border-box; 931// } 932//} 933// 934///*------------------------------------------------------------------------------ 935// * 'fixed' extension 936// *----------------------------------------------------------------------------*/ 937// 938//.fancytree-ext-fixed-wrapper { 939// .fancytree-ext-fixed-hidden { 940// display: none; 941// } 942// div.fancytree-ext-fixed-scroll-border-bottom { 943// border-bottom: 3px solid rgba(0, 0, 0, 0.75); 944// } 945// div.fancytree-ext-fixed-scroll-border-right { 946// border-right: 3px solid rgba(0, 0, 0, 0.75); 947// } 948// div.fancytree-ext-fixed-wrapper-tl { 949// position: absolute; 950// overflow: hidden; 951// z-index: 3; 952// top: 0px; 953// left: 0px; 954// } 955// div.fancytree-ext-fixed-wrapper-tr { 956// position: absolute; 957// overflow: hidden; 958// z-index: 2; 959// top: 0px; 960// } 961// div.fancytree-ext-fixed-wrapper-bl { 962// position: absolute; 963// overflow: hidden; 964// z-index: 2; 965// left: 0px; 966// } 967// div.fancytree-ext-fixed-wrapper-br { 968// position: absolute; 969// overflow: scroll; 970// z-index: 1; 971// } 972//} 973