Skip to content
This repository was archived by the owner on Jun 26, 2023. It is now read-only.
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add table panel for grafana version 7
Because of the complete rewriting of table panel in grafana 7 the solution used in other libsonnet file (to have a pluginVersion attribute to switch between grafana versions) is not viable for this panel.
So I've added a brand new libsonnet file that should live along with the old one (table_panel.libsonnet) to allow retro compatibility

This file is a copy of https://github.com/BastienF/grafonnet-lib/blob/master/grafonnet-7.0/panel/table.libsonnet
  • Loading branch information
BastienF authored and Bastien Fiorentino committed Mar 9, 2021
commit 11ce972975d20c5295e7fd83f66290548e1871a8
134 changes: 134 additions & 0 deletions grafonnet/table_panel_grafana7.libsonnet
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
// This file was generated by https://github.com/grafana/dashboard-spec

{
new(
datasource='default',
description=null,
repeat=null,
repeatDirection=null,
title=null,
transparent=false,
):: {
[if datasource != null then 'datasource']: datasource,
[if description != null then 'description']: description,
[if repeat != null then 'repeat']: repeat,
[if repeatDirection != null then 'repeatDirection']: repeatDirection,
[if title != null then 'title']: title,
[if transparent != null then 'transparent']: transparent,
type: 'table',

setFieldConfig(
displayName=null,
max=null,
min=null,
thresholdMode='absolute',
noValue=null,
unit='short',
width=null,
):: self {}
+ { fieldConfig+: { defaults+: { [if displayName != null then 'displayName']: displayName } } }
+ { fieldConfig+: { defaults+: { [if max != null then 'max']: max } } }
+ { fieldConfig+: { defaults+: { [if min != null then 'min']: min } } }
+ { fieldConfig+: { defaults+: { thresholds+: { [if thresholdMode != null then 'mode']: thresholdMode } } } }
+ { fieldConfig+: { defaults+: { [if noValue != null then 'noValue']: noValue } } }
+ { fieldConfig+: { defaults+: { [if unit != null then 'unit']: unit } } }
+ { fieldConfig+: { defaults+: { custom+: { [if width != null then 'width']: width } } } }
,

setGridPos(
h=8,
w=12,
x=null,
y=null,
):: self {}
+ { gridPos+: { [if h != null then 'h']: h } }
+ { gridPos+: { [if w != null then 'w']: w } }
+ { gridPos+: { [if x != null then 'x']: x } }
+ { gridPos+: { [if y != null then 'y']: y } }
,

setOptions(
showHeader=true,
):: self {}
+ { options+: { [if showHeader != null then 'showHeader']: showHeader } }
,


addDataLink(
targetBlank=true,
title=null,
url=null,
):: self {}
+ { fieldConfig+: { defaults+: { links+: [
{
[if targetBlank != null then 'targetBlank']: targetBlank,
[if title != null then 'title']: title,
[if url != null then 'url']: url,
},
] } } },

addPanelLink(
targetBlank=true,
title=null,
url=null,
):: self {}
+ { links+: [
{
[if targetBlank != null then 'targetBlank']: targetBlank,
[if title != null then 'title']: title,
[if url != null then 'url']: url,
},
] },

addMapping(
from=null,
id=null,
operator=null,
text=null,
to=null,
type=null,
value=null,
):: self {}
+ { fieldConfig+: { defaults+: { mappings+: [
{
[if from != null then 'from']: from,
[if id != null then 'id']: id,
[if operator != null then 'operator']: operator,
[if text != null then 'text']: text,
[if to != null then 'to']: to,
[if type != null then 'type']: type,
[if value != null then 'value']: value,
},
] } } },

addOverride(
matcher=null,
properties=null,
):: self {}
+ { fieldConfig+: { overrides+: [
{
[if matcher != null then 'matcher']: matcher,
[if properties != null then 'properties']: properties,
},
] } },

addThresholdStep(
color=null,
value=null,
):: self {}
+ { fieldConfig+: { defaults+: { thresholds+: { steps+: [
{
[if color != null then 'color']: color,
[if value != null then 'value']: value,
},
] } } } },

addTarget(
target
):: self {}
+ { targets+: [
target,
] },

},
}