horizon/openstack_dashboard/static/dashboard/scss/horizon.scss

717 lines
12 KiB
SCSS

// Custom Theme Variables
@import "/custom/variables";
// Horizon Variables
@import "variables";
// Horizon Mixins
@import "mixins";
// Horizon Util
@import "util";
// Vendor Components
@import "/bootstrap/scss/bootstrap";
@import "/horizon/lib/font-awesome/scss/font-awesome.scss";
// Main Page Layout
@import "layout";
// Dashboard Components
@import "components/login";
@import "components/resource_browser";
@import "components/sidebar";
@import "components/navbar";
@import "components/inline_edit";
@import "components/charts";
@import "components/workflow";
@import "components/network_topology";
@import "components/context_selection";
@import "components/pie_charts";
@import "components/bar_charts";
@import "components/quota";
@import "components/table_actions";
@import "/framework/framework";
@import "components/tables";
@import "components/messages";
@import "components/table_actions";
// Contrib stuff
@import "contrib";
// Legacy
@import "legacy";
// Debt
@import "debt";
small {
font-size: 11px;
}
a {
color: $link-color;
text-decoration: none;
}
a:hover,
a:focus {
color: $link-hover-color;
text-decoration: underline;
}
h2 {
color: $headings-color;
font-size: 30px;
font-weight: normal;
}
/* Tenant Dropdown */
a.current_item {
width: 163px;
float: left;
}
a.current_item:hover {
text-decoration: none;
}
a.current_item:hover h3,
a.current_item:hover h4 {
color: $link-hover-color;
border-radius: 4px;
}
.inspect {
float: left;
display: block;
margin-top: 5px;
margin-right: 25px;
}
.hidden {
display: none;
}
.overview {
font-size: 24px;
}
/* Forms */
.datepicker {
z-index: $zindex-popover !important;
}
.datepicker input{
@extend .form-control;
}
.modal.fullscreen .modal-dialog {
width: 90%;
margin: auto;
left: 5%;
}
.modal.loading .modal-dialog {
width: 170px;
.modal-body {
height: 170px;
}
}
.modal.loading p {
text-align: center;
position: absolute;
bottom: 0;
width: 150px;
}
.modal-body {
overflow-y: visible;
max-height: none;
}
.modal-body textarea{
resize: vertical;
}
.modal-body table {
margin-bottom: 30px;
}
.modal-body ~ hr {
margin-bottom: 0;
}
.modal-footer {
input {
width: auto;
}
.footer-row {
margin-right: 0px;
margin-left: 0px;
}
a.close {
margin-top: 0;
margin-right: 5px;
font-size: $font-size-base;
line-height: $line-height-base;
color: #666;
font-weight: normal;
filter: alpha(opacity=100);
-khtml-opacity: 1;
-moz-opacity: 1;
opacity: 1;
}
a.close:hover {
color: #333;
text-decoration: none;
}
}
.modal-body .modal-footer {
width: 670px;
margin-left: -25px;
margin-right: -15px;
}
.modal-body .help-block {
text-align: left;
float: left;
width: 100%;
margin-bottom: 10px;
}
/*New List Patches*/
.details-modal .modal-body {
padding-bottom: 20px;
}
.form-inline {
display: inline;
input, button, a.btn, .btn-group {
margin-left: 5px;
}
}
/* Tables */
tr.deleted {
color: #999999;
}
#main_content {
min-width: $main-content-min-width;
}
.tab_wrapper {
padding-top: 50px;
}
div .flavor_table {
border: 1px solid $table-border-color;
width: 100%;
margin-bottom: 14px;
}
.flavor_table .flavor_name {
white-space: nowrap;
font-weight: bold;
text-align: left;
padding: 7px 12px 7px 7px;
width: 160px;
}
.item_detail .detail_section {
margin-bottom: 25px;
float: left;
margin-right: 50px;
}
label.log-length {
line-height: 28px;
margin-right: 10px;
}
.split_five div.form-group input[type="text"],
.split_five div.form-group select {
width: 120px;
}
#admin_warning_detail {
ul {
list-style: circle;
padding-left: 20px;
margin-bottom: 10px;
}
}
/* Membership widget UI */
.membership {
min-height: 200px;
/* Header */
.help_text {
margin-bottom: 15px;
}
.fake_table_header {
padding: 8px;
border: 1px solid $table-border-color;
border-bottom: none;
overflow: hidden;
}
.members_title {
color: $gray;
font-weight: bold;
float: left;
padding: 6px 0;
}
input.filter {
width: 120px;
float: right;
&[type="text"]:disabled {
background-color: $gray-lighter;
& + span.search-icon {
color: $gray-light;
}
}
}
.form-control-feedback { top: 0; }
.no_results {
border: 1px solid $table-border-color;
padding: 9px 10px 8px 10px;
opacity: 0.5;
}
li.scope input{
background: none;
margin-top: 10px;
margin-bottom: 10px;
width: 120px;
margin-left: 10px;
}
li.select_resource {
margin-left: 5px;
margin-top: 15px;
}
li.display_name {
width: 130px;
margin: 15px 7px 15px 10px;
}
/* Member lists */
.update_members_filterable {
overflow-y: auto;
height: 500px;
}
.members, .available_members {
padding: 0;
.btn-primary {
@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
}
// reset nav-pills display to block
ul.nav-pills {
display: block;
& > li > a {
border-radius: $border-radius-base;
}
}
ul.btn-group {
margin-left:0;
padding: $members-list-padding;
margin-bottom: 0;
border: $members-list-border;
border-bottom: none;
&.last_stripe {
border-bottom: 1px solid $table-border-color;
}
&.light_stripe {
background-color: $table-bg;
}
&.dark_stripe {
background-color: $table-bg-accent;
}
&:hover {
background-color: $border-color;
}
li.active {
float: right;
a:hover {
background-color: $link-hover-color;
}
}
.member,
.role_options .roles_display {
overflow: hidden;
text-overflow: ellipsis;
}
.member {
padding: $nav-link-padding;
padding-right: 0;
padding-left: $padding-base-vertical;
max-width: $members-list-item-width;
}
.role_options {
margin-left: 0;
& > a {
padding: nth($nav-link-padding, 1) $padding-small-horizontal;
.roles_display {
display: inline-block;
max-width: $members-list-roles-width;
line-height: 1;
padding-right: $padding-base-vertical;
}
}
.role_dropdown > li {
word-break: break-all;
}
}
}
}
/* Role dropdown menus */
.role_dropdown {
right: 0;
left: auto;
& > li {
.fa-check {
visibility: hidden;
}
&.selected .fa-check {
visibility: visible;
}
}
}
.nav .role_options {
float: right;
}
}
/* Inline member creation */
.add_member_btn {
display: inline;
}
/**** Resource Topology CSS ****/
.link {
stroke: #999;
stroke-width: 1.5px;
}
.node {
cursor:pointer;
}
.node text {
font: 12px sans-serif;
}
#resource_container {
position:relative;
}
#stack_box {
position: absolute;
width: 300px;
top: 10px;
left: 10px;
}
#stack_box h3 {
font-size: 11pt;
line-height: 20px;
}
#stack_box p {
margin: 0;
font-size: 9pt;
line-height: 14px;
}
#stack_box a {
margin: 0;
font-size: 9pt;
line-height: 14px;
}
#stack_box img {
float:left;
}
#stack_box #stack_info {
float:left;
white-space:normal;
width:200px;
}
#info_box {
position: absolute;
width: 300px;
top: 100px;
left: 10px;
}
#info_box h3 {
font-size: 9pt;
line-height: 20px;
}
#info_box p {
margin: 0;
font-size: 9pt;
line-height: 14px;
}
#info_box a {
margin: 0;
font-size: 9pt;
line-height: 14px;
}
#info_box .error {
color: darken($brand-danger, 20%);
}
/* Styling for draged firewall rule object */
#ruleListSortContainer {
display: none;
}
.rulelist {
padding: 6px;
background: #eee;
border: 1px solid $border-color;
min-height: 2em;
width: auto !important;
@include box-sizing(border-box);
li {
width: 226px;
list-style-type: none;
margin: 6px auto;
padding: 3px;
background: $body-bg;
border: 1px solid $border-color;
line-height: 18px;
border-radius: 3px;
cursor: move;
padding-left: 23px;
background: $body-bg url(../img/drag.png) no-repeat 11px 50%;
em {
font-size: 0.5em;
line-height: 1em;
color:#999;
font-style: normal;
margin-left: 0.8em;
}
i {
margin-right: 5px;
vertical-align: middle;
}
a.btn {
@include box-sizing(border-box);
font-size: 11px;
line-height: 12px;
padding: 2px 5px 3px;
margin-right: 1px;
width: 18px;
text-align: center;
//position: absolute;
right:5px;
vertical-align: middle;
float: right;
&:before {
content: "+";
}
}
}
li.ui-sortable-helper {
background-color: #def;
}
li.ui-state-highlight {
border: 1px dotted $border-color;
background: #efefef;
height: 0.5em;
}
li:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
}
#selected_rule {
margin-bottom: 1.5em;
counter-reset:v1 0;
background: #edf9ff;
border:1px solid $border-color;
li {
position: relative;
a.btn {
&:before {
content: "-";
}
}
}
li:before {
content:"rule:"counter(v1);
counter-increment:v1;
display: inline-block;
margin-right: 5px;
background: $gray;
color:$body-bg;
font-size: 90%;
padding: 0px 4px;
vertical-align: middle;
border-radius: 2px;
position: absolute;
left: -2em;
}
&.dragging {
li:before {
content:"rule:";
background-color:rgba(102,102,102,0.5);
padding-right: 10px;
}
li.ui-state-highlight:before {
content:"";
background:transparent;
}
}
}
/* Styling for draged firewall router object */
#routerListSortContainer {
display: none;
}
.routerlist {
padding: 6px;
background: #eee;
border: 1px solid $border-color;
min-height: 2em;
width: auto !important;
@include box-sizing(border-box);
li {
width: 226px;
list-style-type: none;
margin: 6px auto;
padding: 3px;
background: $body-bg;
border: 1px solid $border-color;
line-height: 18px;
border-radius: 3px;
cursor: move;
padding-left: 23px;
background: $body-bg url(../img/drag.png) no-repeat 11px 50%;
em {
font-size: 0.5em;
line-height: 1em;
color:#999;
font-style: normal;
margin-left: 0.8em;
}
i {
margin-right: 5px;
vertical-align: middle;
}
a.btn {
@include box-sizing(border-box);
font-size: 11px;
line-height: 12px;
padding: 2px 5px 3px;
margin-right: 1px;
width: 18px;
text-align: center;
//position: absolute;
right:5px;
vertical-align: middle;
float: right;
&:before {
content: "+";
}
}
}
li.ui-sortable-helper {
background-color: #def;
}
li.ui-state-highlight {
border: 1px dotted $border-color;
background: #efefef;
height: 0.5em;
}
li:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
}
#selected_router {
margin-bottom: 1.5em;
counter-reset:v1 0;
background: #edf9ff;
border:1px solid $border-color;
li {
position: relative;
a.btn {
&:before {
content: "-";
}
}
}
li:before {
content:"router:"counter(v1);
counter-increment:v1;
display: inline-block;
margin-right: 5px;
background: $gray;
color:$body-bg;
font-size: 90%;
padding: 0px 4px;
vertical-align: middle;
border-radius: 2px;
position: absolute;
left: -2em;
}
&.dragging {
li:before {
content:"router:";
background-color:rgba(102,102,102,0.5);
padding-right: 10px;
}
li.ui-state-highlight:before {
content:"";
background:transparent;
}
}
}
/* Read only text fields */
.form-control[readonly], .view-credentials input {
cursor: text;
}
/**** Popover ****/
a.link-popover { cursor: default; }
a:hover.link-popover { text-decoration: none; }
/**** Form Horizontal Override ****/
.form-horizontal {
.form-group {
margin-right: 0px !important;
}
.form-control-feedback {
right: 0px !important;
}
}