grafana/public/app/plugins/panel/text/module.tsx
sam boyer 48b620231e
Kindsys: Unique names for composable kind TS types (#61928)
* Kindsys: Unique names for composable kind TS types

* Update all TS imports
2023-01-23 18:03:44 +00:00

56 lines
1.7 KiB
TypeScript

import { PanelPlugin } from '@grafana/data';
import { TextPanel } from './TextPanel';
import { TextPanelEditor } from './TextPanelEditor';
import { CodeLanguage, defaultCodeOptions, defaultPanelOptions, PanelOptions, TextMode } from './panelcfg.gen';
import { textPanelMigrationHandler } from './textPanelMigrationHandler';
export const plugin = new PanelPlugin<PanelOptions>(TextPanel)
.setPanelOptions((builder) => {
builder
.addRadio({
path: 'mode',
name: 'Mode',
settings: {
options: [
{ value: TextMode.Markdown, label: 'Markdown' },
{ value: TextMode.HTML, label: 'HTML' },
{ value: TextMode.Code, label: 'Code' },
],
},
defaultValue: defaultPanelOptions.mode,
})
.addSelect({
path: 'code.language',
name: 'Language',
settings: {
options: Object.values(CodeLanguage).map((v) => ({
value: v,
label: v,
})),
},
defaultValue: defaultCodeOptions.language,
showIf: (v) => v.mode === TextMode.Code,
})
.addBooleanSwitch({
path: 'code.showLineNumbers',
name: 'Show line numbers',
defaultValue: defaultCodeOptions.showLineNumbers,
showIf: (v) => v.mode === TextMode.Code,
})
.addBooleanSwitch({
path: 'code.showMiniMap',
name: 'Show mini map',
defaultValue: defaultCodeOptions.showMiniMap,
showIf: (v) => v.mode === TextMode.Code,
})
.addCustomEditor({
id: 'content',
path: 'content',
name: 'Content',
editor: TextPanelEditor,
defaultValue: defaultPanelOptions.content,
});
})
.setMigrationHandler(textPanelMigrationHandler);