mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Co-authored-by: Ryan McKinley <ryantxu@users.noreply.github.com> Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { FieldConfigProperty, PanelPlugin } from '@grafana/data';
|
|
|
|
import { IconPanel } from './IconPanel';
|
|
import { defaultPanelOptions, PanelOptions } from './models.gen';
|
|
import { IconConfig, iconItem } from 'app/features/canvas/elements/icon';
|
|
import { optionBuilder } from '../canvas/editor/options';
|
|
import { CanvasElementOptions } from 'app/features/canvas';
|
|
|
|
export const plugin = new PanelPlugin<PanelOptions>(IconPanel)
|
|
.setNoPadding() // extend to panel edges
|
|
.useFieldConfig({
|
|
standardOptions: {
|
|
[FieldConfigProperty.Mappings]: {
|
|
settings: {
|
|
icon: true,
|
|
},
|
|
},
|
|
},
|
|
})
|
|
.setPanelOptions((builder) => {
|
|
builder.addNestedOptions<CanvasElementOptions<IconConfig>>({
|
|
category: ['Icon'],
|
|
path: 'root',
|
|
|
|
// Dynamically fill the selected element
|
|
build: (builder, ctx) => {
|
|
iconItem.registerOptionsUI!(builder, ctx);
|
|
|
|
optionBuilder.addBackground(builder, ctx);
|
|
optionBuilder.addBorder(builder, ctx);
|
|
},
|
|
|
|
defaultValue: defaultPanelOptions.root as any,
|
|
});
|
|
});
|