TextPanel: Support code formats (#53850)

This commit is contained in:
Ryan McKinley
2022-08-24 08:13:00 -07:00
committed by GitHub
parent 4d4ecd7fec
commit fe61a97c9d
6 changed files with 454 additions and 21 deletions

View File

@ -2,7 +2,7 @@ import { PanelPlugin } from '@grafana/data';
import { TextPanel } from './TextPanel';
import { TextPanelEditor } from './TextPanelEditor';
import { defaultPanelOptions, PanelOptions, TextMode } from './models.gen';
import { CodeLanguage, defaultCodeOptions, defaultPanelOptions, PanelOptions, TextMode } from './models.gen';
import { textPanelMigrationHandler } from './textPanelMigrationHandler';
export const plugin = new PanelPlugin<PanelOptions>(TextPanel)
@ -16,10 +16,35 @@ export const plugin = new PanelPlugin<PanelOptions>(TextPanel)
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',