mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
SparklineCell: Display absolute value (#76125)
This commit is contained in:
@@ -3,7 +3,7 @@ import { merge } from 'lodash';
|
||||
import React, { useState } from 'react';
|
||||
|
||||
import { GrafanaTheme2, SelectableValue } from '@grafana/data';
|
||||
import { config, reportInteraction } from '@grafana/runtime';
|
||||
import { reportInteraction } from '@grafana/runtime';
|
||||
import { TableCellOptions } from '@grafana/schema';
|
||||
import { Field, Select, TableCellDisplayMode, useStyles2 } from '@grafana/ui';
|
||||
|
||||
@@ -77,14 +77,9 @@ export const TableCellOptionEditor = ({ value, onChange }: Props) => {
|
||||
);
|
||||
};
|
||||
|
||||
const SparklineDisplayModeOption: SelectableValue<TableCellOptions> = {
|
||||
value: { type: TableCellDisplayMode.Sparkline },
|
||||
label: 'Sparkline',
|
||||
};
|
||||
|
||||
const cellDisplayModeOptions: Array<SelectableValue<TableCellOptions>> = [
|
||||
{ value: { type: TableCellDisplayMode.Auto }, label: 'Auto' },
|
||||
...(config.featureToggles.timeSeriesTable ? [SparklineDisplayModeOption] : []),
|
||||
{ value: { type: TableCellDisplayMode.Sparkline }, label: 'Sparkline' },
|
||||
{ value: { type: TableCellDisplayMode.ColorText }, label: 'Colored text' },
|
||||
{ value: { type: TableCellDisplayMode.ColorBackground }, label: 'Colored background' },
|
||||
{ value: { type: TableCellDisplayMode.Gauge }, label: 'Gauge' },
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { css } from '@emotion/css';
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { createFieldConfigRegistry } from '@grafana/data';
|
||||
import { createFieldConfigRegistry, SetFieldConfigOptionsArgs } from '@grafana/data';
|
||||
import { GraphFieldConfig, TableSparklineCellOptions } from '@grafana/schema';
|
||||
import { VerticalGroup, Field, useStyles2 } from '@grafana/ui';
|
||||
import { defaultSparklineCellConfig } from '@grafana/ui/src/components/Table/SparklineCell';
|
||||
@@ -11,7 +11,8 @@ import { TableCellEditorProps } from '../TableCellOptionEditor';
|
||||
|
||||
type OptionKey = keyof TableSparklineCellOptions;
|
||||
|
||||
const optionIds: Array<keyof GraphFieldConfig> = [
|
||||
const optionIds: Array<keyof TableSparklineCellOptions> = [
|
||||
'hideValue',
|
||||
'drawStyle',
|
||||
'lineInterpolation',
|
||||
'barAlignment',
|
||||
@@ -24,11 +25,25 @@ const optionIds: Array<keyof GraphFieldConfig> = [
|
||||
'pointSize',
|
||||
];
|
||||
|
||||
function getChartCellConfig(cfg: GraphFieldConfig): SetFieldConfigOptionsArgs<GraphFieldConfig> {
|
||||
const graphFieldConfig = getGraphFieldConfig(cfg);
|
||||
return {
|
||||
...graphFieldConfig,
|
||||
useCustomConfig: (builder) => {
|
||||
graphFieldConfig.useCustomConfig?.(builder);
|
||||
builder.addBooleanSwitch({
|
||||
path: 'hideValue',
|
||||
name: 'Hide value',
|
||||
});
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
export const SparklineCellOptionsEditor = (props: TableCellEditorProps<TableSparklineCellOptions>) => {
|
||||
const { cellOptions, onChange } = props;
|
||||
|
||||
const registry = useMemo(() => {
|
||||
const config = getGraphFieldConfig(defaultSparklineCellConfig);
|
||||
const config = getChartCellConfig(defaultSparklineCellConfig);
|
||||
return createFieldConfigRegistry(config, 'ChartCell');
|
||||
}, []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user