mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* kindsys: Adapt to new PanelCfg schema interface * building locally * Remove Panel prefix in cue files * Regenerate * Update imports * fixup! Merge branch 'remove-panel-prefix' into sdboyer/redundant-panelcfg-prefixes * Fix formatting --------- Co-authored-by: Ryan McKinley <ryantxu@gmail.com> Co-authored-by: Tania B <yalyna.ts@gmail.com>
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 { defaultOptions, Options } from './panelcfg.gen';
|
|
import { StatSuggestionsSupplier } from './suggestions';
|
|
|
|
export const plugin = new PanelPlugin<Options>(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: defaultOptions.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: defaultOptions.graphMode,
|
|
settings: {
|
|
options: [
|
|
{ value: BigValueGraphMode.None, label: 'None' },
|
|
{ value: BigValueGraphMode.Area, label: 'Area' },
|
|
],
|
|
},
|
|
})
|
|
.addRadio({
|
|
path: 'justifyMode',
|
|
name: 'Text alignment',
|
|
defaultValue: defaultOptions.justifyMode,
|
|
category: mainCategory,
|
|
settings: {
|
|
options: [
|
|
{ value: BigValueJustifyMode.Auto, label: 'Auto' },
|
|
{ value: BigValueJustifyMode.Center, label: 'Center' },
|
|
],
|
|
},
|
|
});
|
|
})
|
|
.setNoPadding()
|
|
.setPanelChangeHandler(statPanelChangedHandler)
|
|
.setSuggestionsSupplier(new StatSuggestionsSupplier())
|
|
.setMigrationHandler(sharedSingleStatMigrationHandler);
|