grafana插件的field和overrides
【摘要】 简介前面篇文章编写grafana插件配置通常在panel页签的display组下配置,我们查看grafana原生的插件,经常可以看到有些插件有field和overrdes 2个页签可以配置更多的内容,其中:field配置查询结果所有列的的公有配置属性overrides 单独配置一个或者几个列的配置属性实际输出的配置值overrides的优先级高于field的优先级如何打开field和over...
简介
前面篇文章编写grafana插件配置通常在panel页签的display组下配置,我们查看grafana原生的插件,经常可以看到有些插件有field和overrdes 2个页签可以配置更多的内容,其中:
field配置查询结果所有列的的公有配置属性
overrides 单独配置一个或者几个列的配置属性
实际输出的配置值overrides的优先级高于field的优先级
如何打开field和overrides配置
如下图所示useFieldConfig
使能并配置field并且设置配置窗口
import { PanelPlugin } from '@grafana/data'; import { CustomFieldConfig, Options } from './types'; // import { tableMigrationHandler, tablePanelChangedHandler } from './migrations'; import { TableCellDisplayMode } from '@grafana/ui'; import { SimplePanel } from 'SimplePanel'; export const plugin = new PanelPlugin<Options, CustomFieldConfig>(SimplePanel) // .setPanelChangeHandler(tablePanelChangedHandler) // .setMigrationHandler(tableMigrationHandler) .setNoPadding() .useFieldConfig({ useCustomConfig: builder => { builder .addNumberInput({ path: 'width', name: 'Column width', settings: { placeholder: 'auto', min: 20, max: 300, }, shouldApply: () => true, }) .addRadio({ path: 'align', name: 'Column alignment', settings: { options: [ { label: 'auto', value: null }, { label: 'left', value: 'left' }, { label: 'center', value: 'center' }, { label: 'right', value: 'right' }, ], }, defaultValue: null, }) .addSelect({ path: 'displayMode', name: 'Cell display mode', description: 'Color text, background, show as gauge, etc', settings: { options: [ { value: TableCellDisplayMode.Auto, label: 'Auto' }, { value: TableCellDisplayMode.ColorText, label: 'Color text' }, { value: TableCellDisplayMode.ColorBackground, label: 'Color background' }, { value: TableCellDisplayMode.GradientGauge, label: 'Gradient gauge' }, { value: TableCellDisplayMode.LcdGauge, label: 'LCD gauge' }, { value: TableCellDisplayMode.BasicGauge, label: 'Basic gauge' }, { value: TableCellDisplayMode.JSONView, label: 'JSON View' }, ], }, }) .addBooleanSwitch({ path: 'filterable', name: 'Column filter', description: 'Enables/disables field filters in table', defaultValue: false, }); }, }) // dispaly 的配置 .setPanelOptions(builder => { builder.addBooleanSwitch({ path: 'showHeader', name: 'Show header', description: "To display table's header or not to display", defaultValue: true, }); }) .setNoPadding();
配置属性的格式
配置属性通过data传入到panel内,格式如下:
{ "state": "Done", "series": [ { "fields": [ { "name": "city", "config": { "custom": { ...... }, "thresholds": { ...... }, "mappings": [], "color": { "mode": "thresholds" } },
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)