icingaweb2-module-businessp.../public/css/module.less

940 lines
20 KiB
Text
Raw Normal View History

2016-11-30 08:38:17 -05:00
a:focus {
outline: none;
text-decoration: underline;
&::before {
text-decoration: none;
}
}
2016-11-22 09:28:37 -05:00
.action-bar a {
color: @icinga-blue;
&:hover::before {
text-decoration: none;
}
margin-right: 1em;
}
2014-10-30 10:08:49 -04:00
div.bp {
margin-bottom: 4px;
}
2014-10-30 10:08:49 -04:00
.simulation div.bp {
border-right: 1em solid @colorCriticalHandled;
padding-right: 1em;
background: white;
}
2014-10-30 10:08:49 -04:00
table.bp {
/* Business process table styling starts here */
width: 100%;
margin: 0;
padding: 0;
color: @text-color;
2014-10-30 10:08:49 -04:00
border-collapse: collapse;
border-spacing: 0;
box-sizing: border-box;
font-size: 1em;
2014-10-30 10:08:49 -04:00
font-weight: normal;
2014-10-30 10:08:49 -04:00
/* Reset all paddings and margins, just to be on the safe side */
th, td {
padding: 0;
margin: 0;
}
2014-10-30 10:08:49 -04:00
/* Left outer margin on nested BPs */
table.bp {
2014-10-30 10:08:49 -04:00
width: 99.6%;
margin-left: .4%;
margin-top: 4px;
2014-10-30 10:08:49 -04:00
}
2015-10-06 16:31:43 -04:00
.time-since {
display: none;
}
}
2014-10-30 10:08:49 -04:00
table.bp th {
font-weight: bold;
}
2014-10-30 10:08:49 -04:00
/* END of font settings */
2014-10-30 10:08:49 -04:00
/* No focus outline on our links, look ugly */
table.bp a:focus {
outline: none;
}
2014-10-30 10:08:49 -04:00
/* No link underlining */
table.bp a, table.bp a:hover {
text-decoration: none;
}
2014-10-30 10:08:49 -04:00
/* White font for all hovered objects */
table.bp.hovered {
color: white;
2015-10-06 16:31:43 -04:00
> tbody > tr > td > a > .time-since {
display: inline;
}
}
2014-10-30 10:08:49 -04:00
table.bp.handled.hovered {
color: #0a0a0a;
}
2014-10-30 10:08:49 -04:00
table.bp a {
color: inherit;
}
2014-10-30 10:08:49 -04:00
/* Show a pointer when hovering th, highlighting is JS-triggered */
table.bp tr th {
cursor: pointer;
}
2014-10-30 10:08:49 -04:00
/* Expand / collapse styling */
table.bp.process {
2014-11-30 04:52:13 -05:00
position: relative;
> tbody > tr:first-child > td:before {
content: '\e81d';
font-family: ifont;
position: absolute;
font-size: 1.5em;
margin-left: -0.8em;
-webkit-transition: -webkit-transform 0.3s;
-moz-transition: -moz-transform 0.3s;
-o-transition: -o-transform 0.3s;
transition: transform 0.3s;
2014-10-30 10:08:49 -04:00
}
2014-10-30 10:08:49 -04:00
&.collapsed {
2014-11-30 04:52:13 -05:00
> tbody > tr:first-child > td:before {
-webkit-transform:rotate(-90deg);
-moz-transform:rotate(-90deg);
-o-transform:rotate(-90deg);
.rotate(360deg);
2014-10-30 10:08:49 -04:00
}
2014-11-30 04:52:13 -05:00
2014-10-30 10:08:49 -04:00
table.bp, th span {
display: none;
}
}
}
2015-03-16 04:08:00 -04:00
table.bp th > a, table.bp td > a, table.bp td > span {
2014-10-30 10:08:49 -04:00
display: block;
text-decoration: none;
}
2014-10-30 10:08:49 -04:00
table.bp span.op {
width: 1.5em;
min-height: 1.5em;
margin-top: 1em;
display: block;
line-height: 2em;
transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
}
2014-10-30 10:08:49 -04:00
table.bp .icon {
float: left;
margin-top: 0.4em;
margin-right: 0.4em;
}
table.bp.node {
2015-03-04 10:55:16 -05:00
td:before {
font-family: ifont;
z-index: 1;
2015-03-04 10:55:16 -05:00
font-size: 1.25em;
position: absolute;
margin-left: 1.25em;
margin-top: 0.25em;
}
}
2015-02-12 19:49:54 -05:00
table.bp.node.subtree td:before {
content: '\e80e';
}
2014-11-30 04:52:13 -05:00
table.bp.node.service td:before {
content: '\e840';
}
table.bp.node.host td:before {
content: '\e866';
}
2014-10-30 10:08:49 -04:00
/* Border defaults */
table.bp {
2014-10-30 10:08:49 -04:00
border-width: 0;
border-style: solid;
border-color: transparent;
}
2015-03-16 04:08:00 -04:00
table.bp tr, table.bp tbody, table.bp th, table.bp td, table.bp.node td > a, table.node.missing td > span {
2014-10-30 10:08:49 -04:00
border-width: 0;
border-style: inherit;
border-color: inherit;
}
2015-03-16 04:08:00 -04:00
table.bp td > a, table.node.missing td > span {
height: 2.5em;
line-height: 2.5em;
2014-11-30 04:52:48 -05:00
padding-left: 0.5em;
display: block;
}
2015-03-16 04:08:00 -04:00
table.bp.node td > a:last-child, table.node.missing td > span {
2014-11-30 04:52:48 -05:00
padding-left: 2.5em;
background-repeat: no-repeat;
background-position: 0.5em 0.5em;
border-left-width: 0.8em;
}
2015-03-16 04:08:00 -04:00
table.bp.node.handled td > a:last-child, table.bp.node.ok td > a:last-child,
2015-10-16 16:51:23 -04:00
table.node.missing td > span, table.bp.node.up td > a:last-child
2015-03-16 04:08:00 -04:00
{
2014-11-30 04:52:48 -05:00
border-left-width: 0.3em;
background-position: 1em 0.5em;
padding-left: 3em;
}
table.bp th {
border-left-width: 0.8em;
width: 1.2em;
}
table.bp.handled > tbody > tr > th, table.bp.ok > tbody > tr > th {
border-left-width: 0.3em;
width: 2em;
}
2014-10-30 10:08:49 -04:00
/* Operator: upper line */
table.bp.operator > tbody > tr:first-child > * {
border-top-width: 1px;
border-top-style: solid;
}
2015-03-16 04:08:00 -04:00
2014-10-30 10:08:49 -04:00
table.bp.operator.hovered > tbody > tr:first-child > * {
border-top-style: solid;
}
2014-11-30 04:52:48 -05:00
/* Set colors based on element state */
2014-10-30 10:08:49 -04:00
table.bp {
&.ok { border-color: @colorOk; }
&.up { border-color: @colorOk; }
&.warning { border-color: @colorWarning; }
&.warning.handled { border-color: @colorWarningHandled; }
&.critical { border-color: @colorCritical; }
&.critical.handled { border-color: @colorCriticalHandled; }
&.down { border-color: @colorCritical; }
&.down.handled { border-color: @colorCriticalHandled; }
&.unknown { border-color: @colorUnknown; }
&.unknown.handled { border-color: @colorUnknownHandled; }
&.unreachable { border-color: @colorUnknown; }
&.unreachable.handled { border-color: @colorUnknownHandled; }
&.pending { border-color: @colorPending; }
&.missing { border-color: #ccc; }
2014-10-30 10:08:49 -04:00
&.hovered {
&.ok > tbody > tr > {
th, td > a { background-color: @colorOk; }
}
&.up > tbody > tr > {
th, td > a { background-color: @colorOk; }
}
2014-10-30 10:08:49 -04:00
&.warning > tbody > tr > {
th, td > a { background-color: @colorWarning; }
}
&.warning.handled > tbody > tr {
> th, > td > a { background-color: @colorWarningHandled; }
}
&.critical > tbody > tr > {
th, td > a { background-color: @colorCritical; }
}
&.critical.handled > tbody > tr > {
th, td > a { background-color: @colorCriticalHandled; }
}
&.down > tbody > tr > {
th, td > a { background-color: @colorCritical; }
}
&.down.handled > tbody > tr > {
th, td > a { background-color: @colorCriticalHandled; }
}
2014-10-30 10:08:49 -04:00
&.unknown > tbody > tr > {
th, td > a { background-color: @colorUnknown; }
}
&.unknown.handled > tbody > tr > {
th, td > a { background-color: @colorCUnknownHandled; }
}
&.unreachable > tbody > tr > {
th, td > a { background-color: @colorUnknown; }
}
&.unreachable.handled > tbody > tr > {
th, td > a { background-color: @colorCUnreachableHandled; }
}
2015-03-16 04:08:00 -04:00
&.pending > tbody > tr > {
th, td > a { background-color: @colorPending; }
}
2015-02-06 17:31:25 -05:00
&.missing > tbody > tr > {
2015-03-16 04:08:00 -04:00
th, td > a, td > span { background-color: #ccc; }
2015-02-06 17:31:25 -05:00
}
2014-10-30 10:08:49 -04:00
}
}
2014-11-30 04:53:15 -05:00
/* Reduce font size after the 3rd level... */
2014-10-30 10:08:49 -04:00
table.bp table.bp table.bp table.bp {
font-size: 0.95em;
2014-10-30 10:08:49 -04:00
}
2014-11-30 04:53:15 -05:00
/* ...and keep it constant afterwards */
2014-10-30 10:08:49 -04:00
table.bp table.bp table.bp table.bp table.bp {
font-size: 1em;
}
2014-10-30 10:08:49 -04:00
/* Transitions */
div.knightrider table.bp {
2014-10-30 10:08:49 -04:00
// That's ugly, I know
.transition(@val1, @val2) {
transition: @val1, @val2;
-moz-transition: @val1, @val2;
-o-transition: @val1, @val2;
-webkit-transition: @val1, @val2;
}
2015-03-16 04:08:00 -04:00
> tbody > tr > td > a:last-child, > tbody > tr > td > span, > tbody > tr > th {
2014-10-30 10:08:49 -04:00
// Fade out
.transition(color 0.5s 0.1s step-start,
background-color 0.5s 0.1s ease-out
);
}
&.hovered > tbody > tr {
2015-03-16 04:08:00 -04:00
> td > a:last-child, > td > span, > th {
2014-10-30 10:08:49 -04:00
// Fade in
.transition(color 0.0s 0.0s step-start,
background-color 0.0s 0.0s ease-out
);
}
}
}
2016-11-27 18:28:33 -05:00
/** BEGIN Tiles **/
.tiles:after {
content:'';
display:block;
clear: both;
}
2016-11-27 18:28:33 -05:00
.tiles > div {
width: 12em;
height: 6em;
float: left;
margin-right: 0.2em;
margin-bottom: 0.2em;
color: @text-color;
border: 1px solid @text-color;
border-left: 0.5em solid @text-color;
a:hover {
background-color: @text-color;
color: white;
}
}
2016-11-27 18:28:33 -05:00
.tiles > div.parent::before {
content: '&';
position: absolute;
font-size: 1.2em;
}
.tiles > div.parent {
width: 100%;
height: 2em;
}
.tiles > div > a {
text-decoration: none;
font-size: 0.5em;
color: inherit;
vertical-align: middle;
text-align: center;
display: block;
padding: 1em;
font-weight: bold;
word-wrap: break-word;
2016-11-27 18:28:33 -05:00
width: 100%;
height: 12em;
box-sizing: border-box;
2016-11-30 08:38:17 -05:00
i {
float: left;
font-size: 2.5em;
margin-top: -0.1em;
}
}
2016-11-27 18:28:33 -05:00
.tiles > div > a:hover {
color: white;
}
2016-11-27 18:28:33 -05:00
.badges {
display: block;
padding: 0.5em;
.badge {
border: 1px solid white;
margin: 0;
margin-right: 1px;
}
}
div.bp .badges {
display: inline-block;
padding-top: 0;
}
2016-11-27 18:28:33 -05:00
.badge-critical, .badge-down { background: @colorCritical; }
.badge-unknown, .badge-unreachable { background: @colorUnknown; }
.badge-warning { background: @colorWarning; }
.badge-pending { background: @colorPending; }
.badge-missing { background: #ccc; }
.tiles {
> .critical { border-color: @colorCritical; }
> .critical.handled { border-color: @colorCriticalHandled; }
> .down { border-color: @colorCritical; }
> .down.handled { border-color: @colorCriticalHandled; }
> .unknown { border-color: @colorUnknown; }
> .unknown.handled { border-color: @colorUnknownHandled; }
> .unreachable { border-color: @colorUnknown; }
> .unreachable.handled { border-color: @colorUnknownHandled; }
> .warning { border-color: @colorWarning; }
> .warning.handled { border-color: @colorWarningHandled; }
> .ok { border-color: @colorOk; }
> .pending { border-color: @colorPending; }
> .missing { border-color: #ccc; }
}
.tiles {
> .critical a:hover { background: @colorCritical; }
> .critical.handled a:hover { background: @colorCriticalHandled; }
> .down a:hover { background: @colorCritical; }
> .down.handled a:hover { background: @colorCriticalHandled; }
> .unknown a:hover { background: @colorUnknown; }
> .unknown.handled a:hover { background: @colorUnknownHandled; }
> .unreachable a:hover { background: @colorUnknown; }
> .unreachable.handled a:hover { background: @colorUnknownHandled; }
> .warning a:hover { background: @colorWarning; }
> .warning.handled a:hover { background: @colorWarningHandled; }
> .ok a:hover { background: @colorOk; }
> .pending a:hover { background: @colorPending; }
> .missing a:hover { background: #ccc; }
2016-11-27 18:28:33 -05:00
}
.tiles > .addnew {
border-color: @icinga-blue;
2016-11-27 18:28:33 -05:00
a {
color: @icinga-blue;
&:hover {
background: @icinga-blue;
}
}
&.with-form {
width: auto;
height: auto;
min-width: 30em;
min-height: 10em;
a {
display: none;
}
}
}
2016-11-27 18:28:33 -05:00
.tiles .missing a {
pointer-events: none;
cursor: default;
}
.tiles.few { font-size: 3em; }
.tiles.normal { font-size: 2em; }
.tiles.many { font-size: 1.5em; }
#layout.twocols, #layout.layout-minimal, .compact {
.tiles.few { font-size: 1.8em; }
.tiles.normal { font-size: 1.4em; }
.tiles.many { font-size: 0.9em; }
}
2016-11-27 18:28:33 -05:00
#layout.fullscreen-layout .controls {
padding: 0 1em;
}
2016-11-27 18:28:33 -05:00
/** END of tiles **/
/** BEGIN breadcrumb **/
.breadcrumb {
list-style: none;
overflow: hidden;
padding: 0;
.badges {
display: inline-block;
padding: 0 0 0 0.5em;
2016-11-27 18:28:33 -05:00
.badge {
line-height: 1.25em;
2016-11-27 18:28:33 -05:00
font-size: 0.8em;
border: 1px solid white;
margin: 0;
margin-right: 1px;
}
}
}
2016-11-27 18:28:33 -05:00
.breadcrumb {
> .critical a { background: @colorCritical; }
> .critical.handled a { background: @colorCriticalHandled; }
> .unknown a { background: @colorUnknown; }
> .unknown.handled a { background: @colorUnknownHandled; }
> .warning a { background: @colorWarning; }
> .warning.handled a { background: @colorWarningHandled; }
> .ok a { background: @colorOk; }
}
2016-11-27 18:28:33 -05:00
.breadcrumb {
> .critical a:after { border-left-color: @colorCritical; }
> .critical.handled a:after { border-left-color: @colorCriticalHandled; }
> .unknown a:after { border-left-color: @colorUnknown; }
> .unknown.handled a:after { border-left-color: @colorUnknownHandled; }
> .warning a:after { border-left-color: @colorWarning; }
> .warning.handled a:after { border-left-color: @colorWarningHandled; }
> .ok a:after { border-left-color: @colorOk; }
}
2016-11-27 18:28:33 -05:00
.breadcrumb:after {
content:'';
display:block;
clear: both;
}
2016-11-27 18:28:33 -05:00
.breadcrumb li {
float: left;
cursor: pointer;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
2016-11-27 18:28:33 -05:00
}
.breadcrumb li a {
color: white;
margin: 0;
font-size: 1.2em;
text-decoration: none;
padding-left: 2em;
line-height: 2.5em;
2016-11-27 18:28:33 -05:00
background: @icinga-blue;
position: relative;
display: block;
float: left;
&:focus {
outline: none;
}
}
2016-11-27 18:28:33 -05:00
.breadcrumb li a:before, .breadcrumb li a:after {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 1.3em solid transparent;
border-bottom: 1.2em solid transparent;
2016-11-27 18:28:33 -05:00
position: absolute;
margin-top: -1.2em;
2016-11-27 18:28:33 -05:00
top: 50%;
left: 100%;
}
2016-11-27 18:28:33 -05:00
.breadcrumb li a:before {
border-left: 1.2em solid white;
2016-11-27 18:28:33 -05:00
margin-left: 1px;
z-index: 1;
}
2016-11-27 18:28:33 -05:00
.breadcrumb li a:after {
border-left: 1.2em solid @icinga-blue;
2016-11-27 18:28:33 -05:00
z-index: 2;
}
2016-11-27 18:28:33 -05:00
.breadcrumb li:first-child a {
padding-left: 1em;
}
.breadcrumb li:last-child a {
cursor: default;
2015-02-06 17:31:25 -05:00
}
.breadcrumb li:last-child a:hover {
}
2015-02-06 17:31:25 -05:00
.breadcrumb li:not(:last-child) a:hover { background: @text-color; color: white; }
.breadcrumb li:not(:last-child) a:hover:after { border-left-color: @text-color; }
.breadcrumb li a:focus {
text-decoration: underline;
}
2016-11-27 18:28:33 -05:00
#layout.twocols, #layout.layout-minimal, .compact {
.breadcrumb {
font-size: 0.9em;
}
}
/** END of breadcrumb **/
2016-11-27 18:28:33 -05:00
ul.error {
padding: 0;
list-style-type: none;
background-color: @colorCritical;
li {
font-weight: bold;
color: white;
padding: 0.3em 0.8em;
}
2015-03-16 04:08:00 -04:00
li a {
color: inherit;
}
}
2015-03-16 04:08:00 -04:00
table.sourcecode {
font-family: monospace;
white-space: pre-wrap;
th {
vertical-align: top;
padding-right: 0.5em;
user-select: none;
-moz-user-select: none;
-o-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
font-weight: bold;
}
td {
vertical-align: top;
}
}
.diff {
font-family: monospace;
white-space: pre-wrap;
del, ins {
text-decoration: none;
}
del {
color: @colorCritical;
background-color: #fdd;
}
ins {
color: @colorOk;
background-color: #dfd;
}
}
2016-11-30 08:38:17 -05:00
/** Forms stolen from director **/
.content form {
margin-bottom: 2em;
2016-11-30 08:38:17 -05:00
}
.content form.inline {
margin: 0;
}
.invisible {
position: absolute;
left: -100%;
}
form input[type=file] {
background-color: white;
padding-right: 1em;
}
2016-11-30 08:38:17 -05:00
form input[type=submit] {
.button();
border-width: 1px;
margin-top: 0.5em;
&:disabled {
border-color: @gray-light;
background-color: @gray-light;
color: #fff;
}
2016-11-30 08:38:17 -05:00
}
form input[type=submit]:first-of-type {
border-width: 2px;
}
form input[type=submit].link-button {
color: @icinga-blue;
background: none;
border: none;
padding: 0;
text-align: left;
&:hover {
text-decoration: underline;
}
}
2016-11-30 08:38:17 -05:00
form p.description {
padding: 1em 1em;
margin: 0;
font-style: italic;
width: 100%;
}
input, select, select option, textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
2016-11-30 08:38:17 -05:00
}
form ul.form-errors {
margin-bottom: 0.5em;
2016-11-30 08:38:17 -05:00
ul.errors li {
background: @color-critical;
font-weight: bold;
padding: 0.5em 1em;
color: white;
}
}
select::-ms-expand, input::-ms-expand, textarea::-ms-expand { /* for IE 11 */
display: none;
}
select {
border: 1px solid #ddd;
cursor: pointer;
background: none;
}
input[type=text], input[type=password], textarea, select {
2016-11-30 08:38:17 -05:00
max-width: 36em;
min-width: 20em;
width: 100%;
line-height: 2em;
height: 2.4em;
2016-11-30 08:38:17 -05:00
padding-left: 0.5em;
border-style: solid;
border-color: transparent;
border-bottom-color: @gray-lighter;
2016-11-30 08:38:17 -05:00
border-width: 1px 1px 1px 3px;
background-color: white;
2016-11-30 08:38:17 -05:00
&.search {
background: transparent url("../img/icons/search.png") no-repeat scroll 0.5em center / 1em 1em;
2016-11-30 08:38:17 -05:00
padding-left: 2em;
}
}
select[multiple] {
height: auto;
}
select option {
height: 2em;
padding-top: 0.3em;
}
select[multiple=multiple] {
height: auto;
}
label {
line-height: 2em;
}
form dl {
margin: 0;
padding: 0;
}
2016-11-30 08:38:17 -05:00
select::-moz-focus-inner { border: 0; }
select:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 #000;
}
2016-11-30 08:38:17 -05:00
select, input[type=text], textarea {
&:hover {
border-style: dotted solid dotted solid;
border-color: @gray-light;
}
&:focus, &:focus:hover {
border-style: solid;
border-color: @icinga-blue;
outline: none;
}
}
select[value=""] {
color: blue;
border: 1px solid #666;
background-color: white;
2016-11-30 08:38:17 -05:00
}
select option {
color: inherit;
padding-left: 0.5em;
background-color: white;
2016-11-30 08:38:17 -05:00
}
select option[value=""] {
color: #aaa;
background-color: white;
2016-11-30 08:38:17 -05:00
}
form dt label {
width: auto;
font-weight: normal;
font-size: inherit;
&.required {
&::after {
content: '*'
}
}
&:hover {
text-decoration: underline;
cursor: pointer;
}
}
form fieldset {
min-width: 36em;
}
form dd input.related-action[type='submit'] {
display: none;
}
form dd.active li.active input.related-action[type='submit'] {
display: inline-block;
}
form dd.active {
p.description {
color: inherit;
font-style: normal;
}
2016-11-30 08:38:17 -05:00
}
form dd {
padding: 0.3em 0.5em;
margin: 0;
}
form dt {
padding: 0.5em 0.5em;
2016-11-30 08:38:17 -05:00
margin: 0;
}
form dt.active, form dd.active {
background-color: @tr-active-color;
}
2016-11-30 08:38:17 -05:00
form dt {
display: inline-block;
vertical-align: top;
min-width: 12em;
min-height: 2.5em;
width: 30%;
&.errors label {
color: @color-critical;
}
}
form .errors label {
color: @color-critical;
}
form dd {
display: inline-block;
width: 63%;
min-height: 2.5em;
vertical-align: top;
margin: 0;
&.errors {
input[type=text], select {
border-color: @color-critical;
}
}
&.full-width {
padding: 0.5em;
width: 100%;
}
2016-11-30 08:38:17 -05:00
}
form dd:after {
display: block;
content: '';
}
form textarea {
height: auto;
}
form dd ul.errors {
list-style-type: none;
padding-left: 0.3em;
li {
color: @colorCritical;
padding: 0.3em;
}
}
form div.hint {
padding: 1em;
background-color: @tr-hover-color;
2016-11-30 08:38:17 -05:00
margin: 1em 0;
max-width: 65em;
font-size: 1em;
2016-11-30 08:38:17 -05:00
pre {
font-style: normal;
background-color: white;
margin: 0;
padding: 1em;
}
}
form {
#_FAKE_SUBMIT {
position: absolute;
left: -100%;
}
}
2016-11-30 08:38:17 -05:00
/** End of forms **/