mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
* baldm0mma/statNoGrad/ add no gradient option * baldm0mma/statsNoGrad/ update migration and tests * baldm0mma/statsNoGrad/ update suggestions module * baldm0mma/statsNoGrad/ update bigValueLayout test * baldm0mma/statNoGrad/ remove unused comment * baldm0mma/statNoGrad/ revert to background * baldm0mma/statNoGrad/ update enum values
82 lines
2.9 KiB
TypeScript
82 lines
2.9 KiB
TypeScript
import { PanelPlugin } from '@grafana/data';
|
|
import { BigValueColorMode, BigValueGraphMode, BigValueJustifyMode, BigValueTextMode } from '@grafana/schema';
|
|
import { commonOptionsBuilder, sharedSingleStatMigrationHandler } from '@grafana/ui';
|
|
|
|
import { statPanelChangedHandler } from './StatMigrations';
|
|
import { StatPanel } from './StatPanel';
|
|
import { addStandardDataReduceOptions, addOrientationOption } from './common';
|
|
import { defaultPanelOptions, PanelOptions } from './panelcfg.gen';
|
|
import { StatSuggestionsSupplier } from './suggestions';
|
|
|
|
export const plugin = new PanelPlugin<PanelOptions>(StatPanel)
|
|
.useFieldConfig()
|
|
.setPanelOptions((builder) => {
|
|
const mainCategory = ['Stat styles'];
|
|
|
|
addStandardDataReduceOptions(builder);
|
|
addOrientationOption(builder, mainCategory);
|
|
commonOptionsBuilder.addTextSizeOptions(builder);
|
|
|
|
builder.addSelect({
|
|
path: 'textMode',
|
|
name: 'Text mode',
|
|
description: 'Control if name and value is displayed or just name',
|
|
category: mainCategory,
|
|
settings: {
|
|
options: [
|
|
{ value: BigValueTextMode.Auto, label: 'Auto' },
|
|
{ value: BigValueTextMode.Value, label: 'Value' },
|
|
{ value: BigValueTextMode.ValueAndName, label: 'Value and name' },
|
|
{ value: BigValueTextMode.Name, label: 'Name' },
|
|
{ value: BigValueTextMode.None, label: 'None' },
|
|
],
|
|
},
|
|
defaultValue: defaultPanelOptions.textMode,
|
|
});
|
|
|
|
builder
|
|
.addSelect({
|
|
path: 'colorMode',
|
|
name: 'Color mode',
|
|
defaultValue: BigValueColorMode.Value,
|
|
category: mainCategory,
|
|
settings: {
|
|
options: [
|
|
{ value: BigValueColorMode.None, label: 'None' },
|
|
{ value: BigValueColorMode.Value, label: 'Value' },
|
|
{ value: BigValueColorMode.Background, label: 'Background Gradient' },
|
|
{ value: BigValueColorMode.BackgroundSolid, label: 'Background Solid' },
|
|
],
|
|
},
|
|
})
|
|
.addRadio({
|
|
path: 'graphMode',
|
|
name: 'Graph mode',
|
|
description: 'Stat panel graph / sparkline mode',
|
|
category: mainCategory,
|
|
defaultValue: defaultPanelOptions.graphMode,
|
|
settings: {
|
|
options: [
|
|
{ value: BigValueGraphMode.None, label: 'None' },
|
|
{ value: BigValueGraphMode.Area, label: 'Area' },
|
|
],
|
|
},
|
|
})
|
|
.addRadio({
|
|
path: 'justifyMode',
|
|
name: 'Text alignment',
|
|
defaultValue: defaultPanelOptions.justifyMode,
|
|
category: mainCategory,
|
|
settings: {
|
|
options: [
|
|
{ value: BigValueJustifyMode.Auto, label: 'Auto' },
|
|
{ value: BigValueJustifyMode.Center, label: 'Center' },
|
|
],
|
|
},
|
|
});
|
|
})
|
|
.setNoPadding()
|
|
.setPanelChangeHandler(statPanelChangedHandler)
|
|
.setSuggestionsSupplier(new StatSuggestionsSupplier())
|
|
.setMigrationHandler(sharedSingleStatMigrationHandler);
|