2025-04-01 10:38:02 +09:00

38 lines
1.2 KiB
TypeScript

import { PanelPlugin } from '@grafana/data';
import { commonOptionsBuilder } from '@grafana/ui';
import { SeriesEditor } from './SeriesEditor';
import { XYChartPanel2 } from './XYChartPanel';
import { getScatterFieldConfig } from './config';
import { xyChartMigrationHandler } from './migrations';
import { FieldConfig, defaultFieldConfig, Options } from './panelcfg.gen';
export const plugin = new PanelPlugin<Options, FieldConfig>(XYChartPanel2)
// .setPanelChangeHandler(xyChartChangeHandler)
.setMigrationHandler(xyChartMigrationHandler)
.useFieldConfig(getScatterFieldConfig(defaultFieldConfig))
.setPanelOptions((builder) => {
builder
.addRadio({
path: 'mapping',
name: 'Series mapping',
defaultValue: 'auto',
settings: {
options: [
{ value: 'auto', label: 'Auto' },
{ value: 'manual', label: 'Manual' },
],
},
})
.addCustomEditor({
id: 'series',
path: 'series',
name: '',
editor: SeriesEditor,
defaultValue: [{}],
});
commonOptionsBuilder.addTooltipOptions(builder, true);
commonOptionsBuilder.addLegendOptions(builder);
});