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