123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import { PanelPlugin, VizOrientation } from '@grafana/data';
- import { commonOptionsBuilder, sharedSingleStatPanelChangedHandler } from '@grafana/ui';
- import { addOrientationOption, addStandardDataReduceOptions } from '../stat/types';
- import { barGaugePanelMigrationHandler } from './BarGaugeMigrations';
- import { BarGaugePanel } from './BarGaugePanel';
- import { BarGaugeSuggestionsSupplier } from './suggestions';
- import { BarGaugeOptions, displayModes } from './types';
- export const plugin = new PanelPlugin<BarGaugeOptions>(BarGaugePanel)
- .useFieldConfig()
- .setPanelOptions((builder) => {
- addStandardDataReduceOptions(builder);
- addOrientationOption(builder);
- commonOptionsBuilder.addTextSizeOptions(builder);
- builder
- .addRadio({
- path: 'displayMode',
- name: 'Display mode',
- settings: {
- options: displayModes,
- },
- defaultValue: 'gradient',
- })
- .addBooleanSwitch({
- path: 'showUnfilled',
- name: 'Show unfilled area',
- description: 'When enabled renders the unfilled region as gray',
- defaultValue: true,
- showIf: (options: BarGaugeOptions) => options.displayMode !== 'lcd',
- })
- .addNumberInput({
- path: 'minVizWidth',
- name: 'Min width',
- description: 'Minimum column width',
- defaultValue: 0,
- showIf: (options: BarGaugeOptions) => options.orientation === VizOrientation.Vertical,
- })
- .addNumberInput({
- path: 'minVizHeight',
- name: 'Min height',
- description: 'Minimum row height',
- defaultValue: 10,
- showIf: (options: BarGaugeOptions) => options.orientation === VizOrientation.Horizontal,
- });
- })
- .setPanelChangeHandler(sharedSingleStatPanelChangedHandler)
- .setMigrationHandler(barGaugePanelMigrationHandler)
- .setSuggestionsSupplier(new BarGaugeSuggestionsSupplier());
|