Files
sam boyer 4d433084a5 plugins: New static scanner and validator, with Thema slot support (#53754)
* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add slot definitions

* Start sketching out pfs package

* Rerun codegen with fixes, new cuetsy

* Catch up dashboard with new cuetsy

* Update to go1.18

* Use new vmuxers in thema

* Add slot system in Go

* Draft finished implementation of pfs

* Collapse slot pkg into coremodel dir; add PluginInfo

* Add the mux type on top of kernel

* Refactor plugin generator for extensibility

* Change models.cue package, numerous debugs

* Bring new output to parity with old

* Remove old plugin generation logic

* Misc tweaking

* Reintroduce generation of shared schemas

* Drop back to go1.17

* Add globbing to tsconfig exclude

* Introduce pfs test on existing testdata

* Make most existing testdata tests pass with pfs

* coremodels: Convert plugin-metadata schema to a coremodel

* Newer cuetsy; try quoting field name

* Add APIType control concept, regen pluginmeta

* Use proper numeric types for schema fields

* Make pluginmeta schema follow Go type breakdown

* More decomposition into distinct types

* Add test case for no plugin.json file

* Fix missing ref to #Dependencies

* Remove generated TS for pluginmeta

* Update dependencies, rearrange go.mod

* Regenerate without Model prefix

* Use updated thema loader; this is now runnable

* Skip app plugin with weird include

* Make plugin tree extractor reusable

* Split out slot lineage load/validate logic

* Add myriad tests for new plugin validation failures

* Add test for zip fixtures

* One last run of codegen

* Proper delinting

* Ensure validation order is deterministic

* Let there actually be sorting

* Undo reliance on builtIn field (#54009)

* undo builtIn reliance

* fix tests

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2022-08-22 12:11:45 -04:00

48 lines
1.3 KiB
TypeScript

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// This file is autogenerated. DO NOT EDIT.
//
// To regenerate, run "make gen-cue" from the repository root.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import * as ui from '@grafana/schema';
export const PanelModelVersion = Object.freeze([0, 0]);
export interface PanelOptions extends ui.OptionsWithLegend, ui.OptionsWithTooltip, ui.OptionsWithTextFormatting {
barRadius?: number;
barWidth: number;
colorByField?: string;
groupWidth: number;
orientation: ui.VizOrientation;
showValue: ui.VisibilityMode;
stacking: ui.StackingMode;
xField?: string;
xTickLabelMaxLength: number;
xTickLabelRotation: number;
xTickLabelSpacing?: number;
}
export const defaultPanelOptions: Partial<PanelOptions> = {
barRadius: 0,
barWidth: 0.97,
groupWidth: 0.7,
orientation: ui.VizOrientation.Auto,
showValue: ui.VisibilityMode.Auto,
stacking: ui.StackingMode.None,
xTickLabelRotation: 0,
xTickLabelSpacing: 0,
};
export interface PanelFieldConfig extends ui.AxisConfig, ui.HideableFieldConfig {
fillOpacity?: number;
gradientMode?: ui.GraphGradientMode;
lineWidth?: number;
}
export const defaultPanelFieldConfig: Partial<PanelFieldConfig> = {
fillOpacity: 80,
gradientMode: ui.GraphGradientMode.None,
lineWidth: 1,
};