+
{renderFallbackWarning()}
{renderMetricName((metricNameFontSize || 0) * height)}
{renderKicker((kickerFontSize || 0) * height)}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/controlPanel.tsx b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/controlPanel.tsx
index d9d5b85a1cc7..762fe6ad94ca 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/controlPanel.tsx
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/controlPanel.tsx
@@ -35,6 +35,7 @@ import {
subtitleControl,
showMetricNameControl,
metricNameFontSizeWithVisibility,
+ headerAlignmentControl,
} from '../sharedControls';
const config: ControlPanelConfig = {
@@ -235,6 +236,7 @@ const config: ControlPanelConfig = {
},
},
],
+ [headerAlignmentControl],
],
},
{
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.test.ts b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.test.ts
index 225f9eef833d..6dab0f542be7 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.test.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.test.ts
@@ -113,6 +113,7 @@ describe('BigNumberWithTrendline transformProps', () => {
compareSuffix: 'WoW',
colorPicker: { r: 0, g: 0, b: 0 },
currencyFormat: { symbol: '$', symbolPosition: 'prefix' },
+ headerAlignment: 'right',
};
const baseDatasource = {
@@ -141,6 +142,7 @@ describe('BigNumberWithTrendline transformProps', () => {
);
expect(result.bigNumber).toBeNull();
expect(result.subtitle).toBe('subtitle message');
+ expect(result.headerAlignment).toBe('right');
});
test('should calculate subheader as percent change with suffix', () => {
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.ts
index fa57d2a8b710..9b4a4640e74d 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/transformProps.ts
@@ -114,6 +114,7 @@ export default function transformProps(
showXAxisMinMaxLabels = false,
showYAxis = false,
showYAxisMinMaxLabels = false,
+ headerAlignment,
} = formData;
const granularity = extractTimegrain(rawFormData);
const {
@@ -416,5 +417,6 @@ export default function transformProps(
onContextMenu,
xValueFormatter: formatTime,
refs,
+ headerAlignment,
};
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/sharedControls.ts b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/sharedControls.ts
index 5c7647fa576a..44c2f1d72671 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/sharedControls.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/sharedControls.ts
@@ -113,3 +113,22 @@ export const metricNameFontSizeWithVisibility: CustomControlItem = {
resetOnHide: false,
},
};
+
+export const headerAlignmentControl: CustomControlItem = {
+ name: 'header_alignment',
+ config: {
+ type: 'SelectControl',
+ label: t('Alignment'),
+ renderTrigger: true,
+ clearable: false,
+ default: 'left',
+ options: [
+ { label: t('Left'), value: 'left' },
+ { label: t('Center'), value: 'center' },
+ { label: t('Right'), value: 'right' },
+ ],
+ description: t(
+ 'Horizontal alignment of the metric value and supporting text',
+ ),
+ },
+};
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/types.ts b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/types.ts
index d466a1781c85..d069b79219ed 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/types.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/BigNumber/types.ts
@@ -34,10 +34,13 @@ export interface BigNumberDatum {
[key: string]: number | string | null;
}
+export type HeaderAlignment = 'left' | 'center' | 'right';
+
export type BigNumberTotalFormData = QueryFormData & {
metric?: QueryFormMetric;
yAxisFormat?: string;
forceTimestampFormatting?: boolean;
+ headerAlignment?: HeaderAlignment;
};
export type BigNumberWithTrendlineFormData = BigNumberTotalFormData & {
@@ -107,4 +110,5 @@ export type BigNumberVizProps = {
formData?: BigNumberWithTrendlineFormData;
refs: Refs;
colorThresholdFormatters?: ColorFormatters;
+ headerAlignment?: HeaderAlignment;
};
diff --git a/superset/translations/messages.pot b/superset/translations/messages.pot
index 8cbf1347e6b3..d20b7a13ad8d 100644
--- a/superset/translations/messages.pot
+++ b/superset/translations/messages.pot
@@ -1536,6 +1536,9 @@ msgstr ""
msgid "Alerts & reports"
msgstr ""
+msgid "Alignment"
+msgstr ""
+
msgid "Align +/-"
msgstr ""
@@ -7209,6 +7212,9 @@ msgstr ""
msgid "Horizontal alignment"
msgstr ""
+msgid "Horizontal alignment of the metric value and supporting text"
+msgstr ""
+
msgid "Host"
msgstr ""