Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Removes hard-coded colors from the plugins - iteration 2 #20006

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ const columnsConfig = isFeatureEnabled(FeatureFlag.ENABLE_EXPLORE_DRAG_AND_DROP)
? dndEntity
: allColumns;

const colorChoices = [
['rgb(0, 139, 139)', 'Dark Cyan'],
['rgb(128, 0, 128)', 'Purple'],
['rgb(255, 215, 0)', 'Gold'],
['rgb(69, 69, 69)', 'Dim Gray'],
['rgb(220, 20, 60)', 'Crimson'],
['rgb(34, 139, 34)', 'Forest Green'],
];

const config: ControlPanelConfig = {
controlPanelSections: [
sections.legacyRegularTime,
Expand Down Expand Up @@ -249,15 +258,8 @@ const config: ControlPanelConfig = {
type: 'SelectControl',
freeForm: true,
label: t('RGB Color'),
default: 'rgb(0, 122, 135)',
choices: [
['rgb(0, 139, 139)', 'Dark Cyan'],
['rgb(128, 0, 128)', 'Purple'],
['rgb(255, 215, 0)', 'Gold'],
['rgb(69, 69, 69)', 'Dim Gray'],
['rgb(220, 20, 60)', 'Crimson'],
['rgb(34, 139, 34)', 'Forest Green'],
],
default: colorChoices[0][0],
choices: colorChoices,
description: t('The color for points and clusters in RGB'),
},
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ const formatPercentChange = getNumberFormatter(
export default function transformProps(
chartProps: BigNumberWithTrendlineChartProps,
) {
const { width, height, queriesData, formData, rawFormData } = chartProps;
const { width, height, queriesData, formData, rawFormData, theme } =
chartProps;
const {
colorPicker,
compareLag: compareLag_,
Expand Down Expand Up @@ -194,7 +195,7 @@ export default function transformProps(
},
{
offset: 1,
color: 'white',
color: theme.colors.grayscale.light5,
},
]),
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export function formatFunnelLabel({
export default function transformProps(
chartProps: EchartsFunnelChartProps,
): FunnelChartTransformedProps {
const { formData, height, hooks, filterState, queriesData, width } =
const { formData, height, hooks, filterState, queriesData, width, theme } =
chartProps;
const data: DataRecord[] = queriesData[0].data || [];

Expand Down Expand Up @@ -173,7 +173,7 @@ export default function transformProps(
const defaultLabel = {
formatter,
show: showLabels,
color: '#000000',
color: theme.colors.grayscale.dark2,
};

const series: FunnelSeriesOption[] = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,32 +16,35 @@
* specific language governing permissions and limitations
* under the License.
*/
import { SupersetTheme } from '@superset-ui/core';
import { GaugeSeriesOption } from 'echarts';

export const DEFAULT_GAUGE_SERIES_OPTION: GaugeSeriesOption = {
export const defaultGaugeSeriesOption = (
theme: SupersetTheme,
): GaugeSeriesOption => ({
splitLine: {
lineStyle: {
color: '#63677A',
color: theme.colors.primary.base,
},
},
axisLine: {
lineStyle: {
color: [[1, '#E6EBF8']],
color: [[1, theme.colors.primary.light4]],
},
},
axisLabel: {
color: '#464646',
color: theme.colors.grayscale.dark1,
},
axisTick: {
lineStyle: {
width: 2,
color: '#63677A',
color: theme.colors.primary.base,
},
},
detail: {
color: 'auto',
},
};
});

export const INTERVAL_GAUGE_SERIES_OPTION: GaugeSeriesOption = {
splitLine: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import {
EchartsGaugeChartProps,
} from './types';
import {
DEFAULT_GAUGE_SERIES_OPTION,
defaultGaugeSeriesOption,
INTERVAL_GAUGE_SERIES_OPTION,
OFFSETS,
FONT_SIZE_MULTIPLIERS,
Expand Down Expand Up @@ -83,8 +83,11 @@ const calculateAxisLineWidth = (
export default function transformProps(
chartProps: EchartsGaugeChartProps,
): GaugeChartTransformedProps {
const { width, height, formData, queriesData, hooks, filterState } =
const { width, height, formData, queriesData, hooks, filterState, theme } =
chartProps;

const gaugeSeriesOptions = defaultGaugeSeriesOption(theme);

const {
groupby,
metric,
Expand Down Expand Up @@ -205,14 +208,14 @@ export default function transformProps(
length: splitLineLength,
lineStyle: {
width: FONT_SIZE_MULTIPLIERS.splitLineWidth * fontSize,
color: DEFAULT_GAUGE_SERIES_OPTION.splitLine?.lineStyle?.color,
color: gaugeSeriesOptions.splitLine?.lineStyle?.color,
},
};
const axisLine = {
roundCap,
lineStyle: {
width: axisLineWidth,
color: DEFAULT_GAUGE_SERIES_OPTION.axisLine?.lineStyle?.color,
color: gaugeSeriesOptions.axisLine?.lineStyle?.color,
},
};
const axisLabel = {
Expand All @@ -227,19 +230,18 @@ export default function transformProps(
OFFSETS.ticksFromLine,
fontSize,
formatter: numberFormatter,
color: DEFAULT_GAUGE_SERIES_OPTION.axisLabel?.color,
color: gaugeSeriesOptions.axisLabel?.color,
};
const axisTick = {
show: showAxisTick,
distance: -axisLineWidth - axisTickLength - OFFSETS.ticksFromLine,
length: axisTickLength,
lineStyle: DEFAULT_GAUGE_SERIES_OPTION.axisTick
?.lineStyle as AxisTickLineStyle,
lineStyle: gaugeSeriesOptions.axisTick?.lineStyle as AxisTickLineStyle,
};
const detail = {
valueAnimation: animation,
formatter: (value: number) => formatValue(value),
color: DEFAULT_GAUGE_SERIES_OPTION.detail?.color,
color: gaugeSeriesOptions.detail?.color,
};
let pointer;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ export default function transformProps(
hooks,
filterState,
datasource,
theme,
} = chartProps;
const { annotation_data: annotationData_ } = queriesData[0];
const annotationData = annotationData_ || {};
Expand Down Expand Up @@ -216,6 +217,7 @@ export default function transformProps(
data1,
annotationData,
colorScale,
theme,
sliceId,
),
);
Expand All @@ -226,6 +228,7 @@ export default function transformProps(
data1,
annotationData,
colorScale,
theme,
sliceId,
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ function getTotalValuePadding({
export default function transformProps(
chartProps: EchartsPieChartProps,
): PieChartTransformedProps {
const { formData, height, hooks, filterState, queriesData, width } =
const { formData, height, hooks, filterState, queriesData, width, theme } =
chartProps;
const { data = [] } = queriesData[0];
const coltypeMapping = getColtypesMapping(queriesData[0]);
Expand Down Expand Up @@ -251,7 +251,7 @@ export default function transformProps(
const defaultLabel = {
formatter,
show: showLabels,
color: '#000000',
color: theme.colors.grayscale.dark2,
};

const chartPadding = getChartPadding(
Expand Down Expand Up @@ -285,7 +285,7 @@ export default function transformProps(
label: {
show: true,
fontWeight: 'bold',
backgroundColor: 'white',
backgroundColor: theme.colors.grayscale.light5,
},
},
data: transformedData,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export function formatLabel({
export default function transformProps(
chartProps: EchartsRadarChartProps,
): RadarChartTransformedProps {
const { formData, height, hooks, filterState, queriesData, width } =
const { formData, height, hooks, filterState, queriesData, width, theme } =
chartProps;
const { data = [] } = queriesData[0];
const coltypeMapping = getColtypesMapping(queriesData[0]);
Expand Down Expand Up @@ -210,7 +210,7 @@ export default function transformProps(
label: {
show: true,
fontWeight: 'bold',
backgroundColor: 'white',
backgroundColor: theme.colors.grayscale.light5,
},
},
data: transformedData,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ export default function transformProps(
hooks,
queriesData,
datasource,
theme,
} = chartProps;
const { verboseMap = {} } = datasource;
const [queryData] = queriesData;
Expand Down Expand Up @@ -239,6 +240,7 @@ export default function transformProps(
data,
annotationData,
colorScale,
theme,
sliceId,
),
);
Expand All @@ -249,6 +251,7 @@ export default function transformProps(
data,
annotationData,
colorScale,
theme,
sliceId,
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import {
NumberFormatter,
smartDateDetailedFormatter,
smartDateFormatter,
SupersetTheme,
TimeFormatter,
TimeseriesAnnotationLayer,
TimeseriesDataRecord,
Expand Down Expand Up @@ -272,6 +273,7 @@ export function transformIntervalAnnotation(
data: TimeseriesDataRecord[],
annotationData: AnnotationData,
colorScale: CategoricalColorScale,
theme: SupersetTheme,
sliceId?: number,
): SeriesOption[] {
const series: SeriesOption[] = [];
Expand All @@ -297,27 +299,27 @@ export function transformIntervalAnnotation(
const intervalLabel: SeriesLabelOption = showLabel
? {
show: true,
color: '#000000',
color: theme.colors.grayscale.dark2,
position: 'insideTop',
verticalAlign: 'top',
fontWeight: 'bold',
// @ts-ignore
emphasis: {
position: 'insideTop',
verticalAlign: 'top',
backgroundColor: '#ffffff',
backgroundColor: theme.colors.grayscale.light5,
},
}
: {
show: false,
color: '#000000',
color: theme.colors.grayscale.dark2,
// @ts-ignore
emphasis: {
fontWeight: 'bold',
show: true,
position: 'insideTop',
verticalAlign: 'top',
backgroundColor: '#ffffff',
backgroundColor: theme.colors.grayscale.light5,
},
};
series.push({
Expand Down Expand Up @@ -346,6 +348,7 @@ export function transformEventAnnotation(
data: TimeseriesDataRecord[],
annotationData: AnnotationData,
colorScale: CategoricalColorScale,
theme: SupersetTheme,
sliceId?: number,
): SeriesOption[] {
const series: SeriesOption[] = [];
Expand Down Expand Up @@ -375,25 +378,25 @@ export function transformEventAnnotation(
const eventLabel: SeriesLineLabelOption = showLabel
? {
show: true,
color: '#000000',
color: theme.colors.grayscale.dark2,
position: 'insideEndTop',
fontWeight: 'bold',
formatter: (params: CallbackDataParams) => params.name,
// @ts-ignore
emphasis: {
backgroundColor: '#ffffff',
backgroundColor: theme.colors.grayscale.light5,
},
}
: {
show: false,
color: '#000000',
color: theme.colors.grayscale.dark2,
position: 'insideEndTop',
// @ts-ignore
emphasis: {
formatter: (params: CallbackDataParams) => params.name,
fontWeight: 'bold',
show: true,
backgroundColor: '#ffffff',
backgroundColor: theme.colors.grayscale.light5,
},
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ export function formatTooltip({
export default function transformProps(
chartProps: EchartsTreemapChartProps,
): TreemapTransformedProps {
const { formData, height, queriesData, width, hooks, filterState } =
const { formData, height, queriesData, width, hooks, filterState, theme } =
chartProps;
const { data = [] } = queriesData[0];
const { setDataMask = () => {} } = hooks;
Expand Down Expand Up @@ -260,7 +260,7 @@ export default function transformProps(
show: false,
},
itemStyle: {
color: '#1FA8C9',
color: theme.colors.primary.base,
},
},
];
Expand All @@ -286,7 +286,7 @@ export default function transformProps(
show: showLabels,
position: labelPosition,
formatter,
color: '#000',
color: theme.colors.grayscale.dark2,
fontSize: LABEL_FONTSIZE,
},
upperLabel: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export const lineEncoderFactory = createEncoderFactory<LineEncodingConfig>({
x: { field: 'x', type: 'quantitative' },
y: { field: 'y', type: 'quantitative' },
fill: { value: false, legend: false },
stroke: { value: '#222' },
stroke: { value: '#222' }, // eslint-disable-line theme-colors/no-literal-colors
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I disabled the rule here because it seems this Line chart is deprecated. Can you confirm @villebro @zhaoyongjie?

strokeDasharray: { value: '' },
strokeWidth: { value: 1 },
},
Expand Down