diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx index 8161b321671..1f59af3d1d5 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/controlPanel.tsx @@ -34,6 +34,7 @@ import { DEFAULT_FORM_DATA } from './types'; import { EchartsTimeseriesSeriesType } from '../Timeseries/types'; import { legendSection, + minorTicks, richTooltipSection, truncateXAxis, xAxisBounds, @@ -316,6 +317,7 @@ const config: ControlPanelConfig = { }, }, ], + [minorTicks], ...legendSection, [{t('X Axis')}], ['x_axis_time_format'], diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts index 763bbd1f95d..8709286aeed 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts @@ -158,6 +158,7 @@ export default function transformProps( opacity, opacityB, minorSplitLine, + minorTicks, seriesType, seriesTypeB, showLegend, @@ -497,6 +498,7 @@ export default function transformProps( formatter: xAxisFormatter, rotate: xAxisLabelRotation, }, + minorTick: { show: minorTicks }, minInterval: xAxisType === 'time' && timeGrainSqla ? TIMEGRAIN_TO_TIMESTAMP[timeGrainSqla] @@ -518,7 +520,7 @@ export default function transformProps( type: logAxis ? 'log' : 'value', min: yAxisMin, max: yAxisMax, - minorTick: { show: true }, + minorTick: { show: minorTicks }, minorSplitLine: { show: minorSplitLine }, axisLabel: { formatter: getYAxisFormatter( @@ -539,7 +541,7 @@ export default function transformProps( type: logAxisSecondary ? 'log' : 'value', min: minSecondary, max: maxSecondary, - minorTick: { show: true }, + minorTick: { show: minorTicks }, splitLine: { show: false }, minorSplitLine: { show: minorSplitLine }, axisLabel: { diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts index 2e9ba641aa5..c027ed7ac4f 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/types.ts @@ -45,6 +45,7 @@ export type EchartsMixedTimeseriesFormData = QueryFormData & { annotationLayers: AnnotationLayer[]; // shared properties minorSplitLine: boolean; + minorTicks: boolean; logAxis: boolean; logAxisSecondary: boolean; yAxisFormat?: string; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx index 018038772c0..1a5704d20a4 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Area/controlPanel.tsx @@ -39,6 +39,7 @@ import { percentageThresholdControl, truncateXAxis, xAxisBounds, + minorTicks, } from '../../controls'; import { AreaChartStackControlOptions } from '../../constants'; @@ -169,6 +170,7 @@ const config: ControlPanelConfig = { }, }, ], + [minorTicks], [ { name: 'zoomable', diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx index c3002a24980..6ab3f640979 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Bar/controlPanel.tsx @@ -32,6 +32,7 @@ import { } from '@superset-ui/chart-controls'; import { legendSection, + minorTicks, richTooltipSection, seriesOrderSection, showValueSection, @@ -312,6 +313,7 @@ const config: ControlPanelConfig = { ...seriesOrderSection, ['color_scheme'], ...showValueSection, + [minorTicks], [ { name: 'zoomable', diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx index 5c5f7a0ab1c..7409098a846 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Line/controlPanel.tsx @@ -35,6 +35,7 @@ import { } from '../../constants'; import { legendSection, + minorTicks, richTooltipSection, seriesOrderSection, showValueSection, @@ -169,6 +170,7 @@ const config: ControlPanelConfig = { }, }, ], + [minorTicks], ...legendSection, [{t('X Axis')}], [ diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx index 6701647694b..d6e2cda5330 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/Scatter/controlPanel.tsx @@ -34,6 +34,7 @@ import { } from '../../constants'; import { legendSection, + minorTicks, richTooltipSection, seriesOrderSection, showValueSection, @@ -111,6 +112,7 @@ const config: ControlPanelConfig = { }, }, ], + [minorTicks], ...legendSection, [{t('X Axis')}], diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx index 0c6623f216e..aedc538969e 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Regular/SmoothLine/controlPanel.tsx @@ -34,6 +34,7 @@ import { } from '../../constants'; import { legendSection, + minorTicks, richTooltipSection, seriesOrderSection, showValueSectionWithoutStack, @@ -111,6 +112,7 @@ const config: ControlPanelConfig = { }, }, ], + [minorTicks], ...legendSection, [{t('X Axis')}], [ diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx index 021c306d05c..99f304da78a 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/Step/controlPanel.tsx @@ -32,6 +32,7 @@ import { EchartsTimeseriesSeriesType } from '../../types'; import { DEFAULT_FORM_DATA, TIME_SERIES_DESCRIPTION_TEXT } from '../constants'; import { legendSection, + minorTicks, richTooltipSection, seriesOrderSection, showValueSection, @@ -163,6 +164,7 @@ const config: ControlPanelConfig = { }, }, ], + [minorTicks], ...legendSection, [{t('X Axis')}], [ diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts index cc89ff30c77..63a4cb93735 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/transformProps.ts @@ -144,6 +144,7 @@ export default function transformProps( markerSize, metrics, minorSplitLine, + minorTicks, onlyTotal, opacity, orientation, @@ -454,6 +455,7 @@ export default function transformProps( formatter: xAxisFormatter, rotate: xAxisLabelRotation, }, + minorTick: { show: minorTicks }, minInterval: xAxisType === AxisType.time && timeGrainSqla ? TIMEGRAIN_TO_TIMESTAMP[timeGrainSqla] @@ -472,7 +474,7 @@ export default function transformProps( type: logAxis ? AxisType.log : AxisType.value, min: yAxisMin, max: yAxisMax, - minorTick: { show: true }, + minorTick: { show: minorTicks }, minorSplitLine: { show: minorSplitLine }, axisLabel: { formatter: getYAxisFormatter( diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts index 65da981e496..751f262ec17 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts +++ b/superset-frontend/plugins/plugin-chart-echarts/src/Timeseries/types.ts @@ -68,6 +68,7 @@ export type EchartsTimeseriesFormData = QueryFormData & { markerSize: number; metrics: QueryFormMetric[]; minorSplitLine: boolean; + minorTicks: boolean; opacity: number; orderDesc: boolean; rowLimit: number; diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx index 093617446a6..e87b68d9ce7 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx +++ b/superset-frontend/plugins/plugin-chart-echarts/src/controls.tsx @@ -279,3 +279,14 @@ export const xAxisBounds: ControlSetItem = { Boolean(controls?.truncateXAxis?.value), }, }; + +export const minorTicks: ControlSetItem = { + name: 'minorTicks', + config: { + type: 'CheckboxControl', + label: t('Minor ticks'), + default: false, + renderTrigger: true, + description: t('Show minor ticks on axes.'), + }, +};