2020-06-10 07:35:30 -05:00
|
|
|
import { PanelPlugin } from '@grafana/data';
|
2018-01-02 07:52:30 -06:00
|
|
|
|
2019-02-23 23:53:20 -06:00
|
|
|
import { TextPanel } from './TextPanel';
|
2020-06-29 14:17:31 -05:00
|
|
|
import { TextPanelEditor } from './TextPanelEditor';
|
2023-01-23 12:03:44 -06:00
|
|
|
import { CodeLanguage, defaultCodeOptions, defaultPanelOptions, PanelOptions, TextMode } from './panelcfg.gen';
|
2022-04-22 08:33:13 -05:00
|
|
|
import { textPanelMigrationHandler } from './textPanelMigrationHandler';
|
2018-01-02 07:52:30 -06:00
|
|
|
|
2021-04-29 22:12:37 -05:00
|
|
|
export const plugin = new PanelPlugin<PanelOptions>(TextPanel)
|
2021-01-20 00:59:48 -06:00
|
|
|
.setPanelOptions((builder) => {
|
2020-04-08 12:21:26 -05:00
|
|
|
builder
|
|
|
|
.addRadio({
|
|
|
|
path: 'mode',
|
|
|
|
name: 'Mode',
|
|
|
|
settings: {
|
|
|
|
options: [
|
2021-04-29 22:12:37 -05:00
|
|
|
{ value: TextMode.Markdown, label: 'Markdown' },
|
|
|
|
{ value: TextMode.HTML, label: 'HTML' },
|
2022-08-24 10:13:00 -05:00
|
|
|
{ value: TextMode.Code, label: 'Code' },
|
2020-04-08 12:21:26 -05:00
|
|
|
],
|
|
|
|
},
|
2021-04-29 22:12:37 -05:00
|
|
|
defaultValue: defaultPanelOptions.mode,
|
2020-04-08 12:21:26 -05:00
|
|
|
})
|
2022-08-24 10:13:00 -05:00
|
|
|
.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,
|
|
|
|
})
|
2020-06-29 14:17:31 -05:00
|
|
|
.addCustomEditor({
|
|
|
|
id: 'content',
|
2020-04-08 12:21:26 -05:00
|
|
|
path: 'content',
|
|
|
|
name: 'Content',
|
2020-06-29 14:17:31 -05:00
|
|
|
editor: TextPanelEditor,
|
2021-04-29 22:12:37 -05:00
|
|
|
defaultValue: defaultPanelOptions.content,
|
2020-04-08 12:21:26 -05:00
|
|
|
});
|
|
|
|
})
|
2021-11-25 03:52:01 -06:00
|
|
|
.setMigrationHandler(textPanelMigrationHandler);
|