@eclipse-scout/chart
Version:
Eclipse Scout chart
296 lines (244 loc) • 7.36 kB
text/less
/*
* Copyright (c) 2010, 2023 BSI Business Systems Integration AG
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*/
.chart-table-control-content {
padding: @table-control-content-padding;
}
.chart-container {
white-space: nowrap;
position: relative;
height: 100%;
width: 100%;
display: flex;
align-items: flex-start;
& > .scrollbar.y-axis {
width: 22px;
}
}
/* chart - type select */
.chart-select {
display: flex;
flex-flow: column;
width: 75px;
margin: 25px;
& > .icon {
padding: 15px 0;
margin-bottom: 8px;
min-width: 60px;
font-size: 26px;
font-weight: @icon-font-weight-light;
text-align: center;
border-radius: @border-radius-medium;
color: @button-color;
&:not(.disabled) {
cursor: pointer;
&.selected,
&.selected:hover {
background-color: @default-button-background-color;
color: @default-button-color;
}
&:hover {
color: @button-hover-color;
background-color: @hover-background-color;
}
}
&.disabled {
color: @button-disabled-color;
}
}
}
/* chart - axis and data select */
@chart-table-control-axis-select-width: 175px;
.axis-select-container {
display: flex;
position: relative;
margin-top: 25px;
margin-bottom: 25px;
border: 1px solid @border-color;
border-radius: @border-radius;
max-height: calc(100% - 50px);
min-height: 310px;
& > .xaxis-select,
& > .yaxis-select,
& > .data-select {
display: inline-block;
overflow: hidden;
width: @chart-table-control-axis-select-width;
padding: 3px 0;
border-left: 1px solid @border-color;
}
& > :first-child {
width: @chart-table-control-axis-select-width - 1px;
border-left: none;
}
& > .yaxis-select {
&.hide {
width: 0;
border-width: 0;
}
&.animated {
#scout.animation(show-axis-select 0.5s ease-in-out 1);
&.hide {
#scout.animation(hide-axis-select 0.5s ease-in-out 1);
}
}
}
}
.select-axis, .select-data {
position: relative;
height: 30px;
width: calc(100% - 6px);
margin: 0 3px 2px;
padding-left: 8px;
padding-right: 20px;
padding-top: @text-margin-top;
border-radius: @border-radius;
cursor: pointer;
line-height: 30px;
#scout.overflow-ellipsis();
&:hover {
background-color: @hover-background-color;
}
&:last-child {
margin-bottom: 0;
}
&.selected {
background-color: @selected-background-color;
color: @selected-color;
}
&.disabled {
cursor: default;
background-color: @table-control-container-background-color;
color: @table-control-disabled-color;
&:hover {
background-color: @table-control-container-background-color;
}
}
& > .select-axis-group {
position: relative;
top: -7px;
font-size: @font-size-extra-small;
line-height: 12px;
display: none;
}
&.selected > .select-axis-group {
display: block;
}
&::before {
position: absolute;
font-size: 16px;
line-height: 16px;
right: 8px;
top: 7px;
#scout.font-icon();
}
&.data-count.selected::before {
content: @icon-count;
font-size: 20px;
top: 6px;
right: 5px;
}
&.data-sum.selected::before {
content: @icon-sum;
}
&.data-avg.selected::before {
content: @icon-avg;
}
}
.chart-container > .chart {
position: relative;
flex-grow: 1;
align-self: stretch;
margin: 35px 25px 25px;
min-width: 350px;
min-height: 300px;
max-height: 600px;
&.dense {
min-height: 250px;
}
& > canvas {
opacity: inherit;
}
}
@chart-table-control-chart-data-color: @palette-orange-3;
.chart-table-control {
& > .bar-chart,
& > .horizontalBar-chart {
& > .elements {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color);
#scout.chart-stroke-colors-schemes(@chart-table-control-chart-data-color);
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover");
#scout.chart-stroke-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover");
}
&.checkable > .elements {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 20);
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @additional-classes: ~".checked");
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 35, @additional-classes: ~".hover");
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover.checked");
}
}
& > .line-chart {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 20);
#scout.chart-stroke-colors-schemes(@chart-table-control-chart-data-color);
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 35, @additional-classes: ~".hover");
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @additional-classes: ~".legend");
}
& > .pie-chart {
& > .elements {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color);
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover");
}
&.checkable > .elements {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 70);
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @additional-classes: ~".checked");
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 85, @additional-classes: ~".hover");
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover.checked");
}
}
& > .bubble-chart {
& > .elements {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 20);
#scout.chart-stroke-colors-schemes(@chart-table-control-chart-data-color);
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @opacity: 35, @additional-classes: ~".hover");
#scout.chart-stroke-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover");
}
&.checkable > .elements {
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @additional-classes: ~".checked");
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @darken: 10, @additional-classes: ~".hover.checked");
}
#scout.chart-colors-schemes(@chart-table-control-chart-data-color, @additional-classes: ~".legend");
}
}
/*** Animations ***/
/*** show ***/
.keyframes-show-axis-select() {
from {
width: 0;
border-width: 0;
}
}
@-webkit-keyframes show-axis-select {
.keyframes-show-axis-select();
}
@keyframes show-axis-select {
.keyframes-show-axis-select();
}
/*** hide ***/
.keyframes-hide-axis-select() {
from {
width: @chart-table-control-axis-select-width;
border-width: 1px;
}
}
@-webkit-keyframes hide-axis-select {
.keyframes-hide-axis-select();
}
@keyframes hide-axis-select {
.keyframes-hide-axis-select();
}