/*! * Fancytree "bootstrap" skin. * * DON'T EDIT THE CSS FILE DIRECTLY, since it is automatically generated from * the LESS templates. */ // Import common styles @import "../skin-common.less"; /******************************************************************************* * Styles specific to this skin. * * This section is automatically generated from the `ui-fancytree.less` template. ******************************************************************************/ // local vars // @fancy-my-icon-size: 16px; //------------------------------------------------------------------------------ // Original bootstrap colors // See http://getbootstrap.com/css/#less-variables-colors and // https://github.com/twbs/bootstrap/blob/master/less/variables.less @gray-base: #000; @gray-darker: lighten(@gray-base, 13.5%); // #222 @gray-dark: lighten(@gray-base, 20%); // #333 @gray: lighten(@gray-base, 33.5%); // #555 @gray-light: lighten(@gray-base, 46.7%); // #777 @gray-lighter: lighten(@gray-base, 93.5%); // #eee @brand-primary: darken(#428bca, 6.5%); // blue, #337ab7 @brand-success: #5cb85c; // green @brand-info: #5bc0de; // light blue @brand-warning: #f0ad4e; // orange @brand-danger: #d9534f; // red @font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif; @font-family-serif: Georgia, "Times New Roman", Times, serif; //** Default monospace fonts for `<code>`, `<kbd>`, and `<pre>`. @font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace; @font-family-base: @font-family-sans-serif; @font-size-base: 14px; @font-size-large: ceil((@font-size-base * 1.25)); // ~18px @font-size-small: ceil((@font-size-base * 0.85)); // ~12px @border-radius-base: 4px; @border-radius-large: 6px; @border-radius-small: 3px; @text-color: @gray-dark; //** Default background color used for all tables. @table-bg: transparent; //** Background color used for `.table-striped`. @table-bg-accent: #f9f9f9; //** Background color used for `.table-hover`. @table-bg-hover: #f5f5f5; @table-bg-active: @table-bg-hover; //** Border color for table and cell borders. @table-border-color: #ddd; //------------------------------------------------------------------------------ // Override the variable after the import. // NOTE: Variables are always resolved as the last definition, even if it is // after where it is used. @fancy-use-sprites: false; // false: suppress all background images (i.e. icons) @fancy-loading-url: none; @fancy-line-height: 1em; // height of a nodes selection bar including borders @fancy-node-v-spacing: 0px; // gap between two node borders @fancy-icon-width: 1em; @fancy-icon-height: 1em; @fancy-icon-spacing: 0.5em; // margin between icon/icon or icon/title @fancy-icon-ofs-top: 2px; // extra vertical offset for expander, checkbox and icon @fancy-title-ofs-top: 0px; // extra vertical offset for title @fancy-node-border-width: 1px; @fancy-node-border-radius: @border-radius-small; @fancy-node-outline-width: 1px; @fancy-font-family: @font-family-base; @fancy-font-size: @font-size-base; @fancy-font-color: @text-color; @fancy-font-color-dimm: @gray-dark; @fancy-font-error-color: @brand-danger; @fancy-active-text: #fff; @fancy-active-color: @brand-primary; @fancy-select-color: @brand-success; @fancy-hover-color: @table-bg-hover; /******************************************************************************* * Plain tree * Modifier classes on <ul> container: * table-hover : Enable a light mouse hover effect * fancytree-colorize-selected: Give selected (checked) rows a color */ ul.fancytree-container ul { padding: 0 0 0 1.5em; margin: 0; } /* Prevent focus frame */ .fancytree-container:focus { outline: none; } // Active and (optionally) selected nodes are white on colored bg. Undo this for input controls: .fancytree-container .fancytree-active span.fancytree-title input, .fancytree-container.fancytree-colorize-selected .fancytree-selected span.fancytree-title input { color: black; } // Error status node .fancytree-container span.fancytree-statusnode-error span.fancytree-expander { color: @fancy-font-error-color; } /* Helper to allow spinning loader icon with bootstrap */ .glyphicon-spin { -webkit-animation: spin 1000ms infinite linear; animation: spin 1000ms infinite linear; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } @keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(359deg); transform: rotate(359deg); } } // ------------------------------------------------------------------------------ // * Drag'n'drop support // *---------------------------------------------------------------------------- // div.fancytree-drag-helper { // } // div.fancytree-drag-helper a { // border: 1px solid gray; // background-color: white; // padding-left: 5px; // padding-right: 5px; // opacity: 0.8; // } // span.fancytree-drag-helper-img { // // position: relative; // // left: -16px; // } div.fancytree-drag-helper.fancytree-drop-reject, div.fancytree-drag-helper.fancytree-drop-reject span.fancytree-title { color: @fancy-font-error-color; } // div.fancytree-drop-accept span.fancytree-drag-helper-img { // .useSprite(2, 7); // } // div.fancytree-drop-reject span.fancytree-drag-helper-img { // .useSprite(1, 7); // } // //--- Drop marker icon --------------------------------------------------------- // #fancytree-drop-marker { // width: 2 * @fancy-icon-width; // was 24px, but 32 should be correct // position: absolute; // .useSprite(0, 8); // margin: 0; // &.fancytree-drop-after, // &.fancytree-drop-before { // width: 4 * @fancy-icon-width; // 64px; // .useSprite(0, 9); // } // &.fancytree-drop-copy { // .useSprite(4, 8); // } // &.fancytree-drop-move { // .useSprite(2, 8); // } // } //--- Source node while dragging ----------------------------------------------- span.fancytree-node.fancytree-drag-source { background-color: @brand-info !important; span.fancytree.title { // outline: 1px solid @brand-info; // color: @brand-primary; } } //--- Target node while dragging cursor is over it ----------------------------- span.fancytree-node.fancytree-drop-target { &.fancytree-drop-accept span.fancytree.title { // background-color: @brand-danger !important; // outline: 1px solid @brand-success; // color: white !important; } &.fancytree-drop-reject span.fancytree.title { background-color: @brand-danger !important; // outline: 1px solid @brand-danger; // color: white !important; } } span.fancytree-expander { color: #999; // colpased expander is gray } .fancytree-expanded span.fancytree-expander { color: @fancy-font-color; } span.fancytree-node span.fancytree-expander:hover { color: cyan; } // Inactive tree: .fancytree-plain { &.fancytree-colorize-selected { span.fancytree-node.fancytree-selected, span.fancytree-node.fancytree-selected span.fancytree-title { // selected nodes inside inactive tree background-color: lighten(@fancy-select-color, 10%); border-color: lighten(@fancy-select-color, 10%); color: @fancy-active-text; } span.fancytree-node.fancytree-selected:hover span.fancytree-title { background-color: lighten(@fancy-select-color, 5%); } span.fancytree-node.fancytree-active.fancytree-selected span.fancytree-title { // active nodes inside inactive tree color: lighten(@fancy-select-color, 10%); } &.fancytree-treefocus { span.fancytree-title:hover { background-color: @fancy-hover-color; } span.fancytree-node.fancytree-selected span.fancytree-title { background-color: @fancy-select-color; } span.fancytree-node.fancytree-selected:hover span.fancytree-title { background-color: darken(@fancy-select-color, 5%); } span.fancytree-node.fancytree-active.fancytree-selected span.fancytree-title { color: @fancy-select-color; } } } &.fancytree-container { // adding this class to increase specificity, so we can override .fancytree-colorize-selected span.fancytree-node { margin-top: 2px; margin-bottom: 2px; } span.fancytree-title { border: @fancy-node-border-width solid transparent; // avoid jumping, when a border is added on hover border-radius: @border-radius-small; outline-radius: @border-radius-small; } span.fancytree-title:hover { background-color: @fancy-hover-color; } span.fancytree-node.fancytree-active span.fancytree-title { // active nodes inside inactive tree background-color: lighten(@fancy-active-color, 10%); color: @fancy-active-text; } span.fancytree-node.fancytree-active:hover span.fancytree-title { background-color: lighten(@fancy-active-color, 5%); } &.fancytree-ext-wide span.fancytree-node.fancytree-active { // in wide mode, icons of active nodes must be white-on-color color: @fancy-active-text; } // Active tree: &.fancytree-treefocus { span.fancytree-node.fancytree-focused span.fancytree-title { border-color: @brand-primary; } span.fancytree-node.fancytree-active span.fancytree-title { background-color: @fancy-active-color; border-color: @fancy-active-color; } span.fancytree-node.fancytree-active:hover span.fancytree-title { background-color: darken(@fancy-active-color, 5%); } } } } /******************************************************************************* * 'table' extension * Modifier classes on <table>: * table-hover : Enable a light mouse hover effect * fancytree-colorize-selected: Give selected (checked) rows a color */ table.fancytree-ext-table { >tbody >tr >td span.fancytree-title { border: none; } // Give a separate color for selected (checked) rows // Define *before* the .fancytree-active rules, because active color should // override selected color. &.fancytree-colorize-selected { >tbody >tr.fancytree-selected >td { // dimmed, if inside inactive tree background-color: lighten(@fancy-select-color, 10%); // white text for selected nodes &, span.fancytree-title { color: @fancy-active-text; } } &.fancytree-treefocus >tbody >tr.fancytree-selected >td { background-color: @fancy-select-color; } &.table-hover >tbody >tr.fancytree-selected:hover >td { // dimmed, if inside inactive tree background-color: lighten(@fancy-select-color, 5%); } &.fancytree-treefocus.table-hover >tbody >tr.fancytree-selected:hover >td { background-color: darken(@fancy-select-color, 5%); } &.fancytree-treefocus.table-hover >tbody >tr.fancytree-selected.fancytree-active:hover >td, &.table-hover >tbody >tr.fancytree-selected.fancytree-active:hover >td { background-color: darken(@fancy-active-color, 5%); } >tbody >tr.fancytree-active.fancytree-selected { outline-width: 2px; outline-offset: -2px; outline-style: solid; outline-color: lighten(@fancy-select-color, 10%); } } // General tree (slightly dimmed, since we also define colors for inactive // mode here). &.fancytree-container >tbody >tr.fancytree-active >td { background-color: lighten(@fancy-active-color, 10%); // white text for selected nodes &, span.fancytree-title { color: @fancy-active-text; } } // Reset to standard colors if tree has keyboard focus. // We add .fancytree-container to increase specificity, so we can override // .fancytree-colorize-selected defined above &.fancytree-treefocus.fancytree-container { >tbody >tr.fancytree-focused span.fancytree-title { outline: 1px dotted #000; } >tbody >tr.fancytree-active >td { background-color: @fancy-active-color; } &.table-hover >tbody >tr.fancytree-active:hover >td { background-color: darken(@fancy-active-color, 5%); } } }