Codegen: Remove duplicated sections from generated docs (#62965)

* Remove duplicated sections

* Regenerate docs

* Refactor schema.sections func (#63079)

* Refactor schema.sections func

* Small refactors

---------

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
This commit is contained in:
Tania 2023-02-08 12:07:00 +01:00 committed by GitHub
parent 470be140dc
commit 25756b49a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 76 additions and 1071 deletions

View File

@ -91,26 +91,6 @@ TODO docs
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### PanelOptions
It extends [OptionsWithLegend](#optionswithlegend) and [OptionsWithTooltip](#optionswithtooltip) and [OptionsWithTextFormatting](#optionswithtextformatting).
@ -191,38 +171,4 @@ TODO docs
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
### VizLegendOptions
TODO docs
| Property | Type | Required | Description |
|---------------|----------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | |
| `displayMode` | string | **Yes** | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | |
| `asTable` | boolean | No | |
| `isVisible` | boolean | No | |
| `sortBy` | string | No | |
| `sortDesc` | boolean | No | |
| `width` | number | No | |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Description |
|----------|--------|----------|---------------------------------------------------------------|
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |

View File

@ -71,33 +71,4 @@ TODO docs
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### ReduceDataOptions
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|---------------------------------------------------------------|
| `calcs` | string[] | **Yes** | When !values, pick one value for the whole field |
| `fields` | string | No | Which fields to show. By default this is only numeric fields |
| `limit` | number | No | if showing all values limit |
| `values` | boolean | No | If true show each row value |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |

View File

@ -34,12 +34,4 @@ title: DebugPanelCfg kind
| `render` | boolean | **Yes** | |
| `schemaChanged` | boolean | **Yes** | |
### UpdateConfig
| Property | Type | Required | Description |
|-----------------|---------|----------|-------------|
| `dataChanged` | boolean | **Yes** | |
| `render` | boolean | **Yes** | |
| `schemaChanged` | boolean | **Yes** | |

View File

@ -69,33 +69,4 @@ TODO docs
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### ReduceDataOptions
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|---------------------------------------------------------------|
| `calcs` | string[] | **Yes** | When !values, pick one value for the whole field |
| `fields` | string | No | Which fields to show. By default this is only numeric fields |
| `limit` | number | No | if showing all values limit |
| `values` | boolean | No | If true show each row value |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |

View File

@ -82,26 +82,6 @@ TODO docs
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### PanelOptions
It extends [OptionsWithLegend](#optionswithlegend) and [OptionsWithTooltip](#optionswithtooltip).
@ -155,29 +135,4 @@ TODO docs
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
### VizLegendOptions
TODO docs
| Property | Type | Required | Description |
|---------------|----------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | |
| `displayMode` | string | **Yes** | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | |
| `asTable` | boolean | No | |
| `isVisible` | boolean | No | |
| `sortBy` | string | No | |
| `sortDesc` | boolean | No | |
| `width` | number | No | |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Description |
|----------|--------|----------|---------------------------------------------------------------|
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |

View File

@ -42,13 +42,6 @@ title: NodeGraphPanelCfg kind
| `mainStatUnit` | string | No | Unit for the main stat to override what ever is set in the data frame. |
| `secondaryStatUnit` | string | No | Unit for the secondary stat to override what ever is set in the data frame. |
### ArcOption
| Property | Type | Required | Description |
|----------|--------|----------|-----------------------------------------------------------------------------------------------------|
| `color` | string | No | The color of the arc. |
| `field` | string | No | Field from which to get the value. Values should be less than 1, representing fraction of a circle. |
### PanelOptions
| Property | Type | Required | Description |
@ -56,26 +49,4 @@ title: NodeGraphPanelCfg kind
| `edges` | [EdgeOptions](#edgeoptions) | No | |
| `nodes` | [NodeOptions](#nodeoptions) | No | |
### EdgeOptions
| Property | Type | Required | Description |
|---------------------|--------|----------|-----------------------------------------------------------------------------|
| `mainStatUnit` | string | No | Unit for the main stat to override what ever is set in the data frame. |
| `secondaryStatUnit` | string | No | Unit for the secondary stat to override what ever is set in the data frame. |
### NodeOptions
| Property | Type | Required | Description |
|---------------------|---------------------------|----------|-----------------------------------------------------------------------------------------|
| `arcs` | [ArcOption](#arcoption)[] | No | Define which fields are shown as part of the node arc (colored circle around the node). |
| `mainStatUnit` | string | No | Unit for the main stat to override what ever is set in the data frame. |
| `secondaryStatUnit` | string | No | Unit for the secondary stat to override what ever is set in the data frame. |
### ArcOption
| Property | Type | Required | Description |
|----------|--------|----------|-----------------------------------------------------------------------------------------------------|
| `color` | string | No | The color of the arc. |
| `field` | string | No | Field from which to get the value. Values should be less than 1, representing fraction of a circle. |

View File

@ -144,75 +144,4 @@ TODO docs
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### ReduceDataOptions
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|---------------------------------------------------------------|
| `calcs` | string[] | **Yes** | When !values, pick one value for the whole field |
| `fields` | string | No | Which fields to show. By default this is only numeric fields |
| `limit` | number | No | if showing all values limit |
| `values` | boolean | No | If true show each row value |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Description |
|----------|--------|----------|---------------------------------------------------------------|
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
### PieChartLegendOptions
It extends [VizLegendOptions](#vizlegendoptions).
| Property | Type | Required | Description |
|---------------|----------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
| `displayMode` | string | **Yes** | *(Inherited from [VizLegendOptions](#vizlegendoptions))*<br/>TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | *(Inherited from [VizLegendOptions](#vizlegendoptions))*<br/>TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
| `values` | string[] | **Yes** | |
| `asTable` | boolean | No | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
| `isVisible` | boolean | No | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
| `sortBy` | string | No | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
| `sortDesc` | boolean | No | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
| `width` | number | No | *(Inherited from [VizLegendOptions](#vizlegendoptions))* |
### VizLegendOptions
TODO docs
| Property | Type | Required | Description |
|---------------|----------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | |
| `displayMode` | string | **Yes** | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | |
| `asTable` | boolean | No | |
| `isVisible` | boolean | No | |
| `sortBy` | string | No | |
| `sortDesc` | boolean | No | |
| `width` | number | No | |

View File

@ -46,16 +46,6 @@ TODO docs
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### PanelOptions
It extends [OptionsWithLegend](#optionswithlegend) and [OptionsWithTooltip](#optionswithtooltip) and [OptionsWithTimezones](#optionswithtimezones).
@ -119,29 +109,4 @@ TODO docs
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
### VizLegendOptions
TODO docs
| Property | Type | Required | Description |
|---------------|----------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | |
| `displayMode` | string | **Yes** | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | |
| `asTable` | boolean | No | |
| `isVisible` | boolean | No | |
| `sortBy` | string | No | |
| `sortDesc` | boolean | No | |
| `width` | number | No | |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Description |
|----------|--------|----------|---------------------------------------------------------------|
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |

View File

@ -71,33 +71,4 @@ TODO docs
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### ReduceDataOptions
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|---------------------------------------------------------------|
| `calcs` | string[] | **Yes** | When !values, pick one value for the whole field |
| `fields` | string | No | Which fields to show. By default this is only numeric fields |
| `limit` | number | No | if showing all values limit |
| `values` | boolean | No | If true show each row value |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |
### VizTextDisplayOptions
TODO docs
| Property | Type | Required | Description |
|-------------|--------|----------|--------------------------|
| `titleSize` | number | No | Explicit title text size |
| `valueSize` | number | No | Explicit value text size |

View File

@ -46,16 +46,6 @@ TODO docs
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### PanelOptions
It extends [OptionsWithLegend](#optionswithlegend) and [OptionsWithTooltip](#optionswithtooltip) and [OptionsWithTimezones](#optionswithtimezones).
@ -118,29 +108,4 @@ TODO docs
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
### VizLegendOptions
TODO docs
| Property | Type | Required | Description |
|---------------|----------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | |
| `displayMode` | string | **Yes** | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | |
| `asTable` | boolean | No | |
| `isVisible` | boolean | No | |
| `sortBy` | string | No | |
| `sortDesc` | boolean | No | |
| `width` | number | No | |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Description |
|----------|--------|----------|---------------------------------------------------------------|
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |

View File

@ -36,12 +36,4 @@ title: TextPanelCfg kind
| `mode` | string | **Yes** | Possible values are: `html`, `markdown`, `code`. |
| `code` | [CodeOptions](#codeoptions) | No | |
### CodeOptions
| Property | Type | Required | Description |
|-------------------|---------|----------|-------------------------------------------------------------------------------------------------------------------------------|
| `language` | string | **Yes** | Possible values are: `plaintext`, `yaml`, `xml`, `typescript`, `sql`, `go`, `markdown`, `html`, `json`. Default: `plaintext`. |
| `showLineNumbers` | boolean | **Yes** | Default: `false`. |
| `showMiniMap` | boolean | **Yes** | Default: `false`. |

View File

@ -121,24 +121,6 @@ It extends [BaseDimensionConfig](#basedimensionconfig).
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### HideSeriesConfig
TODO docs
@ -169,13 +151,6 @@ It extends [BaseDimensionConfig](#basedimensionconfig).
| `min` | integer | **Yes** | |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ScaleDistributionConfig
TODO docs
@ -227,62 +202,6 @@ TODO docs
| `axisWidth` | number | No | |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | TODO docs |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### HideableFieldConfig
TODO docs
@ -291,53 +210,6 @@ TODO docs
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### LineStyle
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|--------------------------------------------------------|
| `dash` | number[] | No | |
| `fill` | string | No | Possible values are: `solid`, `dash`, `dot`, `square`. |
### ScaleDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|---------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `max` | integer | **Yes** | |
| `min` | integer | **Yes** | |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### TextDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
@ -348,529 +220,6 @@ It extends [BaseDimensionConfig](#basedimensionconfig).
| `mode` | string | **Yes** | Possible values are: `fixed`, `field`, `template`. |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### TextDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `mode` | string | **Yes** | Possible values are: `fixed`, `field`, `template`. |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### VizLegendOptions
TODO docs
| Property | Type | Required | Description |
|---------------|----------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | |
| `displayMode` | string | **Yes** | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | |
| `asTable` | boolean | No | |
| `isVisible` | boolean | No | |
| `sortBy` | string | No | |
| `sortDesc` | boolean | No | |
| `width` | number | No | |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Description |
|----------|--------|----------|---------------------------------------------------------------|
| `mode` | string | **Yes** | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
### XYDimensionConfig
| Property | Type | Required | Description |
|-----------|----------|----------|-------------|
| `frame` | integer | **Yes** | |
| `exclude` | string[] | No | |
| `x` | string | No | |
### ScatterFieldConfig
It extends [HideableFieldConfig](#hideablefieldconfig) and [AxisConfig](#axisconfig).
| Property | Type | Required | Description |
|---------------------|-----------------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisColorMode` | string | No | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs<br/>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))*<br/>TODO docs<br/>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))* |
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | *(Inherited from [HideableFieldConfig](#hideablefieldconfig))*<br/>TODO docs |
| `labelValue` | [TextDimensionConfig](#textdimensionconfig) | No | |
| `label` | string | No | TODO docs<br/>Possible values are: `auto`, `never`, `always`. |
| `lineColor` | [ColorDimensionConfig](#colordimensionconfig) | No | This is actually an empty interface used mainly for naming? |
| `lineStyle` | [LineStyle](#linestyle) | No | TODO docs |
| `lineWidth` | integer | No | |
| `pointColor` | [ColorDimensionConfig](#colordimensionconfig) | No | This is actually an empty interface used mainly for naming? |
| `pointSize` | [ScaleDimensionConfig](#scaledimensionconfig) | No | |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs |
| `show` | string | No | Possible values are: `points`, `lines`, `points+lines`. |
### AxisConfig
TODO docs
| Property | Type | Required | Description |
|---------------------|-----------------------------------------------------|----------|----------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | |
| `axisColorMode` | string | No | TODO docs<br/>Possible values are: `text`, `series`. |
| `axisGridShow` | boolean | No | |
| `axisLabel` | string | No | |
| `axisPlacement` | string | No | TODO docs<br/>Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
| `axisSoftMax` | number | No | |
| `axisSoftMin` | number | No | |
| `axisWidth` | number | No | |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | TODO docs |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### HideableFieldConfig
TODO docs
| Property | Type | Required | Description |
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### LineStyle
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|--------------------------------------------------------|
| `dash` | number[] | No | |
| `fill` | string | No | Possible values are: `solid`, `dash`, `dot`, `square`. |
### ScaleDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|---------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `max` | integer | **Yes** | |
| `min` | integer | **Yes** | |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### TextDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `mode` | string | **Yes** | Possible values are: `fixed`, `field`, `template`. |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ScatterSeriesConfig
It extends [ScatterFieldConfig](#scatterfieldconfig).
| Property | Type | Required | Description |
|---------------------|-----------------------------------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `axisColorMode` | string | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>TODO docs<br/>Possible values are: `text`, `series`. |
| `axisGridShow` | boolean | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `axisLabel` | string | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `axisPlacement` | string | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>TODO docs<br/>Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
| `axisSoftMax` | number | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `axisSoftMin` | number | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `axisWidth` | number | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>TODO docs |
| `labelValue` | [TextDimensionConfig](#textdimensionconfig) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `label` | string | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>TODO docs<br/>Possible values are: `auto`, `never`, `always`. |
| `lineColor` | [ColorDimensionConfig](#colordimensionconfig) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>This is actually an empty interface used mainly for naming? |
| `lineStyle` | [LineStyle](#linestyle) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>TODO docs |
| `lineWidth` | integer | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `name` | string | No | |
| `pointColor` | [ColorDimensionConfig](#colordimensionconfig) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>This is actually an empty interface used mainly for naming? |
| `pointSize` | [ScaleDimensionConfig](#scaledimensionconfig) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))* |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>TODO docs |
| `show` | string | No | *(Inherited from [ScatterFieldConfig](#scatterfieldconfig))*<br/>Possible values are: `points`, `lines`, `points+lines`. |
| `x` | string | No | |
| `y` | string | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### LineStyle
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|--------------------------------------------------------|
| `dash` | number[] | No | |
| `fill` | string | No | Possible values are: `solid`, `dash`, `dot`, `square`. |
### ScaleDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|---------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `max` | integer | **Yes** | |
| `min` | integer | **Yes** | |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### ScatterFieldConfig
It extends [HideableFieldConfig](#hideablefieldconfig) and [AxisConfig](#axisconfig).
| Property | Type | Required | Description |
|---------------------|-----------------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisColorMode` | string | No | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs<br/>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))*<br/>TODO docs<br/>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))* |
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | *(Inherited from [HideableFieldConfig](#hideablefieldconfig))*<br/>TODO docs |
| `labelValue` | [TextDimensionConfig](#textdimensionconfig) | No | |
| `label` | string | No | TODO docs<br/>Possible values are: `auto`, `never`, `always`. |
| `lineColor` | [ColorDimensionConfig](#colordimensionconfig) | No | This is actually an empty interface used mainly for naming? |
| `lineStyle` | [LineStyle](#linestyle) | No | TODO docs |
| `lineWidth` | integer | No | |
| `pointColor` | [ColorDimensionConfig](#colordimensionconfig) | No | This is actually an empty interface used mainly for naming? |
| `pointSize` | [ScaleDimensionConfig](#scaledimensionconfig) | No | |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs |
| `show` | string | No | Possible values are: `points`, `lines`, `points+lines`. |
### AxisConfig
TODO docs
| Property | Type | Required | Description |
|---------------------|-----------------------------------------------------|----------|----------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | |
| `axisColorMode` | string | No | TODO docs<br/>Possible values are: `text`, `series`. |
| `axisGridShow` | boolean | No | |
| `axisLabel` | string | No | |
| `axisPlacement` | string | No | TODO docs<br/>Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
| `axisSoftMax` | number | No | |
| `axisSoftMin` | number | No | |
| `axisWidth` | number | No | |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | TODO docs |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ColorDimensionConfig
This is actually an empty interface used mainly for naming?
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### HideableFieldConfig
TODO docs
| Property | Type | Required | Description |
|------------|---------------------------------------|----------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | TODO docs |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Description |
|-----------|---------|----------|-------------|
| `legend` | boolean | **Yes** | |
| `tooltip` | boolean | **Yes** | |
| `viz` | boolean | **Yes** | |
### LineStyle
TODO docs
| Property | Type | Required | Description |
|----------|----------|----------|--------------------------------------------------------|
| `dash` | number[] | No | |
| `fill` | string | No | Possible values are: `solid`, `dash`, `dot`, `square`. |
### ScaleDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|---------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `max` | integer | **Yes** | |
| `min` | integer | **Yes** | |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Description |
|-------------------|--------|----------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | |
| `log` | number | No | |
### TextDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `mode` | string | **Yes** | Possible values are: `fixed`, `field`, `template`. |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### TextDimensionConfig
It extends [BaseDimensionConfig](#basedimensionconfig).
| Property | Type | Required | Description |
|----------|--------|----------|----------------------------------------------------------------|
| `fixed` | | **Yes** | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
| `mode` | string | **Yes** | Possible values are: `fixed`, `field`, `template`. |
| `field` | string | No | *(Inherited from [BaseDimensionConfig](#basedimensionconfig))* |
### BaseDimensionConfig
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `fixed` | | **Yes** | |
| `field` | string | No | |
### XYDimensionConfig
| Property | Type | Required | Description |

View File

@ -45,14 +45,6 @@ A standalone panel
| `id` | integer | **Yes** | |
| `name` | string | **Yes** | |
### LibraryElementDTOMetaUser
| Property | Type | Required | Description |
|-------------|---------|----------|-------------|
| `avatarUrl` | string | **Yes** | |
| `id` | integer | **Yes** | |
| `name` | string | **Yes** | |
### Model
TODO: should be the same panel schema defined in dashboard

View File

@ -8,6 +8,7 @@ import (
"io"
"path"
"path/filepath"
"reflect"
"sort"
"strings"
"text/template"
@ -73,7 +74,7 @@ func (j docsJenny) Generate(kind kindsys.Kind) (*codejen.File, error) {
KindVersion: kind.Lineage().Latest().Version().String(),
KindMaturity: fmt.Sprintf("[%s](../../../maturity/#%[1]s)", kindProps.Maturity),
KindDescription: kindProps.Description,
Markdown: "{{ .Markdown 1 }}",
Markdown: "{{ .Markdown }}",
}
tmpl, err := makeTemplate(data, "docs.tmpl")
@ -322,44 +323,89 @@ func resolveInSchemaReference(ref string, root *simplejson.Json) (*schema, error
return &sch, nil
}
type mdSection struct {
title string
extends string
description string
rows [][]string
}
func (md mdSection) write(w io.Writer) {
if md.title != "" {
fmt.Fprintf(w, "### %s\n", strings.Title(md.title))
fmt.Fprintln(w)
}
if md.description != "" {
fmt.Fprintln(w, md.description)
fmt.Fprintln(w)
}
if md.extends != "" {
fmt.Fprintln(w, md.extends)
fmt.Fprintln(w)
}
table := tablewriter.NewWriter(w)
table.SetHeader([]string{"Property", "Type", "Required", "Description"})
table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false})
table.SetCenterSeparator("|")
table.SetAutoFormatHeaders(false)
table.SetHeaderAlignment(tablewriter.ALIGN_LEFT)
table.SetAutoWrapText(false)
table.AppendBulk(md.rows)
table.Render()
fmt.Fprintln(w)
}
// Markdown returns the Markdown representation of the schema.
//
// The level argument can be used to offset the heading levels. This can be
// useful if you want to add the schema under a subheading.
func (s schema) Markdown(level int) string {
if level < 1 {
level = 1
}
func (s *schema) Markdown() string {
buf := new(bytes.Buffer)
if s.Title != "" && s.AdditionalProperties == nil {
fmt.Fprintf(buf, "### %s\n", strings.Title(s.Title))
fmt.Fprintln(buf)
}
if s.Description != "" {
fmt.Fprintln(buf, s.Description)
fmt.Fprintln(buf)
}
if len(s.extends) > 0 {
fmt.Fprintln(buf, makeExtends(s.extends))
fmt.Fprintln(buf)
}
printProperties(buf, &s)
// Add padding.
fmt.Fprintln(buf)
for _, obj := range findDefinitions(&s) {
fmt.Fprint(buf, obj.Markdown(level+1))
for _, v := range s.sections() {
v.write(buf)
}
return buf.String()
}
func (s *schema) sections() []mdSection {
md := mdSection{}
if s.AdditionalProperties == nil {
md.title = s.Title
}
md.description = s.Description
if len(s.extends) > 0 {
md.extends = makeExtends(s.extends)
}
md.rows = makeRows(s)
sections := []mdSection{md}
for _, sch := range findDefinitions(s) {
for _, ss := range sch.sections() {
if !contains(sections, ss) {
sections = append(sections, ss)
}
}
}
return sections
}
func contains(sl []mdSection, elem mdSection) bool {
for _, s := range sl {
if reflect.DeepEqual(s, elem) {
return true
}
}
return false
}
func makeExtends(from []string) string {
fromLinks := make([]string, 0, len(from))
for _, f := range from {
@ -429,15 +475,7 @@ func findDefinitions(s *schema) []*schema {
return objs
}
func printProperties(w io.Writer, s *schema) {
table := tablewriter.NewWriter(w)
table.SetHeader([]string{"Property", "Type", "Required", "Description"})
table.SetBorders(tablewriter.Border{Left: true, Top: false, Right: true, Bottom: false})
table.SetCenterSeparator("|")
table.SetAutoFormatHeaders(false)
table.SetHeaderAlignment(tablewriter.ALIGN_LEFT)
table.SetAutoWrapText(false)
func makeRows(s *schema) [][]string {
// Buffer all property rows so that we can sort them before printing them.
rows := make([][]string, 0, len(s.Properties))
@ -487,9 +525,7 @@ func printProperties(w io.Writer, s *schema) {
}
return rows[i][0] < rows[j][0]
})
table.AppendBulk(rows)
table.Render()
return rows
}
func propTypeStr(propName string, propValue *schema) string {