diff --git a/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md b/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md index 1dfa68a3022..6ec9c79f28b 100644 --- a/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md +++ b/docs/sources/developers/kinds/composable/table/panelcfg/schema-reference.md @@ -18,9 +18,287 @@ title: TablePanelCfg kind -| Property | Type | Required | Default | Description | -|-----------|--------------------|----------|---------|-------------| -| `Options` | [object](#options) | **Yes** | | | +| Property | Type | Required | Default | Description | +|---------------|------------------------|----------|---------|-------------| +| `FieldConfig` | [object](#fieldconfig) | **Yes** | | | +| `Options` | [object](#options) | **Yes** | | | + +### FieldConfig + +| Property | Type | Required | Default | Description | +|---------------|---------------------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `align` | string | **Yes** | | TODO -- should not be table specific!
TODO docs
Possible values are: `auto`, `left`, `right`, `center`. | +| `cellOptions` | [TableCellOptions](#tablecelloptions) | **Yes** | | Table cell options. Each cell has a display mode
and other potential options for that display. | +| `inspect` | boolean | **Yes** | `false` | | +| `displayMode` | string | No | | Internally, this is the "type" of cell that's being displayed
in the table such as colored text, JSON, gauge, etc.
The color-background-solid, gradient-gauge, and lcd-gauge
modes are deprecated in favor of new cell subOptions
Possible values are: `auto`, `color-text`, `color-background`, `color-background-solid`, `gradient-gauge`, `lcd-gauge`, `json-view`, `basic`, `image`, `gauge`, `sparkline`, `custom`. | +| `filterable` | boolean | No | | | +| `hidden` | boolean | No | | | +| `hideHeader` | boolean | No | | Hides any header for a column, useful for columns that show some static content or buttons. | +| `minWidth` | number | No | | | +| `width` | number | No | | | + +### TableCellOptions + +Table cell options. Each cell has a display mode +and other potential options for that display. + +| Property | Type | Required | Default | Description | +|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------|-------------| +| `object` | Possible types are: [TableAutoCellOptions](#tableautocelloptions), [TableSparklineCellOptions](#tablesparklinecelloptions), [TableBarGaugeCellOptions](#tablebargaugecelloptions), [TableColoredBackgroundCellOptions](#tablecoloredbackgroundcelloptions), [TableColorTextCellOptions](#tablecolortextcelloptions), [TableImageCellOptions](#tableimagecelloptions), [TableJsonViewCellOptions](#tablejsonviewcelloptions). | | | + +### GraphThresholdsStyleConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|-----------------------------------------------------------------------------------------------------------| +| `mode` | string | **Yes** | | TODO docs
Possible values are: `off`, `line`, `dashed`, `area`, `line+area`, `dashed+area`, `series`. | + +### HideSeriesConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|-----------|---------|----------|---------|-------------| +| `legend` | boolean | **Yes** | | | +| `tooltip` | boolean | **Yes** | | | +| `viz` | boolean | **Yes** | | | + +### LineStyle + +TODO docs + +| Property | Type | Required | Default | Description | +|----------|----------|----------|---------|--------------------------------------------------------| +| `dash` | number[] | No | | | +| `fill` | string | No | | Possible values are: `solid`, `dash`, `dot`, `square`. | + +### ScaleDistributionConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|-------------------|--------|----------|---------|--------------------------------------------------------------------------| +| `type` | string | **Yes** | | TODO docs
Possible values are: `linear`, `log`, `ordinal`, `symlog`. | +| `linearThreshold` | number | No | | | +| `log` | number | No | | | + +### StackingConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|-----------------------------------------------------------------| +| `group` | string | No | | | +| `mode` | string | No | | TODO docs
Possible values are: `none`, `normal`, `percent`. | + +### TableAutoCellOptions + +Auto mode table cell options + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|-------------| +| `type` | string | **Yes** | | | + +### TableBarGaugeCellOptions + +Gauge cell options + +| Property | Type | Required | Default | Description | +|--------------------|--------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------| +| `type` | string | **Yes** | | | +| `mode` | string | No | | Enum expressing the possible display modes
for the bar gauge component of Grafana UI
Possible values are: `basic`, `lcd`, `gradient`. | +| `valueDisplayMode` | string | No | | Allows for the table cell gauge display type to set the gauge mode.
Possible values are: `color`, `text`, `hidden`. | + +### TableColorTextCellOptions + +Colored text cell options + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|-------------| +| `type` | string | **Yes** | | | + +### TableColoredBackgroundCellOptions + +Colored background cell options + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `type` | string | **Yes** | | | +| `mode` | string | No | | Display mode to the "Colored Background" display
mode for table cells. Either displays a solid color (basic mode)
or a gradient.
Possible values are: `basic`, `gradient`. | + +### TableImageCellOptions + +Json view cell options + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|-------------| +| `type` | string | **Yes** | | | + +### TableJsonViewCellOptions + +Json view cell options + +| Property | Type | Required | Default | Description | +|----------|--------|----------|---------|-------------| +| `type` | string | **Yes** | | | + +### TableSparklineCellOptions + +Sparkline cell options + +It extends [GraphFieldConfig](#graphfieldconfig). + +| Property | Type | Required | Default | Description | +|---------------------|-----------------------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `type` | string | **Yes** | | | +| `axisBorderShow` | boolean | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `axisCenteredZero` | boolean | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `axisColorMode` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `text`, `series`. | +| `axisGridShow` | boolean | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `axisLabel` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `axisPlacement` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. | +| `axisSoftMax` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `axisSoftMin` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `axisWidth` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `barAlignment` | integer | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `-1`, `0`, `1`. | +| `barMaxWidth` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `barWidthFactor` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `drawStyle` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `line`, `bars`, `points`. | +| `fillBelowTo` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `fillColor` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `fillOpacity` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `gradientMode` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `none`, `opacity`, `hue`, `scheme`. | +| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs | +| `lineColor` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `lineInterpolation` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. | +| `lineStyle` | [LineStyle](#linestyle) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs | +| `lineWidth` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `pointColor` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `pointSize` | number | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `pointSymbol` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))* | +| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs | +| `showPoints` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `auto`, `never`, `always`. | +| `spanNulls` | | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
Indicate if null values should be treated as gaps or connected.
When the value is a number, it represents the maximum delta in the
X axis that should be considered connected. For timeseries, this is milliseconds | +| `stacking` | [StackingConfig](#stackingconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs | +| `thresholdsStyle` | [GraphThresholdsStyleConfig](#graphthresholdsstyleconfig) | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs | +| `transform` | string | No | | *(Inherited from [GraphFieldConfig](#graphfieldconfig))*
TODO docs
Possible values are: `constant`, `negative-Y`. | + +### GraphFieldConfig + +TODO docs + +It extends [LineConfig](#lineconfig) and [FillConfig](#fillconfig) and [PointsConfig](#pointsconfig) and [AxisConfig](#axisconfig) and [BarConfig](#barconfig) and [StackableFieldConfig](#stackablefieldconfig) and [HideableFieldConfig](#hideablefieldconfig). + +| Property | Type | Required | Default | Description | +|---------------------|-----------------------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `axisBorderShow` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `axisCenteredZero` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `axisColorMode` | string | No | | *(Inherited from [AxisConfig](#axisconfig))*
TODO docs
Possible values are: `text`, `series`. | +| `axisGridShow` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `axisLabel` | string | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `axisPlacement` | string | No | | *(Inherited from [AxisConfig](#axisconfig))*
TODO docs
Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. | +| `axisSoftMax` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `axisSoftMin` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `axisWidth` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* | +| `barAlignment` | integer | No | | *(Inherited from [BarConfig](#barconfig))*
TODO docs
Possible values are: `-1`, `0`, `1`. | +| `barMaxWidth` | number | No | | *(Inherited from [BarConfig](#barconfig))* | +| `barWidthFactor` | number | No | | *(Inherited from [BarConfig](#barconfig))* | +| `drawStyle` | string | No | | TODO docs
Possible values are: `line`, `bars`, `points`. | +| `fillBelowTo` | string | No | | *(Inherited from [FillConfig](#fillconfig))* | +| `fillColor` | string | No | | *(Inherited from [FillConfig](#fillconfig))* | +| `fillOpacity` | number | No | | *(Inherited from [FillConfig](#fillconfig))* | +| `gradientMode` | string | No | | TODO docs
Possible values are: `none`, `opacity`, `hue`, `scheme`. | +| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | *(Inherited from [HideableFieldConfig](#hideablefieldconfig))*
TODO docs | +| `lineColor` | string | No | | *(Inherited from [LineConfig](#lineconfig))* | +| `lineInterpolation` | string | No | | *(Inherited from [LineConfig](#lineconfig))*
TODO docs
Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. | +| `lineStyle` | [LineStyle](#linestyle) | No | | *(Inherited from [LineConfig](#lineconfig))*
TODO docs | +| `lineWidth` | number | No | | *(Inherited from [LineConfig](#lineconfig))* | +| `pointColor` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))* | +| `pointSize` | number | No | | *(Inherited from [PointsConfig](#pointsconfig))* | +| `pointSymbol` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))* | +| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | *(Inherited from [AxisConfig](#axisconfig))*
TODO docs | +| `showPoints` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))*
TODO docs
Possible values are: `auto`, `never`, `always`. | +| `spanNulls` | | No | | *(Inherited from [LineConfig](#lineconfig))*
Indicate if null values should be treated as gaps or connected.
When the value is a number, it represents the maximum delta in the
X axis that should be considered connected. For timeseries, this is milliseconds | +| `stacking` | [StackingConfig](#stackingconfig) | No | | *(Inherited from [StackableFieldConfig](#stackablefieldconfig))*
TODO docs | +| `thresholdsStyle` | [GraphThresholdsStyleConfig](#graphthresholdsstyleconfig) | No | | TODO docs | +| `transform` | string | No | | TODO docs
Possible values are: `constant`, `negative-Y`. | + +### AxisConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|---------------------|-----------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------| +| `axisBorderShow` | boolean | No | | | +| `axisCenteredZero` | boolean | No | | | +| `axisColorMode` | string | No | | TODO docs
Possible values are: `text`, `series`. | +| `axisGridShow` | boolean | No | | | +| `axisLabel` | string | No | | | +| `axisPlacement` | string | No | | TODO docs
Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. | +| `axisSoftMax` | number | No | | | +| `axisSoftMin` | number | No | | | +| `axisWidth` | number | No | | | +| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | TODO docs | + +### BarConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|------------------|---------|----------|---------|----------------------------------------------------| +| `barAlignment` | integer | No | | TODO docs
Possible values are: `-1`, `0`, `1`. | +| `barMaxWidth` | number | No | | | +| `barWidthFactor` | number | No | | | + +### FillConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|---------------|--------|----------|---------|-------------| +| `fillBelowTo` | string | No | | | +| `fillColor` | string | No | | | +| `fillOpacity` | number | No | | | + +### HideableFieldConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|------------|---------------------------------------|----------|---------|-------------| +| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | TODO docs | + +### LineConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|---------------------|-------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `lineColor` | string | No | | | +| `lineInterpolation` | string | No | | TODO docs
Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. | +| `lineStyle` | [LineStyle](#linestyle) | No | | TODO docs | +| `lineWidth` | number | No | | | +| `spanNulls` | | No | | Indicate if null values should be treated as gaps or connected.
When the value is a number, it represents the maximum delta in the
X axis that should be considered connected. For timeseries, this is milliseconds | + +### PointsConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|---------------|--------|----------|---------|---------------------------------------------------------------| +| `pointColor` | string | No | | | +| `pointSize` | number | No | | | +| `pointSymbol` | string | No | | | +| `showPoints` | string | No | | TODO docs
Possible values are: `auto`, `never`, `always`. | + +### StackableFieldConfig + +TODO docs + +| Property | Type | Required | Default | Description | +|------------|-----------------------------------|----------|---------|-------------| +| `stacking` | [StackingConfig](#stackingconfig) | No | | TODO docs | ### Options diff --git a/packages/grafana-schema/src/common/common.gen.ts b/packages/grafana-schema/src/common/common.gen.ts index 4545daca2b7..983236ae510 100644 --- a/packages/grafana-schema/src/common/common.gen.ts +++ b/packages/grafana-schema/src/common/common.gen.ts @@ -886,7 +886,7 @@ export interface TableFieldOptions { filterable?: boolean; hidden?: boolean; // ?? default is missing or false ?? /** - * Hides any header for a column, usefull for columns that show some static content or buttons. + * Hides any header for a column, useful for columns that show some static content or buttons. */ hideHeader?: boolean; inspect: boolean; diff --git a/packages/grafana-schema/src/common/table.cue b/packages/grafana-schema/src/common/table.cue index a5e06ee9113..8f703604a73 100644 --- a/packages/grafana-schema/src/common/table.cue +++ b/packages/grafana-schema/src/common/table.cue @@ -86,7 +86,7 @@ TableFieldOptions: { hidden?: bool // ?? default is missing or false ?? inspect: bool | *false filterable?: bool - // Hides any header for a column, usefull for columns that show some static content or buttons. + // Hides any header for a column, useful for columns that show some static content or buttons. hideHeader?: bool } @cuetsy(kind="interface") diff --git a/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts b/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts index ce898f47111..37ce8b9cd10 100644 --- a/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts +++ b/packages/grafana-schema/src/raw/composable/table/panelcfg/x/TablePanelCfg_types.gen.ts @@ -61,3 +61,5 @@ export const defaultOptions: Partial = { showTypeIcons: false, sortBy: [], }; + +export interface FieldConfig extends ui.TableFieldOptions {} diff --git a/public/app/plugins/panel/table/module.tsx b/public/app/plugins/panel/table/module.tsx index e55d1411a43..17f62aff423 100644 --- a/public/app/plugins/panel/table/module.tsx +++ b/public/app/plugins/panel/table/module.tsx @@ -7,25 +7,19 @@ import { standardEditorsRegistry, identityOverrideProcessor, } from '@grafana/data'; -import { - TableFieldOptions, - TableCellOptions, - TableCellDisplayMode, - defaultTableFieldOptions, - TableCellHeight, -} from '@grafana/schema'; +import { TableCellOptions, TableCellDisplayMode, defaultTableFieldOptions, TableCellHeight } from '@grafana/schema'; import { PaginationEditor } from './PaginationEditor'; import { TableCellOptionEditor } from './TableCellOptionEditor'; import { TablePanel } from './TablePanel'; import { tableMigrationHandler, tablePanelChangedHandler } from './migrations'; -import { Options, defaultOptions } from './panelcfg.gen'; +import { Options, defaultOptions, FieldConfig } from './panelcfg.gen'; import { TableSuggestionsSupplier } from './suggestions'; const footerCategory = 'Table footer'; const cellCategory = ['Cell options']; -export const plugin = new PanelPlugin(TablePanel) +export const plugin = new PanelPlugin(TablePanel) .setPanelChangeHandler(tablePanelChangedHandler) .setMigrationHandler(tableMigrationHandler) .useFieldConfig({ diff --git a/public/app/plugins/panel/table/panelcfg.cue b/public/app/plugins/panel/table/panelcfg.cue index 7e9f19c4491..214e854f4a4 100644 --- a/public/app/plugins/panel/table/panelcfg.cue +++ b/public/app/plugins/panel/table/panelcfg.cue @@ -45,6 +45,9 @@ composableKinds: PanelCfg: { // Controls the height of the rows cellHeight?: ui.TableCellHeight & (*"sm" | _) } @cuetsy(kind="interface") + FieldConfig: { + ui.TableFieldOptions + } @cuetsy(kind="interface") } }] lenses: [] diff --git a/public/app/plugins/panel/table/panelcfg.gen.ts b/public/app/plugins/panel/table/panelcfg.gen.ts index aed2e330def..fa44e7f982e 100644 --- a/public/app/plugins/panel/table/panelcfg.gen.ts +++ b/public/app/plugins/panel/table/panelcfg.gen.ts @@ -58,3 +58,5 @@ export const defaultOptions: Partial = { showTypeIcons: false, sortBy: [], }; + +export interface FieldConfig extends ui.TableFieldOptions {}