Last active
May 28, 2025 22:24
-
-
Save thomasneirynck/95ae5c5834c4f48bb6d3fcfdb6375b50 to your computer and use it in GitHub Desktop.
Lens Chart Definition
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| interface LensChart { | |
| attributes: | |
| | { | |
| visualizationType: 'lnsXY'; | |
| title: string; | |
| description?: string; | |
| state: { | |
| datasourceStates: Record<string, unknown>; | |
| query: any; | |
| filters: any; | |
| needsRefresh?: boolean; | |
| globalPalette?: { | |
| activePaletteId: string; | |
| state?: unknown; | |
| }; | |
| visualization: { | |
| preferredSeriesType: | |
| | 'bar' | |
| | 'line' | |
| | 'area' | |
| | 'bar_stacked' | |
| | 'area_stacked' | |
| | 'bar_horizontal' | |
| | 'bar_percentage_stacked' | |
| | 'bar_horizontal_stacked' | |
| | 'area_percentage_stacked' | |
| | 'bar_horizontal_percentage_stacked'; | |
| legend: { | |
| isVisible: boolean; | |
| position: 'top' | 'bottom' | 'left' | 'right'; | |
| showSingleSeries?: boolean; | |
| isInside?: boolean; | |
| horizontalAlignment?: 'right' | 'left'; | |
| verticalAlignment?: 'top' | 'bottom'; | |
| floatingColumns?: number; | |
| maxLines?: number; | |
| shouldTruncate?: boolean; | |
| legendSize?: 'auto' | 'small' | 'medium' | 'large' | 'xlarge'; | |
| legendStats?: ( | |
| | 'currentAndLastValue' | |
| | 'lastValue' | |
| | 'lastNonNullValue' | |
| | 'average' | |
| | 'median' | |
| | 'max' | |
| | 'min' | |
| | 'firstValue' | |
| | 'firstNonNullValue' | |
| | 'total' | |
| | 'count' | |
| | 'distinctCount' | |
| | 'variance' | |
| | 'stdDeviation' | |
| | 'range' | |
| | 'difference' | |
| | 'differencePercent' | |
| )[]; | |
| layout?: 'table' | 'list'; | |
| title?: string; | |
| isTitleVisible?: boolean; | |
| }; | |
| valueLabels?: 'hide' | 'show'; | |
| fittingFunction?: 'None' | 'Zero' | 'Linear' | 'Carry' | 'Lookahead' | 'Average' | 'Nearest'; | |
| emphasizeFitting?: boolean; | |
| endValue?: 'None' | 'Zero' | 'Nearest'; | |
| xExtent?: { | |
| mode: 'full' | 'custom' | 'dataBounds'; | |
| lowerBound?: number; | |
| upperBound?: number; | |
| enforce?: boolean; | |
| niceValues?: boolean; | |
| }; | |
| yLeftExtent?: { | |
| mode: 'full' | 'custom' | 'dataBounds'; | |
| lowerBound?: number; | |
| upperBound?: number; | |
| enforce?: boolean; | |
| niceValues?: boolean; | |
| }; | |
| yRightExtent?: { | |
| mode: 'full' | 'custom' | 'dataBounds'; | |
| lowerBound?: number; | |
| upperBound?: number; | |
| enforce?: boolean; | |
| niceValues?: boolean; | |
| }; | |
| layers: ( | |
| | { | |
| layerId: string; | |
| accessors: string[]; | |
| layerType: 'data'; | |
| seriesType: | |
| | 'bar' | |
| | 'line' | |
| | 'area' | |
| | 'bar_stacked' | |
| | 'area_stacked' | |
| | 'bar_horizontal' | |
| | 'bar_percentage_stacked' | |
| | 'bar_horizontal_stacked' | |
| | 'area_percentage_stacked' | |
| | 'bar_horizontal_percentage_stacked'; | |
| xAccessor?: string; | |
| simpleView?: boolean; | |
| yConfig?: { | |
| forAccessor: string; | |
| color?: string; | |
| icon?: string; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted'; | |
| fill?: 'none' | 'above' | 'below'; | |
| iconPosition?: 'auto' | 'left' | 'right' | 'above' | 'below'; | |
| textVisibility?: boolean; | |
| axisMode?: 'auto' | 'left' | 'right' | 'bottom'; | |
| }[]; | |
| splitAccessor?: string; | |
| palette?: { | |
| type: 'palette' | 'system_palette'; | |
| name: string; | |
| params?: Record<string, unknown>; | |
| }; | |
| collapseFn?: 'sum' | 'avg' | 'min' | 'max'; | |
| xScaleType?: 'time' | 'linear' | 'ordinal'; | |
| isHistogram?: boolean; | |
| columnToLabel?: string; | |
| colorMapping?: { | |
| paletteId: string; | |
| colorMode: | |
| | { type: 'categorical' } | |
| | { | |
| type: 'gradient'; | |
| steps: Array< | |
| ( | |
| | { type: 'categorical'; paletteId: string; colorIndex: number } | |
| | { type: 'colorCode'; colorCode: string } | |
| ) & { touched: boolean } | |
| >; | |
| sort: 'asc' | 'desc'; | |
| }; | |
| assignments: Array< | |
| { | |
| rule: | |
| | { type: 'auto' } | |
| | { type: 'range'; min: number; max: number; minInclusive: boolean; maxInclusive: boolean } | |
| | { type: 'matchExactly'; values: Array<string | string[]> } | |
| | { type: 'matchExactlyCI'; values: string[] } | |
| | { type: 'regex'; values: string }; | |
| color: | |
| | { type: 'categorical'; paletteId: string; colorIndex: number } | |
| | { type: 'colorCode'; colorCode: string } | |
| | { type: 'gradient' }; | |
| touched: boolean; | |
| } | |
| >; | |
| }; | |
| } | |
| | { | |
| layerId: string; | |
| accessors: string[]; | |
| layerType: 'referenceLine'; | |
| yConfig?: { | |
| forAccessor: string; | |
| color?: string; | |
| icon?: string; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted'; | |
| fill?: 'none' | 'above' | 'below'; | |
| iconPosition?: 'auto' | 'left' | 'right' | 'above' | 'below'; | |
| textVisibility?: boolean; | |
| axisMode?: 'auto' | 'left' | 'right' | 'bottom'; | |
| }[]; | |
| } | |
| | { | |
| layerId: string; | |
| layerType: 'annotations'; | |
| annotations: ( | |
| | { | |
| id: string; | |
| type: 'manual'; | |
| key: { | |
| type: 'point_in_time'; | |
| timestamp: string; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| icon?: 'asterisk' | 'alert' | 'bell' | 'bolt' | 'bug' | 'circle' | 'editorComment' | 'flag' | 'heart' | 'mapMarker' | 'pinFilled' | 'starEmpty' | 'starFilled' | 'tag' | 'triangle'; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted' | 'dot-dashed'; | |
| textVisibility?: boolean; | |
| } | |
| | { | |
| type: 'manual'; | |
| id: string; | |
| key: { | |
| type: 'range'; | |
| timestamp: string; | |
| endTimestamp: string; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| outside?: boolean; | |
| } | |
| | { | |
| id: string; | |
| type: 'query'; | |
| filter: any; | |
| timeField?: string; | |
| textField?: string; | |
| extraFields?: string[]; | |
| key: { | |
| type: 'point_in_time'; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| icon?: 'asterisk' | 'alert' | 'bell' | 'bolt' | 'bug' | 'circle' | 'editorComment' | 'flag' | 'heart' | 'mapMarker' | 'pinFilled' | 'starEmpty' | 'starFilled' | 'tag' | 'triangle'; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted' | 'dot-dashed'; | |
| textVisibility?: boolean; | |
| } | |
| )[]; | |
| indexPatternId: string; | |
| ignoreGlobalFilters: boolean; | |
| cachedMetadata?: { | |
| title: string; | |
| description: string; | |
| tags: string[]; | |
| }; | |
| } | |
| | { | |
| layerId: string; | |
| layerType: 'annotations'; | |
| annotations: ( | |
| | { | |
| id: string; | |
| type: 'manual'; | |
| key: { | |
| type: 'point_in_time'; | |
| timestamp: string; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| icon?: 'asterisk' | 'alert' | 'bell' | 'bolt' | 'bug' | 'circle' | 'editorComment' | 'flag' | 'heart' | 'mapMarker' | 'pinFilled' | 'starEmpty' | 'starFilled' | 'tag' | 'triangle'; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted' | 'dot-dashed'; | |
| textVisibility?: boolean; | |
| } | |
| | { | |
| type: 'manual'; | |
| id: string; | |
| key: { | |
| type: 'range'; | |
| timestamp: string; | |
| endTimestamp: string; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| outside?: boolean; | |
| } | |
| | { | |
| id: string; | |
| type: 'query'; | |
| filter: any; | |
| timeField?: string; | |
| textField?: string; | |
| extraFields?: string[]; | |
| key: { | |
| type: 'point_in_time'; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| icon?: 'asterisk' | 'alert' | 'bell' | 'bolt' | 'bug' | 'circle' | 'editorComment' | 'flag' | 'heart' | 'mapMarker' | 'pinFilled' | 'starEmpty' | 'starFilled' | 'tag' | 'triangle'; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted' | 'dot-dashed'; | |
| textVisibility?: boolean; | |
| } | |
| )[]; | |
| indexPatternId: string; | |
| ignoreGlobalFilters: boolean; | |
| annotationGroupId: string; | |
| __lastSaved: { | |
| annotations: ( | |
| | { | |
| id: string; | |
| type: 'manual'; | |
| key: { | |
| type: 'point_in_time'; | |
| timestamp: string; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| icon?: 'asterisk' | 'alert' | 'bell' | 'bolt' | 'bug' | 'circle' | 'editorComment' | 'flag' | 'heart' | 'mapMarker' | 'pinFilled' | 'starEmpty' | 'starFilled' | 'tag' | 'triangle'; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted' | 'dot-dashed'; | |
| textVisibility?: boolean; | |
| } | |
| | { | |
| type: 'manual'; | |
| id: string; | |
| key: { | |
| type: 'range'; | |
| timestamp: string; | |
| endTimestamp: string; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| outside?: boolean; | |
| } | |
| | { | |
| id: string; | |
| type: 'query'; | |
| filter: any; | |
| timeField?: string; | |
| textField?: string; | |
| extraFields?: string[]; | |
| key: { | |
| type: 'point_in_time'; | |
| }; | |
| label: string; | |
| color?: string; | |
| isHidden?: boolean; | |
| icon?: 'asterisk' | 'alert' | 'bell' | 'bolt' | 'bug' | 'circle' | 'editorComment' | 'flag' | 'heart' | 'mapMarker' | 'pinFilled' | 'starEmpty' | 'starFilled' | 'tag' | 'triangle'; | |
| lineWidth?: number; | |
| lineStyle?: 'solid' | 'dashed' | 'dotted' | 'dot-dashed'; | |
| textVisibility?: boolean; | |
| } | |
| )[]; | |
| indexPatternId: string; | |
| ignoreGlobalFilters: boolean; | |
| title: string; | |
| description: string; | |
| tags: string[]; | |
| dataViewSpec?: any; | |
| }; | |
| } | |
| )[]; | |
| xTitle?: string; | |
| yTitle?: string; | |
| yRightTitle?: string; | |
| yLeftScale?: 'time' | 'linear' | 'log' | 'sqrt'; | |
| yRightScale?: 'time' | 'linear' | 'log' | 'sqrt'; | |
| axisTitlesVisibilitySettings?: { | |
| yLeft: boolean; | |
| yRight: boolean; | |
| }; | |
| tickLabelsVisibilitySettings?: { | |
| yLeft: boolean; | |
| yRight: boolean; | |
| }; | |
| gridlinesVisibilitySettings?: { | |
| yLeft: boolean; | |
| yRight: boolean; | |
| }; | |
| labelsOrientation?: { | |
| x: number; | |
| yLeft: number; | |
| yRight: number; | |
| }; | |
| curveType?: 'LINEAR' | 'CURVE_MONOTONE_X' | 'CURVE_STEP_AFTER'; | |
| fillOpacity?: number; | |
| minBarHeight?: number; | |
| hideEndzones?: boolean; | |
| showCurrentTimeMarker?: boolean; | |
| }; | |
| }; | |
| } | |
| | { | |
| visualizationType: 'lnsPie'; | |
| title: string; | |
| description?: string; | |
| state: { | |
| datasourceStates: Record<string, unknown>; | |
| query: any; | |
| filters: any; | |
| needsRefresh?: boolean; | |
| globalPalette?: { | |
| activePaletteId: string; | |
| state?: unknown; | |
| }; | |
| visualization: { | |
| shape: 'pie' | 'donut' | 'treemap' | 'mosaic' | 'waffle'; | |
| layers: { | |
| layerId: string; | |
| layerType: 'data' | 'referenceLine' | 'annotations' | 'metricTrendline'; | |
| metrics: string[]; | |
| primaryGroups: string[]; | |
| secondaryGroups?: string[]; | |
| allowMultipleMetrics?: boolean; | |
| colorsByDimension?: Record<string, string>; | |
| collapseFns?: Record<string, 'sum' | 'avg' | 'min' | 'max'>; | |
| numberDisplay: 'hidden' | 'percent' | 'value'; | |
| categoryDisplay: 'default' | 'inside' | 'hide'; | |
| legendDisplay: 'default' | 'show' | 'hide'; | |
| legendPosition?: 'top' | 'bottom' | 'left' | 'right'; | |
| legendStats?: ('value' | 'percent')[]; | |
| nestedLegend?: boolean; | |
| percentDecimals?: number; | |
| emptySizeRatio?: number; | |
| legendMaxLines?: number; | |
| legendSize?: 'auto' | 'small' | 'medium' | 'large' | 'xlarge'; | |
| truncateLegend?: boolean; | |
| colorMapping?: { | |
| paletteId: string; | |
| colorMode: | |
| | { type: 'categorical' } | |
| | { | |
| type: 'gradient'; | |
| steps: Array< | |
| ( | |
| | { type: 'categorical'; paletteId: string; colorIndex: number } | |
| | { type: 'colorCode'; colorCode: string } | |
| ) & { touched: boolean } | |
| >; | |
| sort: 'asc' | 'desc'; | |
| }; | |
| assignments: Array< | |
| { | |
| rule: | |
| | { type: 'auto' } | |
| | { type: 'range'; min: number; max: number; minInclusive: boolean; maxInclusive: boolean } | |
| | { type: 'matchExactly'; values: Array<string | string[]> } | |
| | { type: 'matchExactlyCI'; values: string[] } | |
| | { type: 'regex'; values: string }; | |
| color: | |
| | { type: 'categorical'; paletteId: string; colorIndex: number } | |
| | { type: 'colorCode'; colorCode: string } | |
| | { type: 'gradient' }; | |
| touched: boolean; | |
| } | |
| >; | |
| }; | |
| }[]; | |
| palette?: { | |
| type: 'palette' | 'system_palette'; | |
| name: string; | |
| params?: Record<string, unknown>; | |
| }; | |
| }; | |
| }; | |
| }; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Flattened definition of a Lens object. Generated from kibana source code.