client/app/assets/less/redash/query.less (416 lines of code) (raw):
body.fixed-layout {
padding: 0;
overflow: hidden;
#application-root {
display: flex;
flex-direction: row;
padding-bottom: 0;
width: 100vw;
height: 100vh;
.application-layout-content > div {
display: flex;
}
}
}
.p-b-60 {
padding-bottom: 60px !important;
}
.bottom-controller-container {
box-shadow: 0 0 9px 0 rgba(102, 136, 153, 0.15);
z-index: 1;
border: none !important;
flex-shrink: 0;
}
// Editor
.filter-container {
margin-bottom: 5px;
}
.schema-container {
background: transparent;
flex-grow: 1;
display: flex;
flex-direction: column;
}
.editor__left {
height: 100% !important;
width: calc(~"25% - 10px");
margin-right: 10px;
.form-control {
height: 30px;
}
}
.query-alerts {
.alert {
margin-bottom: 15px;
}
}
.query-log-line {
font-family: monospace;
white-space: pre;
margin: 0;
}
.paginator-container {
text-align: center;
}
.tile {
.paginator-container {
text-align: center;
margin-top: 10px;
}
}
.query__vis {
table {
border: 1px solid #f0f0f0;
}
.paginator-container {
text-align: center;
margin-top: 10px;
li:first-of-type {
margin-left: 0;
}
}
}
.embed__vis {
display: flex;
flex-flow: column;
width: 100%;
}
.embed-heading {
h3 {
line-height: 1.75;
margin: 0;
}
}
.widget-wrapper {
.body-container {
.filters-wrapper {
display: block;
padding-left: 15px;
}
}
}
// Don't let filters take all visualization space on query fixed layout
.query-fixed-layout {
.filters-wrapper {
max-height: 40%;
overflow: auto;
}
}
.page-header--new {
.query-tags,
.query-tags__mobile {
.label-default,
.label-warning {
margin-right: 3px;
}
}
}
.label-tag {
background: fade(@redash-gray, 15%);
color: darken(@redash-gray, 15%);
&:hover,
&:focus,
&:active {
color: darken(@redash-gray, 15%);
background: fade(@redash-gray, 25%);
}
}
.query-page-wrapper {
display: flex;
flex-direction: column;
flex-grow: 1;
position: relative;
}
.query-fullscreen {
background: #fff;
padding: 0;
box-shadow: rgba(102, 136, 153, 0.15) 0 4px 9px -3px;
flex-grow: 1;
display: flex;
.resizable-component.react-resizable {
.react-resizable-handle-horizontal {
border-right: 1px solid #efefef;
}
.react-resizable-handle-vertical {
border-bottom: 1px solid #efefef;
}
}
.query-metadata.query-metadata-horizontal {
border-bottom: 1px solid #efefef;
}
.tile,
.tiled {
box-shadow: none;
padding: 15px 0 !important;
}
nav {
position: relative;
display: flex;
flex-flow: column;
flex-basis: 25%;
flex-shrink: 0;
max-width: 600px;
min-width: 10px;
overflow-x: hidden;
.editor__left__data-source,
.schema-control,
.editor {
flex-shrink: 0;
}
.editor__left__schema,
.editor__left__data-source {
padding: 15px;
}
.editor__left__data-source {
.ant-select {
.ant-select-selection-selected-value {
img,
span {
vertical-align: middle;
}
}
}
}
.editor__left__schema {
flex-grow: 1;
display: flex;
flex-direction: column;
padding-bottom: 0;
padding-top: 0 !important;
position: relative;
.schema-container {
position: absolute;
left: 15px;
top: 0;
right: 15px;
bottom: 0;
}
}
}
.content {
background: #fff;
flex-grow: 1;
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
align-content: space-around;
padding: 0;
overflow-x: hidden;
}
.row {
background: #fff;
min-height: 50px;
&.resizable {
flex: 0 0 300px;
}
&.editor {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
align-content: space-around;
overflow: hidden;
min-height: 10px;
max-height: 70vh;
flex: 0 0 300px;
}
.row {
display: block;
min-height: 0;
}
}
section {
box-sizing: border-box;
flex: 1;
min-width: 30px;
&.resizable {
flex: 0 0 300px;
}
}
// **********************************************************************
// directive styles
// **********************************************************************
.resizable {
position: relative;
&.no-transition {
transition: none !important;
}
}
.rg-right,
.rg-left,
.rg-top,
.rg-bottom {
display: block;
width: 10px;
height: 10px;
line-height: @spacing;
position: absolute;
z-index: 99;
span {
position: absolute;
box-sizing: border-box;
display: block;
border: 1px solid #ccc;
}
}
.rg-right,
.rg-left {
span {
border-width: 0 1px;
top: 50%;
margin: -10px 0 0 @spacing / 4;
height: 20px;
width: 3px;
}
}
.rg-top,
.rg-bottom {
span {
border-width: 1px 0;
left: 50%;
margin: @spacing / 4 0 0 -10px;
width: 20px;
height: 3px;
}
}
.rg-top {
cursor: row-resize;
width: 100%;
top: 0;
left: 0;
margin-top: -@spacing / 2;
}
.rg-right {
cursor: col-resize;
border-right: 1px solid #efefef;
height: 100%;
right: 0;
top: 0;
margin-right: 0px;
&:hover {
background: fade(@redash-gray, 6%);
}
}
.rg-bottom {
cursor: row-resize;
background: #fff;
width: 100%;
bottom: 0;
left: 0;
margin-bottom: 0;
&:hover {
background: fade(@redash-gray, 6%);
}
}
.rg-left {
cursor: col-resize;
height: 100%;
left: 0;
top: 0;
margin-left: -@spacing;
}
}
.datasource-small {
visibility: hidden;
}
// Visualization editor
.modal-xl .modal-content {
border: none;
}
.visualization-editor {
.modal-title {
font-weight: 600;
font-size: 20px;
}
.modal-body {
bottom: 50px;
}
.modal-footer {
height: auto;
}
.visualization-editor__right {
margin-top: 23px;
border: 1px solid #eee;
border-radius: 3px;
.parameter-container {
padding-left: 25px;
margin-top: 10px;
}
}
}
// Left nav fixes for filling all the space
nav .rg-bottom {
visibility: hidden;
}
.query-tags {
display: inline-block;
vertical-align: middle;
}
.query-tags__mobile {
display: none;
}
.table--permission {
.profile__image {
margin-right: 0;
}
}
.mp__permission-type {
text-transform: capitalize;
}
.edit-visualization {
margin-right: 5px;
}
@media (min-width: 880px) {
.query-fullscreen {
.query-metadata.query-metadata-horizontal {
display: none;
}
}
}
// Smaller screens
@media (max-width: 880px) {
.btn--showhide,
.query-actions-menu .dropdown-toggle {
margin-bottom: 5px;
}
.btn-publish {
display: none;
}
.query-fullscreen {
flex-direction: column;
overflow: hidden;
nav {
display: none;
}
.schema-container {
display: none;
}
main {
flex-direction: column-reverse;
nav {
width: 100%;
max-width: 100%;
border-right: none;
.editor__left__schema {
height: 300px !important;
}
.rg-right {
display: none;
}
}
}
.content {
width: 100%;
height: 100%;
.static-position__mobile {
position: static !important;
}
}
.bottom-controller-container {
z-index: 9;
}
}
.datasource-small {
visibility: visible;
}
}
@media (max-width: 768px) {
.editor__left__schema,
.editor__left__data-source {
display: none;
}
.filter-container {
padding-right: 0;
}
}