@grafana/scenes 4.24.2--canary.755.9271425573.0 → 4.24.2--canary.757.9280867929.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +14 -0
- package/dist/esm/components/EmbeddedScene.js +1 -2
- package/dist/esm/components/EmbeddedScene.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanel.js +0 -3
- package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
- package/dist/esm/components/layout/grid/SceneGridLayout.js +15 -1
- package/dist/esm/components/layout/grid/SceneGridLayout.js.map +1 -1
- package/dist/esm/core/types.js.map +1 -1
- package/dist/esm/index.js +1 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/services/UniqueUrlKeyMapper.js +1 -1
- package/dist/esm/services/UniqueUrlKeyMapper.js.map +1 -1
- package/dist/esm/services/UrlSyncManager.js +3 -11
- package/dist/esm/services/UrlSyncManager.js.map +1 -1
- package/dist/esm/utils/writeSceneLog.js +1 -5
- package/dist/esm/utils/writeSceneLog.js.map +1 -1
- package/dist/esm/variables/utils.js.map +1 -1
- package/dist/esm/variables/variants/MultiValueVariable.js +34 -17
- package/dist/esm/variables/variants/MultiValueVariable.js.map +1 -1
- package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
- package/dist/index.d.ts +147 -245
- package/dist/index.js +55 -212
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/core/PanelBuilders/VizConfigBuilder.js +0 -78
- package/dist/esm/core/PanelBuilders/VizConfigBuilder.js.map +0 -1
- package/dist/esm/core/PanelBuilders/VizConfigBuilders.js +0 -114
- package/dist/esm/core/PanelBuilders/VizConfigBuilders.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryVariable.js","sources":["../../../../../src/variables/variants/query/QueryVariable.tsx"],"sourcesContent":["import { Observable, of, filter, take, mergeMap, catchError, throwError, from, lastValueFrom } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n CoreApp,\n DataQueryRequest,\n LoadingState,\n PanelData,\n ScopedVars,\n VariableRefresh,\n VariableSort,\n} from '@grafana/data';\n\nimport { sceneGraph } from '../../../core/sceneGraph';\nimport { SceneComponentProps
|
1
|
+
{"version":3,"file":"QueryVariable.js","sources":["../../../../../src/variables/variants/query/QueryVariable.tsx"],"sourcesContent":["import { Observable, of, filter, take, mergeMap, catchError, throwError, from, lastValueFrom } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n CoreApp,\n DataQueryRequest,\n LoadingState,\n PanelData,\n ScopedVars,\n VariableRefresh,\n VariableSort,\n} from '@grafana/data';\n\nimport { sceneGraph } from '../../../core/sceneGraph';\nimport { SceneComponentProps } from '../../../core/types';\nimport { VariableDependencyConfig } from '../../VariableDependencyConfig';\nimport { renderSelectForVariable } from '../../components/VariableValueSelect';\nimport { VariableValueOption } from '../../types';\nimport { MultiValueVariable, MultiValueVariableState, VariableGetOptionsArgs } from '../MultiValueVariable';\n\nimport { createQueryVariableRunner } from './createQueryVariableRunner';\nimport { metricNamesToVariableValues } from './utils';\nimport { toMetricFindValues } from './toMetricFindValues';\nimport { getDataSource } from '../../../utils/getDataSource';\nimport { safeStringifyValue } from '../../utils';\nimport { DataQuery, DataSourceRef } from '@grafana/schema';\nimport { SEARCH_FILTER_VARIABLE } from '../../constants';\nimport { DataQueryExtended } from '../../../querying/SceneQueryRunner';\nimport { debounce } from 'lodash';\nimport { registerQueryWithController } from '../../../querying/registerQueryWithController';\n\nexport interface QueryVariableState extends MultiValueVariableState {\n type: 'query';\n datasource: DataSourceRef | null;\n query: string | DataQueryExtended;\n regex: string;\n refresh: VariableRefresh;\n sort: VariableSort;\n /** @internal Only for use inside core dashboards */\n definition?: string;\n}\n\nexport class QueryVariable extends MultiValueVariable<QueryVariableState> {\n protected _variableDependency = new VariableDependencyConfig(this, {\n statePaths: ['regex', 'query', 'datasource'],\n });\n\n public constructor(initialState: Partial<QueryVariableState>) {\n super({\n type: 'query',\n name: '',\n value: '',\n text: '',\n options: [],\n datasource: null,\n regex: '',\n query: { refId: 'A' },\n refresh: VariableRefresh.onDashboardLoad,\n sort: VariableSort.disabled,\n ...initialState,\n });\n }\n\n public getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]> {\n if (!this.state.query) {\n return of([]);\n }\n\n this.setState({ loading: true, error: null });\n\n return from(\n getDataSource(this.state.datasource, {\n __sceneObject: { text: '__sceneObject', value: this },\n })\n ).pipe(\n mergeMap((ds) => {\n const runner = createQueryVariableRunner(ds);\n const target = runner.getTarget(this);\n const request = this.getRequest(target, args.searchFilter);\n\n return runner.runRequest({ variable: this, searchFilter: args.searchFilter }, request).pipe(\n registerQueryWithController({\n type: 'variable',\n request: request,\n origin: this,\n }),\n filter((data) => data.state === LoadingState.Done || data.state === LoadingState.Error), // we only care about done or error for now\n take(1), // take the first result, using first caused a bug where it in some situations throw an uncaught error because of no results had been received yet\n mergeMap((data: PanelData) => {\n if (data.state === LoadingState.Error) {\n return throwError(() => data.error);\n }\n return of(data);\n }),\n toMetricFindValues(),\n mergeMap((values) => {\n let regex = '';\n if (this.state.regex) {\n regex = sceneGraph.interpolate(this, this.state.regex, undefined, 'regex');\n }\n return of(metricNamesToVariableValues(regex, this.state.sort, values));\n }),\n catchError((error) => {\n if (error.cancelled) {\n return of([]);\n }\n return throwError(() => error);\n })\n );\n })\n );\n }\n\n private getRequest(target: DataQuery | string, searchFilter?: string) {\n const scopedVars: ScopedVars = {\n __sceneObject: { text: '__sceneObject', value: this },\n };\n\n if (searchFilter) {\n scopedVars.__searchFilter = { value: searchFilter, text: searchFilter };\n }\n\n const range = sceneGraph.getTimeRange(this).state.value;\n\n const request: DataQueryRequest = {\n app: CoreApp.Dashboard,\n requestId: uuidv4(),\n timezone: '',\n range,\n interval: '',\n intervalMs: 0,\n // @ts-ignore\n targets: [target],\n scopedVars,\n startTime: Date.now(),\n };\n\n return request;\n }\n\n onSearchChange = (searchFilter: string) => {\n if (!containsSearchFilter(this.state.query)) {\n return;\n }\n\n this._updateOptionsBasedOnSearchFilter(searchFilter);\n };\n\n private _updateOptionsBasedOnSearchFilter = debounce(async (searchFilter: string) => {\n const result = await lastValueFrom(this.getValueOptions({ searchFilter }));\n this.setState({ options: result, loading: false });\n }, 400);\n\n public static Component = ({ model }: SceneComponentProps<MultiValueVariable>) => {\n return renderSelectForVariable(model);\n };\n}\n\nfunction containsSearchFilter(query: string | DataQuery) {\n const str = safeStringifyValue(query);\n return str.indexOf(SEARCH_FILTER_VARIABLE) > -1;\n}\n"],"names":["uuidv4"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
import * as _grafana_data from '@grafana/data';
|
2
|
-
import { BusEventWithPayload, PanelData, BusEvent, BusEventType, BusEventHandler, TimeRange, DataQueryRequest, DataTransformContext, DataFrame, PanelPlugin, EventBus, DataQuery
|
2
|
+
import { BusEventWithPayload, PanelData, BusEvent, BusEventType, BusEventHandler, TimeRange, DataQueryRequest, DataTransformContext, DataFrame, PanelPlugin, EventBus, DataQuery, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, SelectableValue, MetricFindValue, VariableRefresh as VariableRefresh$1, VariableSort, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, PanelMenuItem, FieldConfigSource, PanelModel, AbsoluteTimeRange, InterpolateFunction, IconName as IconName$1, FieldConfig, FieldType, FieldValueMatcherConfig } from '@grafana/data';
|
3
3
|
import * as React$1 from 'react';
|
4
4
|
import React__default, { CSSProperties, ComponentType } from 'react';
|
5
5
|
import * as rxjs from 'rxjs';
|
6
6
|
import { Observable, Unsubscribable, MonoTypeOperatorFunction, Subscription, ReplaySubject } from 'rxjs';
|
7
7
|
import * as _grafana_schema from '@grafana/schema';
|
8
|
-
import { VariableType, VariableHide, TimeZone, DataTopic,
|
8
|
+
import { VariableType, VariableHide, TimeZone, DataTopic, DataSourceRef, DataQuery as DataQuery$1, VariableRefresh, LoadingState, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
|
9
9
|
import { VariableInterpolation } from '@grafana/runtime';
|
10
10
|
import { PanelContext, IconName } from '@grafana/ui';
|
11
11
|
import ReactGridLayout from 'react-grid-layout';
|
@@ -309,10 +309,6 @@ interface UseStateHookOptions {
|
|
309
309
|
*/
|
310
310
|
shouldActivateOrKeepAlive?: boolean;
|
311
311
|
}
|
312
|
-
interface SceneDataQuery extends DataQuery {
|
313
|
-
[key: string]: any;
|
314
|
-
timeRangeCompare?: boolean;
|
315
|
-
}
|
316
312
|
|
317
313
|
/**
|
318
314
|
*
|
@@ -426,7 +422,7 @@ declare function useSceneObjectState<TState extends SceneObjectState>(model: Sce
|
|
426
422
|
|
427
423
|
declare function cloneSceneObjectState<TState extends SceneObjectState>(sceneState: TState, withState?: Partial<TState>): TState;
|
428
424
|
|
429
|
-
declare abstract class RuntimeDataSource<TQuery extends DataQuery
|
425
|
+
declare abstract class RuntimeDataSource<TQuery extends DataQuery = DataQuery> extends DataSourceApi<TQuery> {
|
430
426
|
constructor(pluginId: string, uid: string);
|
431
427
|
testDatasource(): Promise<any>;
|
432
428
|
}
|
@@ -481,6 +477,143 @@ interface MacroVariableConstructor {
|
|
481
477
|
*/
|
482
478
|
declare function registerVariableMacro(name: string, macro: MacroVariableConstructor): () => void;
|
483
479
|
|
480
|
+
interface VariableDependencyConfigOptions<TState extends SceneObjectState> {
|
481
|
+
/**
|
482
|
+
* State paths to scan / extract variable dependencies from. Leave empty to scan all paths.
|
483
|
+
*/
|
484
|
+
statePaths?: Array<keyof TState | '*'>;
|
485
|
+
/**
|
486
|
+
* Explicit list of variable names to depend on. Leave empty to scan state for dependencies.
|
487
|
+
*/
|
488
|
+
variableNames?: string[];
|
489
|
+
/**
|
490
|
+
* Optional way to customize how to handle when a dependent variable changes
|
491
|
+
* If not specified the default behavior is to trigger a re-render
|
492
|
+
*/
|
493
|
+
onReferencedVariableValueChanged?: (variable: SceneVariable) => void;
|
494
|
+
/**
|
495
|
+
* Two scenarios trigger this callback to be called.
|
496
|
+
* 1. When any direct dependency changed value
|
497
|
+
* 2. In case hasDependencyInLoadingState was called and returned true we really care about any variable update. So in this scenario this callback is called
|
498
|
+
* after any variable update completes. This is to cover scenarios where an object is waiting for indirect dependencies to complete.
|
499
|
+
*/
|
500
|
+
onVariableUpdateCompleted?: () => void;
|
501
|
+
/**
|
502
|
+
* Optional way to subscribe to all variable value changes, even to variables that are not dependencies.
|
503
|
+
*/
|
504
|
+
onAnyVariableChanged?: (variable: SceneVariable) => void;
|
505
|
+
}
|
506
|
+
declare class VariableDependencyConfig<TState extends SceneObjectState> implements SceneVariableDependencyConfigLike {
|
507
|
+
private _sceneObject;
|
508
|
+
private _options;
|
509
|
+
private _state;
|
510
|
+
private _dependencies;
|
511
|
+
private _statePaths?;
|
512
|
+
private _isWaitingForVariables;
|
513
|
+
scanCount: number;
|
514
|
+
constructor(_sceneObject: SceneObject<TState>, _options: VariableDependencyConfigOptions<TState>);
|
515
|
+
/**
|
516
|
+
* Used to check for dependency on a specific variable
|
517
|
+
*/
|
518
|
+
hasDependencyOn(name: string): boolean;
|
519
|
+
/**
|
520
|
+
* This is called whenever any set of variables have new values. It is up to this implementation to check if it's relevant given the current dependencies.
|
521
|
+
*/
|
522
|
+
variableUpdateCompleted(variable: SceneVariable, hasChanged: boolean): void;
|
523
|
+
hasDependencyInLoadingState(): boolean;
|
524
|
+
getNames(): Set<string>;
|
525
|
+
/**
|
526
|
+
* Update variableNames
|
527
|
+
*/
|
528
|
+
setVariableNames(varNames: string[]): void;
|
529
|
+
setPaths(paths: Array<keyof TState | '*'>): void;
|
530
|
+
private scanStateForDependencies;
|
531
|
+
private extractVariablesFrom;
|
532
|
+
}
|
533
|
+
|
534
|
+
interface QueryRunnerState extends SceneObjectState {
|
535
|
+
data?: PanelData;
|
536
|
+
queries: DataQueryExtended[];
|
537
|
+
datasource?: DataSourceRef;
|
538
|
+
minInterval?: string;
|
539
|
+
maxDataPoints?: number;
|
540
|
+
liveStreaming?: boolean;
|
541
|
+
maxDataPointsFromWidth?: boolean;
|
542
|
+
cacheTimeout?: DataQueryRequest['cacheTimeout'];
|
543
|
+
queryCachingTTL?: DataQueryRequest['queryCachingTTL'];
|
544
|
+
dataLayerFilter?: DataLayerFilter;
|
545
|
+
_hasFetchedData?: boolean;
|
546
|
+
}
|
547
|
+
interface DataQueryExtended extends DataQuery$1 {
|
548
|
+
[key: string]: any;
|
549
|
+
timeRangeCompare?: boolean;
|
550
|
+
}
|
551
|
+
declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> implements SceneDataProvider {
|
552
|
+
private _querySub?;
|
553
|
+
private _dataLayersSub?;
|
554
|
+
private _dataLayersMerger;
|
555
|
+
private _timeSub?;
|
556
|
+
private _timeSubRange?;
|
557
|
+
private _containerWidth?;
|
558
|
+
private _variableValueRecorder;
|
559
|
+
private _results;
|
560
|
+
private _scopedVars;
|
561
|
+
private _layerAnnotations?;
|
562
|
+
private _resultAnnotations?;
|
563
|
+
private _adhocFiltersVar?;
|
564
|
+
private _groupByVar?;
|
565
|
+
getResultsStream(): ReplaySubject<SceneDataProviderResult>;
|
566
|
+
protected _variableDependency: VariableDependencyConfig<QueryRunnerState>;
|
567
|
+
constructor(initialState: QueryRunnerState);
|
568
|
+
private _onActivate;
|
569
|
+
private _handleDataLayers;
|
570
|
+
private _onLayersReceived;
|
571
|
+
/**
|
572
|
+
* This tries to start a new query whenever a variable completes or is changed.
|
573
|
+
*
|
574
|
+
* We care about variable update completions even when the variable has not changed and even when it is not a direct dependency.
|
575
|
+
* Example: Variables A and B (B depends on A). A update depends on time range. So when time change query runner will
|
576
|
+
* find that variable A is loading which is a dependency on of variable B so will set _isWaitingForVariables to true and
|
577
|
+
* not issue any query.
|
578
|
+
*
|
579
|
+
* When A completes it's loading (with no value change, so B never updates) it will cause a call of this function letting
|
580
|
+
* the query runner know that A has completed, and in case _isWaitingForVariables we try to run the query. The query will
|
581
|
+
* only run if all variables are in a non loading state so in other scenarios where a query depends on many variables this will
|
582
|
+
* be called many times until all dependencies are in a non loading state. *
|
583
|
+
*/
|
584
|
+
private onVariableUpdatesCompleted;
|
585
|
+
/**
|
586
|
+
* Check if value changed is a adhoc filter o group by variable that did not exist when we issued the last query
|
587
|
+
*/
|
588
|
+
private onAnyVariableChanged;
|
589
|
+
private _isRelevantAutoVariable;
|
590
|
+
private shouldRunQueriesOnActivate;
|
591
|
+
private _isDataTimeRangeStale;
|
592
|
+
private _onDeactivate;
|
593
|
+
setContainerWidth(width: number): void;
|
594
|
+
isDataReadyToDisplay(): boolean;
|
595
|
+
private subscribeToTimeRangeChanges;
|
596
|
+
runQueries(): void;
|
597
|
+
private getMaxDataPoints;
|
598
|
+
cancelQuery(): void;
|
599
|
+
private runWithTimeRange;
|
600
|
+
clone(withState?: Partial<QueryRunnerState>): this;
|
601
|
+
private prepareRequests;
|
602
|
+
private onDataReceived;
|
603
|
+
private _combineDataLayers;
|
604
|
+
private _setNoDataState;
|
605
|
+
/**
|
606
|
+
* Will walk up the scene graph and find the closest time range compare object
|
607
|
+
* It performs buttom-up search, including shallow search across object children for supporting controls/header actions
|
608
|
+
*/
|
609
|
+
private getTimeCompare;
|
610
|
+
/**
|
611
|
+
* Walk up scene graph and find the closest filterset with matching data source
|
612
|
+
*/
|
613
|
+
private findAndSubscribeToAdHocFilters;
|
614
|
+
private _updateExplicitVariableDependencies;
|
615
|
+
}
|
616
|
+
|
484
617
|
declare function renderPrometheusLabelFilters(filters: AdHocVariableFilter[]): string;
|
485
618
|
|
486
619
|
declare class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHandler {
|
@@ -600,60 +733,6 @@ declare class ConstantVariable extends SceneObjectBase<ConstantVariableState> im
|
|
600
733
|
getValue(): VariableValue;
|
601
734
|
}
|
602
735
|
|
603
|
-
interface VariableDependencyConfigOptions<TState extends SceneObjectState> {
|
604
|
-
/**
|
605
|
-
* State paths to scan / extract variable dependencies from. Leave empty to scan all paths.
|
606
|
-
*/
|
607
|
-
statePaths?: Array<keyof TState | '*'>;
|
608
|
-
/**
|
609
|
-
* Explicit list of variable names to depend on. Leave empty to scan state for dependencies.
|
610
|
-
*/
|
611
|
-
variableNames?: string[];
|
612
|
-
/**
|
613
|
-
* Optional way to customize how to handle when a dependent variable changes
|
614
|
-
* If not specified the default behavior is to trigger a re-render
|
615
|
-
*/
|
616
|
-
onReferencedVariableValueChanged?: (variable: SceneVariable) => void;
|
617
|
-
/**
|
618
|
-
* Two scenarios trigger this callback to be called.
|
619
|
-
* 1. When any direct dependency changed value
|
620
|
-
* 2. In case hasDependencyInLoadingState was called and returned true we really care about any variable update. So in this scenario this callback is called
|
621
|
-
* after any variable update completes. This is to cover scenarios where an object is waiting for indirect dependencies to complete.
|
622
|
-
*/
|
623
|
-
onVariableUpdateCompleted?: () => void;
|
624
|
-
/**
|
625
|
-
* Optional way to subscribe to all variable value changes, even to variables that are not dependencies.
|
626
|
-
*/
|
627
|
-
onAnyVariableChanged?: (variable: SceneVariable) => void;
|
628
|
-
}
|
629
|
-
declare class VariableDependencyConfig<TState extends SceneObjectState> implements SceneVariableDependencyConfigLike {
|
630
|
-
private _sceneObject;
|
631
|
-
private _options;
|
632
|
-
private _state;
|
633
|
-
private _dependencies;
|
634
|
-
private _statePaths?;
|
635
|
-
private _isWaitingForVariables;
|
636
|
-
scanCount: number;
|
637
|
-
constructor(_sceneObject: SceneObject<TState>, _options: VariableDependencyConfigOptions<TState>);
|
638
|
-
/**
|
639
|
-
* Used to check for dependency on a specific variable
|
640
|
-
*/
|
641
|
-
hasDependencyOn(name: string): boolean;
|
642
|
-
/**
|
643
|
-
* This is called whenever any set of variables have new values. It is up to this implementation to check if it's relevant given the current dependencies.
|
644
|
-
*/
|
645
|
-
variableUpdateCompleted(variable: SceneVariable, hasChanged: boolean): void;
|
646
|
-
hasDependencyInLoadingState(): boolean;
|
647
|
-
getNames(): Set<string>;
|
648
|
-
/**
|
649
|
-
* Update variableNames
|
650
|
-
*/
|
651
|
-
setVariableNames(varNames: string[]): void;
|
652
|
-
setPaths(paths: Array<keyof TState | '*'>): void;
|
653
|
-
private scanStateForDependencies;
|
654
|
-
private extractVariablesFrom;
|
655
|
-
}
|
656
|
-
|
657
736
|
interface MultiValueVariableState extends SceneVariableState {
|
658
737
|
value: VariableValue;
|
659
738
|
text: VariableValue;
|
@@ -692,6 +771,7 @@ declare abstract class MultiValueVariable<TState extends MultiValueVariableState
|
|
692
771
|
* Check if current value is valid given new options. If not update the value.
|
693
772
|
*/
|
694
773
|
private updateValueGivenNewOptions;
|
774
|
+
private getStateUpdateGivenNewOptions;
|
695
775
|
/**
|
696
776
|
* Values set by initial URL sync needs to survive the next validation and update.
|
697
777
|
* This function can intercept and make sure those values are preserved.
|
@@ -792,7 +872,7 @@ declare class TextBoxVariable extends SceneObjectBase<TextBoxVariableState> impl
|
|
792
872
|
interface QueryVariableState extends MultiValueVariableState {
|
793
873
|
type: 'query';
|
794
874
|
datasource: DataSourceRef | null;
|
795
|
-
query: string |
|
875
|
+
query: string | DataQueryExtended;
|
796
876
|
regex: string;
|
797
877
|
refresh: VariableRefresh$1;
|
798
878
|
sort: VariableSort;
|
@@ -1219,85 +1299,6 @@ declare class SceneTimeZoneOverride extends SceneTimeRangeTransformerBase<SceneT
|
|
1219
1299
|
onTimeZoneChange(timeZone: string): void;
|
1220
1300
|
}
|
1221
1301
|
|
1222
|
-
interface QueryRunnerState extends SceneObjectState {
|
1223
|
-
data?: PanelData;
|
1224
|
-
queries: SceneDataQuery[];
|
1225
|
-
datasource?: DataSourceRef;
|
1226
|
-
minInterval?: string;
|
1227
|
-
maxDataPoints?: number;
|
1228
|
-
liveStreaming?: boolean;
|
1229
|
-
maxDataPointsFromWidth?: boolean;
|
1230
|
-
cacheTimeout?: DataQueryRequest['cacheTimeout'];
|
1231
|
-
queryCachingTTL?: DataQueryRequest['queryCachingTTL'];
|
1232
|
-
dataLayerFilter?: DataLayerFilter;
|
1233
|
-
_hasFetchedData?: boolean;
|
1234
|
-
}
|
1235
|
-
declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> implements SceneDataProvider {
|
1236
|
-
private _querySub?;
|
1237
|
-
private _dataLayersSub?;
|
1238
|
-
private _dataLayersMerger;
|
1239
|
-
private _timeSub?;
|
1240
|
-
private _timeSubRange?;
|
1241
|
-
private _containerWidth?;
|
1242
|
-
private _variableValueRecorder;
|
1243
|
-
private _results;
|
1244
|
-
private _scopedVars;
|
1245
|
-
private _layerAnnotations?;
|
1246
|
-
private _resultAnnotations?;
|
1247
|
-
private _adhocFiltersVar?;
|
1248
|
-
private _groupByVar?;
|
1249
|
-
getResultsStream(): ReplaySubject<SceneDataProviderResult>;
|
1250
|
-
protected _variableDependency: VariableDependencyConfig<QueryRunnerState>;
|
1251
|
-
constructor(initialState: QueryRunnerState);
|
1252
|
-
private _onActivate;
|
1253
|
-
private _handleDataLayers;
|
1254
|
-
private _onLayersReceived;
|
1255
|
-
/**
|
1256
|
-
* This tries to start a new query whenever a variable completes or is changed.
|
1257
|
-
*
|
1258
|
-
* We care about variable update completions even when the variable has not changed and even when it is not a direct dependency.
|
1259
|
-
* Example: Variables A and B (B depends on A). A update depends on time range. So when time change query runner will
|
1260
|
-
* find that variable A is loading which is a dependency on of variable B so will set _isWaitingForVariables to true and
|
1261
|
-
* not issue any query.
|
1262
|
-
*
|
1263
|
-
* When A completes it's loading (with no value change, so B never updates) it will cause a call of this function letting
|
1264
|
-
* the query runner know that A has completed, and in case _isWaitingForVariables we try to run the query. The query will
|
1265
|
-
* only run if all variables are in a non loading state so in other scenarios where a query depends on many variables this will
|
1266
|
-
* be called many times until all dependencies are in a non loading state. *
|
1267
|
-
*/
|
1268
|
-
private onVariableUpdatesCompleted;
|
1269
|
-
/**
|
1270
|
-
* Check if value changed is a adhoc filter o group by variable that did not exist when we issued the last query
|
1271
|
-
*/
|
1272
|
-
private onAnyVariableChanged;
|
1273
|
-
private _isRelevantAutoVariable;
|
1274
|
-
private shouldRunQueriesOnActivate;
|
1275
|
-
private _isDataTimeRangeStale;
|
1276
|
-
private _onDeactivate;
|
1277
|
-
setContainerWidth(width: number): void;
|
1278
|
-
isDataReadyToDisplay(): boolean;
|
1279
|
-
private subscribeToTimeRangeChanges;
|
1280
|
-
runQueries(): void;
|
1281
|
-
private getMaxDataPoints;
|
1282
|
-
cancelQuery(): void;
|
1283
|
-
private runWithTimeRange;
|
1284
|
-
clone(withState?: Partial<QueryRunnerState>): this;
|
1285
|
-
private prepareRequests;
|
1286
|
-
private onDataReceived;
|
1287
|
-
private _combineDataLayers;
|
1288
|
-
private _setNoDataState;
|
1289
|
-
/**
|
1290
|
-
* Will walk up the scene graph and find the closest time range compare object
|
1291
|
-
* It performs buttom-up search, including shallow search across object children for supporting controls/header actions
|
1292
|
-
*/
|
1293
|
-
private getTimeCompare;
|
1294
|
-
/**
|
1295
|
-
* Walk up scene graph and find the closest filterset with matching data source
|
1296
|
-
*/
|
1297
|
-
private findAndSubscribeToAdHocFilters;
|
1298
|
-
private _updateExplicitVariableDependencies;
|
1299
|
-
}
|
1300
|
-
|
1301
1302
|
declare abstract class SceneDataLayerSetBase<T extends SceneDataLayerProviderState> extends SceneObjectBase<T> implements SceneDataLayerProvider {
|
1302
1303
|
/** Mark it as a data layer */
|
1303
1304
|
isDataLayer: true;
|
@@ -1383,13 +1384,6 @@ declare class VariableValueSelectors extends SceneObjectBase<VariableValueSelect
|
|
1383
1384
|
static Component: typeof VariableValueSelectorsRenderer;
|
1384
1385
|
}
|
1385
1386
|
declare function VariableValueSelectorsRenderer({ model }: SceneComponentProps<VariableValueSelectors>): React__default.JSX.Element;
|
1386
|
-
interface VariableSelectProps {
|
1387
|
-
layout?: ControlsLayout;
|
1388
|
-
variable: SceneVariable;
|
1389
|
-
/** To override hide from VariableValueSelectByName */
|
1390
|
-
showAlways?: boolean;
|
1391
|
-
}
|
1392
|
-
declare function VariableValueSelectWrapper({ variable, layout, showAlways }: VariableSelectProps): React__default.JSX.Element | null;
|
1393
1387
|
|
1394
1388
|
interface VariableValueControlState extends SceneObjectState {
|
1395
1389
|
layout?: ControlsLayout;
|
@@ -1530,7 +1524,6 @@ interface UrlSyncManagerLike {
|
|
1530
1524
|
initSync(root: SceneObject): void;
|
1531
1525
|
cleanUp(root: SceneObject): void;
|
1532
1526
|
getUrlState(root: SceneObject): SceneObjectUrlValues;
|
1533
|
-
syncNewObj(obj: SceneObject): void;
|
1534
1527
|
}
|
1535
1528
|
declare class UrlSyncManager implements UrlSyncManagerLike {
|
1536
1529
|
private _urlKeyMapper;
|
@@ -1539,7 +1532,6 @@ declare class UrlSyncManager implements UrlSyncManagerLike {
|
|
1539
1532
|
private _locationSub?;
|
1540
1533
|
private _lastPath?;
|
1541
1534
|
private _ignoreNextLocationUpdate;
|
1542
|
-
private _urlParams;
|
1543
1535
|
/**
|
1544
1536
|
* Updates the current scene state to match URL state.
|
1545
1537
|
*/
|
@@ -1548,7 +1540,6 @@ declare class UrlSyncManager implements UrlSyncManagerLike {
|
|
1548
1540
|
syncFrom(sceneObj: SceneObject): void;
|
1549
1541
|
private _onLocationUpdate;
|
1550
1542
|
private _onStateChanged;
|
1551
|
-
syncNewObj(obj: SceneObject): void;
|
1552
1543
|
getUrlState(root: SceneObject): SceneObjectUrlValues;
|
1553
1544
|
}
|
1554
1545
|
declare function getUrlSyncManager(): UrlSyncManagerLike;
|
@@ -1660,7 +1651,6 @@ declare class VizPanel<TOptions = {}, TFieldConfig extends {} = {}> extends Scen
|
|
1660
1651
|
onFieldConfigChange: (fieldConfigUpdate: FieldConfigSource<DeepPartial<TFieldConfig>>, replace?: boolean) => void;
|
1661
1652
|
interpolate: InterpolateFunction;
|
1662
1653
|
getDescription: () => string;
|
1663
|
-
clearFieldConfigCache(): void;
|
1664
1654
|
/**
|
1665
1655
|
* Called from the react render path to apply the field config to the data provided by the data provider
|
1666
1656
|
*/
|
@@ -2015,6 +2005,10 @@ declare class SceneGridLayout extends SceneObjectBase<SceneGridLayoutState> impl
|
|
2015
2005
|
* If it is collapsed there is no row to add it to. The default is then to return the SceneGridLayout itself
|
2016
2006
|
*/
|
2017
2007
|
private findGridItemSceneParent;
|
2008
|
+
/**
|
2009
|
+
* Helper func to check if we are dropping a row in between panels of another row
|
2010
|
+
*/
|
2011
|
+
private isRowDropValid;
|
2018
2012
|
/**
|
2019
2013
|
* This likely needs a slightly different approach. Where we clone or deactivate or and re-activate the moved child
|
2020
2014
|
*/
|
@@ -2185,12 +2179,6 @@ type StandardFieldConfigInterface<T, C, Prefix extends string> = {
|
|
2185
2179
|
[K in Exclude<keyof T, keyof any[]> as `${Prefix}${Capitalize<string & K>}`]: (value: T[K]) => C;
|
2186
2180
|
};
|
2187
2181
|
type StandardFieldConfig = Pick<FieldConfig, 'color' | 'decimals' | 'displayName' | 'filterable' | 'links' | 'mappings' | 'max' | 'min' | 'noValue' | 'thresholds' | 'unit'>;
|
2188
|
-
interface VizConfig<TOptions = {}, TFieldConfig = {}> {
|
2189
|
-
pluginId: string;
|
2190
|
-
pluginVersion: string;
|
2191
|
-
options: DeepPartial<TOptions>;
|
2192
|
-
fieldConfig: FieldConfigSource<DeepPartial<TFieldConfig>>;
|
2193
|
-
}
|
2194
2182
|
|
2195
2183
|
declare class StandardFieldConfigOverridesBuilder<T extends StandardFieldConfigOverridesBuilder<T>> implements StandardFieldConfigInterface<StandardFieldConfig, T, 'override'> {
|
2196
2184
|
protected _overrides: Array<{
|
@@ -2499,92 +2487,6 @@ interface Props {
|
|
2499
2487
|
*/
|
2500
2488
|
declare function SceneDebugger({ scene }: Props): React__default.JSX.Element;
|
2501
2489
|
|
2502
|
-
declare class VizConfigBuilder<TOptions extends {}, TFieldConfig extends {}> implements StandardFieldConfigInterface<StandardFieldConfig, VizConfigBuilder<TOptions, TFieldConfig>, 'set'> {
|
2503
|
-
private _fieldConfigBuilder;
|
2504
|
-
private _panelOptionsBuilder;
|
2505
|
-
private _pluginId;
|
2506
|
-
private _pluginVersion;
|
2507
|
-
constructor(pluginId: string, pluginVersion: string, defaultOptions?: () => Partial<TOptions>, defaultFieldConfig?: () => TFieldConfig);
|
2508
|
-
/**
|
2509
|
-
* Set color.
|
2510
|
-
*/
|
2511
|
-
setColor(color: StandardFieldConfig['color']): this;
|
2512
|
-
/**
|
2513
|
-
* Set number of decimals to show.
|
2514
|
-
*/
|
2515
|
-
setDecimals(decimals: StandardFieldConfig['decimals']): this;
|
2516
|
-
/**
|
2517
|
-
* Set field display name.
|
2518
|
-
*/
|
2519
|
-
setDisplayName(displayName: StandardFieldConfig['displayName']): this;
|
2520
|
-
/**
|
2521
|
-
* Set the standard field config property filterable.
|
2522
|
-
*/
|
2523
|
-
setFilterable(filterable: StandardFieldConfig['filterable']): this;
|
2524
|
-
/**
|
2525
|
-
* Set data links.
|
2526
|
-
*/
|
2527
|
-
setLinks(links: StandardFieldConfig['links']): this;
|
2528
|
-
/**
|
2529
|
-
* Set value mappings.
|
2530
|
-
*/
|
2531
|
-
setMappings(mappings: StandardFieldConfig['mappings']): this;
|
2532
|
-
/**
|
2533
|
-
* Set the standard field config property max.
|
2534
|
-
*/
|
2535
|
-
setMax(max: StandardFieldConfig['max']): this;
|
2536
|
-
/**
|
2537
|
-
* Set the standard field config property min.
|
2538
|
-
*/
|
2539
|
-
setMin(min: StandardFieldConfig['min']): this;
|
2540
|
-
/**
|
2541
|
-
* Set the standard field config property noValue.
|
2542
|
-
*/
|
2543
|
-
setNoValue(noValue: StandardFieldConfig['noValue']): this;
|
2544
|
-
/**
|
2545
|
-
* Set the standard field config property thresholds.
|
2546
|
-
*/
|
2547
|
-
setThresholds(thresholds: StandardFieldConfig['thresholds']): this;
|
2548
|
-
/**
|
2549
|
-
* Set the standard field config property unit.
|
2550
|
-
*/
|
2551
|
-
setUnit(unit: StandardFieldConfig['unit']): this;
|
2552
|
-
setCustomFieldConfig<T extends TFieldConfig, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this;
|
2553
|
-
setOverrides(builder: (b: FieldConfigOverridesBuilder<TFieldConfig>) => void): this;
|
2554
|
-
/**
|
2555
|
-
* Set an individual panel option. This will merge the value with the existing options.
|
2556
|
-
*/
|
2557
|
-
setOption<T extends TOptions, K extends keyof T>(id: K, value: DeepPartial<T[K]>): this;
|
2558
|
-
/**
|
2559
|
-
* Build the panel.
|
2560
|
-
*/
|
2561
|
-
build(): VizConfig<TOptions, TFieldConfig>;
|
2562
|
-
}
|
2563
|
-
|
2564
|
-
declare const VizConfigBuilders: {
|
2565
|
-
barchart(): VizConfigBuilder<Options, FieldConfig$1>;
|
2566
|
-
bargauge(): VizConfigBuilder<Options$1, {}>;
|
2567
|
-
datagrid(): VizConfigBuilder<Options$2, {}>;
|
2568
|
-
flamegraph(): VizConfigBuilder<{}, {}>;
|
2569
|
-
gauge(): VizConfigBuilder<Options$3, {}>;
|
2570
|
-
geomap(): VizConfigBuilder<Options$4, {}>;
|
2571
|
-
heatmap(): VizConfigBuilder<Options$5, FieldConfig$2>;
|
2572
|
-
histogram(): VizConfigBuilder<Options$6, FieldConfig$3>;
|
2573
|
-
logs(): VizConfigBuilder<Options$7, {}>;
|
2574
|
-
news(): VizConfigBuilder<Options$8, {}>;
|
2575
|
-
nodegraph(): VizConfigBuilder<Options$9, {}>;
|
2576
|
-
piechart(): VizConfigBuilder<Options$a, FieldConfig$4>;
|
2577
|
-
stat(): VizConfigBuilder<Options$b, {}>;
|
2578
|
-
statetimeline(): VizConfigBuilder<Options$c, FieldConfig$5>;
|
2579
|
-
statushistory(): VizConfigBuilder<Options$d, FieldConfig$6>;
|
2580
|
-
table(): VizConfigBuilder<Options$e, TableFieldOptions>;
|
2581
|
-
text(): VizConfigBuilder<Options$f, {}>;
|
2582
|
-
timeseries(): VizConfigBuilder<Options$g, FieldConfig$7>;
|
2583
|
-
trend(): VizConfigBuilder<{}, {}>;
|
2584
|
-
traces(): VizConfigBuilder<Options$h, FieldConfig$8>;
|
2585
|
-
xychart(): VizConfigBuilder<Options$i, {}>;
|
2586
|
-
};
|
2587
|
-
|
2588
2490
|
declare const sceneUtils: {
|
2589
2491
|
getUrlWithAppState: typeof getUrlWithAppState;
|
2590
2492
|
registerRuntimePanelPlugin: typeof registerRuntimePanelPlugin;
|
@@ -2604,4 +2506,4 @@ declare const sceneUtils: {
|
|
2604
2506
|
isGroupByVariable: typeof isGroupByVariable;
|
2605
2507
|
};
|
2606
2508
|
|
2607
|
-
export { AdHocFiltersVariable, CancelActivationHandler, ConstantVariable, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariable, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DataSourceVariable, DeepPartial, EmbeddedScene, EmbeddedSceneState,
|
2509
|
+
export { AdHocFiltersVariable, CancelActivationHandler, ConstantVariable, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariable, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DataSourceVariable, DeepPartial, EmbeddedScene, EmbeddedSceneState, FieldConfigBuilders, FieldConfigOverridesBuilder, FormatVariable, GroupByVariable, InterpolationFormatParameter, IntervalVariable, LocalValueVariable, MacroVariableConstructor, MultiValueVariable, NestedScene, PanelBuilders, PanelOptionsBuilders, QueryRunnerState, QueryVariable, RuntimeDataSource, SceneActivationHandler, SceneApp, SceneAppDrilldownView, SceneAppPage, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneComponent, SceneComponentProps, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataProvider, SceneDataProviderResult, SceneDataState, SceneDataTransformer, SceneDeactivationHandler, SceneDebugger, SceneFlexItem, SceneFlexItemLike, SceneFlexItemState, SceneFlexLayout, SceneGridItem, SceneGridItemLike, SceneGridItemStateLike, SceneGridLayout, SceneGridRow, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectBase, SceneObjectRef, SceneObjectState, SceneObjectStateChangedEvent, SceneObjectStateChangedPayload, SceneObjectUrlSyncConfig, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeLike, SceneTimeRangeState, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSet, SceneVariableSetState, SceneVariableState, SceneVariableValueChangedEvent, SceneVariables, SplitLayout, TestVariable, TextBoxVariable, UrlSyncManager, UrlSyncManagerLike, UseStateHookOptions, UserActionEvent, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableDependencyConfig, VariableValue, VariableValueControl, VariableValueOption, VariableValueSelectors, VariableValueSingle, VizPanel, VizPanelBuilder, VizPanelMenu, VizPanelState, index$1 as behaviors, index as dataLayers, formatRegistry, getUrlSyncManager, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isSceneObject, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState };
|