@grafana/scenes 5.29.1--canary.990.12238644149.0 → 5.30.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +12 -0
- package/dist/esm/components/SceneApp/SceneApp.js +3 -9
- package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPage.js +0 -16
- package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanelRenderer.js +1 -0
- package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
- package/dist/esm/core/sceneGraph/index.js +2 -3
- package/dist/esm/core/sceneGraph/index.js.map +1 -1
- package/dist/esm/core/sceneGraph/sceneGraph.js +1 -6
- package/dist/esm/core/sceneGraph/sceneGraph.js.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +8 -33
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +4 -10
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/esm/variables/groupby/GroupByVariable.js +2 -4
- package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
- package/dist/index.d.ts +20 -56
- package/dist/index.js +19 -180
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/core/SceneScopesBridge.js +0 -111
- package/dist/esm/core/SceneScopesBridge.js.map +0 -1
package/dist/index.d.ts
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
import * as _grafana_data from '@grafana/data';
|
2
|
-
import { BusEventWithPayload, PanelData, BusEvent, BusEventType, BusEventHandler, TimeRange, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, DataTransformContext, DataFrame, UrlQueryMap, PanelPlugin, EventBus, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, SelectableValue, MetricFindValue, GetTagResponse, VariableRefresh as VariableRefresh$1, VariableSort,
|
2
|
+
import { BusEventWithPayload, PanelData, BusEvent, BusEventType, BusEventHandler, TimeRange, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, DataTransformContext, DataFrame, UrlQueryMap, PanelPlugin, EventBus, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, SelectableValue, MetricFindValue, GetTagResponse, VariableRefresh as VariableRefresh$1, VariableSort, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, PanelMenuItem, FieldConfigSource, PanelModel, AbsoluteTimeRange, InterpolateFunction, IconName as IconName$1, PageLayoutType, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } 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
8
|
import { VariableType, VariableHide, TimeZone, DataTopic, DataQuery, DataSourceRef, VariableRefresh, LoadingState, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
|
9
|
-
import { LocationService,
|
9
|
+
import { LocationService, VariableInterpolation } from '@grafana/runtime';
|
10
10
|
import { Location } from 'history';
|
11
11
|
import { PanelContext, IconName } from '@grafana/ui';
|
12
12
|
import ReactGridLayout from 'react-grid-layout';
|
@@ -629,10 +629,8 @@ declare class AdHocFiltersVariable extends SceneObjectBase<AdHocFiltersVariableS
|
|
629
629
|
static Component: typeof AdHocFiltersVariableRenderer;
|
630
630
|
private _scopedVars;
|
631
631
|
private _dataSourceSrv;
|
632
|
-
private _scopesBridge;
|
633
632
|
protected _urlSync: AdHocFiltersVariableUrlSyncHandler;
|
634
633
|
constructor(state: Partial<AdHocFiltersVariableState>);
|
635
|
-
private _activationHandler;
|
636
634
|
setState(update: Partial<AdHocFiltersVariableState>): void;
|
637
635
|
getValue(): VariableValue | undefined;
|
638
636
|
_updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
|
@@ -919,7 +917,6 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
|
|
919
917
|
static Component: typeof GroupByVariableRenderer;
|
920
918
|
isLazy: boolean;
|
921
919
|
protected _urlSync: SceneObjectUrlSyncHandler;
|
922
|
-
private _scopesBridge;
|
923
920
|
validateAndUpdate(): Observable<ValidateAndUpdateResult>;
|
924
921
|
private _updateValueGivenNewOptions;
|
925
922
|
getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]>;
|
@@ -936,7 +933,7 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
|
|
936
933
|
text: string[];
|
937
934
|
};
|
938
935
|
}
|
939
|
-
declare function GroupByVariableRenderer({ model }: SceneComponentProps<
|
936
|
+
declare function GroupByVariableRenderer({ model }: SceneComponentProps<MultiValueVariable>): React__default.JSX.Element;
|
940
937
|
|
941
938
|
declare function isAdHocVariable(variable: SceneVariable): variable is AdHocFiltersVariable;
|
942
939
|
declare function isConstantVariable(variable: SceneVariable): variable is ConstantVariable;
|
@@ -1037,41 +1034,6 @@ declare class UrlSyncManager implements UrlSyncManagerLike {
|
|
1037
1034
|
getUrlState(root: SceneObject): SceneObjectUrlValues;
|
1038
1035
|
}
|
1039
1036
|
|
1040
|
-
interface SceneObjectUrlSyncConfigOptions {
|
1041
|
-
keys: string[] | (() => string[]);
|
1042
|
-
}
|
1043
|
-
declare class SceneObjectUrlSyncConfig implements SceneObjectUrlSyncHandler {
|
1044
|
-
private _sceneObject;
|
1045
|
-
private _keys;
|
1046
|
-
private _nextChangeShouldAddHistoryStep;
|
1047
|
-
constructor(_sceneObject: SceneObjectWithUrlSync, _options: SceneObjectUrlSyncConfigOptions);
|
1048
|
-
getKeys(): string[];
|
1049
|
-
getUrlState(): SceneObjectUrlValues;
|
1050
|
-
updateFromUrl(values: SceneObjectUrlValues): void;
|
1051
|
-
performBrowserHistoryAction(callback: () => void): void;
|
1052
|
-
shouldCreateHistoryStep(values: SceneObjectUrlValues): boolean;
|
1053
|
-
}
|
1054
|
-
|
1055
|
-
declare class SceneScopesBridge extends SceneObjectBase implements SceneObjectWithUrlSync {
|
1056
|
-
static Component: typeof SceneScopesBridgeRenderer;
|
1057
|
-
protected _urlSync: SceneObjectUrlSyncConfig;
|
1058
|
-
protected _renderBeforeActivation: boolean;
|
1059
|
-
private _contextSubject;
|
1060
|
-
private _pendingScopes;
|
1061
|
-
getUrlState(): SceneObjectUrlValues;
|
1062
|
-
updateFromUrl(values: SceneObjectUrlValues): void;
|
1063
|
-
getValue(): Scope[];
|
1064
|
-
subscribeToValue(cb: (newScopes: Scope[], prevScopes: Scope[]) => void): Unsubscribable;
|
1065
|
-
isLoading(): boolean;
|
1066
|
-
subscribeToLoading(cb: (loading: boolean) => void): Unsubscribable;
|
1067
|
-
setEnabled(enabled: boolean): void;
|
1068
|
-
setReadOnly(readOnly: boolean): void;
|
1069
|
-
updateContext(newContext: ScopesContextValue | undefined): void;
|
1070
|
-
private get context();
|
1071
|
-
private get contextObservable();
|
1072
|
-
}
|
1073
|
-
declare function SceneScopesBridgeRenderer({ model }: SceneComponentProps<SceneScopesBridge>): null;
|
1074
|
-
|
1075
1037
|
/**
|
1076
1038
|
* Get the closest node with variables
|
1077
1039
|
*/
|
@@ -1150,10 +1112,6 @@ declare function getQueryController(sceneObject: SceneObject): SceneQueryControl
|
|
1150
1112
|
* name urlSyncManager that is of type UrlSyncManager
|
1151
1113
|
*/
|
1152
1114
|
declare function getUrlSyncManager(sceneObject: SceneObject): UrlSyncManagerLike | undefined;
|
1153
|
-
/**
|
1154
|
-
* Will walk up the scene object graph to the closest $scopesBridge scene object
|
1155
|
-
*/
|
1156
|
-
declare function getScopesBridge(sceneObject: SceneObject): SceneScopesBridge | undefined;
|
1157
1115
|
|
1158
1116
|
declare const sceneGraph: {
|
1159
1117
|
getVariables: typeof getVariables;
|
@@ -1172,7 +1130,6 @@ declare const sceneGraph: {
|
|
1172
1130
|
findDescendents: typeof findDescendents;
|
1173
1131
|
getQueryController: typeof getQueryController;
|
1174
1132
|
getUrlSyncManager: typeof getUrlSyncManager;
|
1175
|
-
getScopesBridge: typeof getScopesBridge;
|
1176
1133
|
};
|
1177
1134
|
|
1178
1135
|
interface ActWhenVariableChangedState extends SceneObjectState {
|
@@ -1337,6 +1294,21 @@ declare class SceneDataNode extends SceneObjectBase<SceneDataNodeState> implemen
|
|
1337
1294
|
getResultsStream(): rxjs.Observable<SceneDataProviderResult>;
|
1338
1295
|
}
|
1339
1296
|
|
1297
|
+
interface SceneObjectUrlSyncConfigOptions {
|
1298
|
+
keys: string[] | (() => string[]);
|
1299
|
+
}
|
1300
|
+
declare class SceneObjectUrlSyncConfig implements SceneObjectUrlSyncHandler {
|
1301
|
+
private _sceneObject;
|
1302
|
+
private _keys;
|
1303
|
+
private _nextChangeShouldAddHistoryStep;
|
1304
|
+
constructor(_sceneObject: SceneObjectWithUrlSync, _options: SceneObjectUrlSyncConfigOptions);
|
1305
|
+
getKeys(): string[];
|
1306
|
+
getUrlState(): SceneObjectUrlValues;
|
1307
|
+
updateFromUrl(values: SceneObjectUrlValues): void;
|
1308
|
+
performBrowserHistoryAction(callback: () => void): void;
|
1309
|
+
shouldCreateHistoryStep(values: SceneObjectUrlValues): boolean;
|
1310
|
+
}
|
1311
|
+
|
1340
1312
|
declare class SceneTimeRange extends SceneObjectBase<SceneTimeRangeState> implements SceneTimeRangeLike {
|
1341
1313
|
protected _urlSync: SceneObjectUrlSyncConfig;
|
1342
1314
|
constructor(state?: Partial<SceneTimeRangeState>);
|
@@ -1411,8 +1383,6 @@ declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> impleme
|
|
1411
1383
|
private _dataLayersMerger;
|
1412
1384
|
private _timeSub?;
|
1413
1385
|
private _timeSubRange?;
|
1414
|
-
private _scopesSub?;
|
1415
|
-
private _scopesSubBridge?;
|
1416
1386
|
private _containerWidth?;
|
1417
1387
|
private _variableValueRecorder;
|
1418
1388
|
private _results;
|
@@ -1451,12 +1421,11 @@ declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> impleme
|
|
1451
1421
|
private _onDeactivate;
|
1452
1422
|
setContainerWidth(width: number): void;
|
1453
1423
|
isDataReadyToDisplay(): boolean;
|
1454
|
-
private subscribeToScopesChanges;
|
1455
1424
|
private subscribeToTimeRangeChanges;
|
1456
1425
|
runQueries(): void;
|
1457
1426
|
private getMaxDataPoints;
|
1458
1427
|
cancelQuery(): void;
|
1459
|
-
private
|
1428
|
+
private runWithTimeRange;
|
1460
1429
|
clone(withState?: Partial<QueryRunnerState>): this;
|
1461
1430
|
private prepareRequests;
|
1462
1431
|
private onDataReceived;
|
@@ -2298,7 +2267,6 @@ interface SceneAppState extends SceneObjectState {
|
|
2298
2267
|
pages: SceneAppPageLike[];
|
2299
2268
|
name?: string;
|
2300
2269
|
urlSyncOptions?: SceneUrlSyncOptions;
|
2301
|
-
scopesBridge?: SceneScopesBridge;
|
2302
2270
|
}
|
2303
2271
|
interface SceneAppRoute {
|
2304
2272
|
path: string;
|
@@ -2343,7 +2311,6 @@ interface SceneAppPageState extends SceneObjectState {
|
|
2343
2311
|
*/
|
2344
2312
|
getFallbackPage?: () => SceneAppPageLike;
|
2345
2313
|
layout?: PageLayoutType;
|
2346
|
-
useScopes?: boolean;
|
2347
2314
|
}
|
2348
2315
|
interface SceneAppPageLike extends SceneObject<SceneAppPageState>, DataRequestEnricher {
|
2349
2316
|
initializeScene(scene: SceneObject): void;
|
@@ -2368,7 +2335,6 @@ interface SceneAppDrilldownView {
|
|
2368
2335
|
* Responsible for top level pages routing
|
2369
2336
|
*/
|
2370
2337
|
declare class SceneApp extends SceneObjectBase<SceneAppState> implements DataRequestEnricher {
|
2371
|
-
protected _renderBeforeActivation: boolean;
|
2372
2338
|
enrichDataRequest(): {
|
2373
2339
|
app: string;
|
2374
2340
|
};
|
@@ -2386,9 +2352,7 @@ declare class SceneAppPage extends SceneObjectBase<SceneAppPageState> implements
|
|
2386
2352
|
static Component: typeof SceneAppPageRenderer;
|
2387
2353
|
private _sceneCache;
|
2388
2354
|
private _drilldownCache;
|
2389
|
-
private _scopesBridge;
|
2390
2355
|
constructor(state: SceneAppPageState);
|
2391
|
-
private _activationHandler;
|
2392
2356
|
initializeScene(scene: EmbeddedScene): void;
|
2393
2357
|
getScene(routeMatch: SceneRouteMatch): EmbeddedScene;
|
2394
2358
|
getDrilldownPage(drilldown: SceneAppDrilldownView, routeMatch: SceneRouteMatch<{}>): SceneAppPageLike;
|
@@ -2889,4 +2853,4 @@ declare const sceneUtils: {
|
|
2889
2853
|
isGroupByVariable: typeof isGroupByVariable;
|
2890
2854
|
};
|
2891
2855
|
|
2892
|
-
export { AdHocFiltersVariable, CancelActivationHandler, ConstantVariable, ControlsLabel, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariable, CustomVariableValue, DataLayerFilter, DataProviderProxy, DataRequestEnricher, DataSourceVariable, DeepPartial, EmbeddedScene, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, FiltersRequestEnricher, FormatVariable, GroupByVariable, InterpolationFormatParameter, IntervalVariable, LocalValueVariable, MacroVariableConstructor, MultiValueVariable, MultiValueVariableState, NestedScene, NewSceneObjectAddedEvent, PanelBuilders, PanelOptionsBuilders, QueryRunnerState, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneActivationHandler, SceneApp, SceneAppDrilldownView, SceneAppPage, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneComponent, SceneComponentProps, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformer, SceneDataTransformerState, 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, SceneRefreshPickerState, SceneRouteMatch,
|
2856
|
+
export { AdHocFiltersVariable, CancelActivationHandler, ConstantVariable, ControlsLabel, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariable, CustomVariableValue, DataLayerFilter, DataProviderProxy, DataRequestEnricher, DataSourceVariable, DeepPartial, EmbeddedScene, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, FiltersRequestEnricher, FormatVariable, GroupByVariable, InterpolationFormatParameter, IntervalVariable, LocalValueVariable, MacroVariableConstructor, MultiValueVariable, MultiValueVariableState, NestedScene, NewSceneObjectAddedEvent, PanelBuilders, PanelOptionsBuilders, QueryRunnerState, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneActivationHandler, SceneApp, SceneAppDrilldownView, SceneAppPage, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneComponent, SceneComponentProps, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformer, SceneDataTransformerState, 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, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeLike, SceneTimeRangeState, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSet, SceneVariableSetState, SceneVariableState, SceneVariableValueChangedEvent, SceneVariables, SplitLayout, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UrlSyncManagerLike, UseStateHookOptions, UserActionEvent, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableDependencyConfig, VariableGetOptionsArgs, VariableValue, VariableValueControl, VariableValueOption, VariableValueSelectWrapper, VariableValueSelectors, VariableValueSingle, VizConfig, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, VizPanelState, index$1 as behaviors, index as dataLayers, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, registerQueryWithController, registerRuntimeDataSource, renderSelectForVariable, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync };
|
package/dist/index.js
CHANGED
@@ -2904,7 +2904,7 @@ class GroupByVariable extends MultiValueVariable {
|
|
2904
2904
|
this.isLazy = true;
|
2905
2905
|
this._urlSync = new GroupByVariableUrlSyncHandler(this);
|
2906
2906
|
this._getKeys = async (ds) => {
|
2907
|
-
var _a, _b, _c
|
2907
|
+
var _a, _b, _c;
|
2908
2908
|
const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, null));
|
2909
2909
|
if (override && override.replace) {
|
2910
2910
|
return override.values;
|
@@ -2921,8 +2921,7 @@ class GroupByVariable extends MultiValueVariable {
|
|
2921
2921
|
const response = await ds.getTagKeys(__spreadValues$F({
|
2922
2922
|
filters: otherFilters,
|
2923
2923
|
queries,
|
2924
|
-
timeRange
|
2925
|
-
scopes: (_d = this._scopesBridge) == null ? void 0 : _d.getValue()
|
2924
|
+
timeRange
|
2926
2925
|
}, getEnrichedFiltersRequest(this)));
|
2927
2926
|
if (responseHasError(response)) {
|
2928
2927
|
this.setState({ error: response.error.message });
|
@@ -2938,7 +2937,6 @@ class GroupByVariable extends MultiValueVariable {
|
|
2938
2937
|
return keys;
|
2939
2938
|
};
|
2940
2939
|
this.addActivationHandler(() => {
|
2941
|
-
this._scopesBridge = sceneGraph.getScopesBridge(this);
|
2942
2940
|
allActiveGroupByVariables.add(this);
|
2943
2941
|
return () => allActiveGroupByVariables.delete(this);
|
2944
2942
|
});
|
@@ -4988,13 +4986,9 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
4988
4986
|
this._scopedVars = { __sceneObject: wrapInSafeSerializableSceneObject(this) };
|
4989
4987
|
this._dataSourceSrv = runtime.getDataSourceSrv();
|
4990
4988
|
this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);
|
4991
|
-
this._activationHandler = () => {
|
4992
|
-
this._scopesBridge = sceneGraph.getScopesBridge(this);
|
4993
|
-
};
|
4994
4989
|
if (this.state.applyMode === "auto") {
|
4995
4990
|
patchGetAdhocFilters(this);
|
4996
4991
|
}
|
4997
|
-
this.addActivationHandler(this._activationHandler);
|
4998
4992
|
}
|
4999
4993
|
setState(update) {
|
5000
4994
|
let filterExpressionChanged = false;
|
@@ -5063,7 +5057,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
5063
5057
|
}
|
5064
5058
|
}
|
5065
5059
|
async _getKeys(currentKey) {
|
5066
|
-
var _a, _b, _c
|
5060
|
+
var _a, _b, _c;
|
5067
5061
|
const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));
|
5068
5062
|
if (override && override.replace) {
|
5069
5063
|
return dataFromResponse(override.values).map(toSelectableValue);
|
@@ -5081,8 +5075,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
5081
5075
|
const response = await ds.getTagKeys(__spreadValues$z({
|
5082
5076
|
filters: otherFilters,
|
5083
5077
|
queries,
|
5084
|
-
timeRange
|
5085
|
-
scopes: (_d = this._scopesBridge) == null ? void 0 : _d.getValue()
|
5078
|
+
timeRange
|
5086
5079
|
}, getEnrichedFiltersRequest(this)));
|
5087
5080
|
if (responseHasError(response)) {
|
5088
5081
|
this.setState({ error: response.error.message });
|
@@ -5098,7 +5091,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
5098
5091
|
return keys.map(toSelectableValue);
|
5099
5092
|
}
|
5100
5093
|
async _getValuesFor(filter) {
|
5101
|
-
var _a, _b, _c
|
5094
|
+
var _a, _b, _c;
|
5102
5095
|
const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));
|
5103
5096
|
if (override && override.replace) {
|
5104
5097
|
return dataFromResponse(override.values).map(toSelectableValue);
|
@@ -5114,8 +5107,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
5114
5107
|
key: filter.key,
|
5115
5108
|
filters: otherFilters,
|
5116
5109
|
timeRange,
|
5117
|
-
queries
|
5118
|
-
scopes: (_d = this._scopesBridge) == null ? void 0 : _d.getValue()
|
5110
|
+
queries
|
5119
5111
|
}, getEnrichedFiltersRequest(this)));
|
5120
5112
|
if (responseHasError(response)) {
|
5121
5113
|
this.setState({ error: response.error.message });
|
@@ -5292,7 +5284,6 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5292
5284
|
_onActivate() {
|
5293
5285
|
if (this.isQueryModeAuto()) {
|
5294
5286
|
const timeRange = sceneGraph.getTimeRange(this);
|
5295
|
-
const scopesBridge = sceneGraph.getScopesBridge(this);
|
5296
5287
|
const providers = this.getClosestExtraQueryProviders();
|
5297
5288
|
for (const provider of providers) {
|
5298
5289
|
this._subs.add(
|
@@ -5303,7 +5294,6 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5303
5294
|
})
|
5304
5295
|
);
|
5305
5296
|
}
|
5306
|
-
this.subscribeToScopesChanges(scopesBridge);
|
5307
5297
|
this.subscribeToTimeRangeChanges(timeRange);
|
5308
5298
|
if (this.shouldRunQueriesOnActivate()) {
|
5309
5299
|
this.runQueries();
|
@@ -5449,21 +5439,6 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5449
5439
|
isDataReadyToDisplay() {
|
5450
5440
|
return Boolean(this.state._hasFetchedData);
|
5451
5441
|
}
|
5452
|
-
subscribeToScopesChanges(scopesBridge) {
|
5453
|
-
if (!scopesBridge) {
|
5454
|
-
return;
|
5455
|
-
}
|
5456
|
-
if (this._scopesSubBridge === scopesBridge) {
|
5457
|
-
return;
|
5458
|
-
}
|
5459
|
-
if (this._scopesSub) {
|
5460
|
-
this._scopesSub.unsubscribe();
|
5461
|
-
}
|
5462
|
-
this._scopesSubBridge = scopesBridge;
|
5463
|
-
this._scopesSub = scopesBridge.subscribeToValue(() => {
|
5464
|
-
this.runWithTimeRangeAndScopes(sceneGraph.getTimeRange(this), scopesBridge);
|
5465
|
-
});
|
5466
|
-
}
|
5467
5442
|
subscribeToTimeRangeChanges(timeRange) {
|
5468
5443
|
if (this._timeSubRange === timeRange) {
|
5469
5444
|
return;
|
@@ -5473,17 +5448,15 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5473
5448
|
}
|
5474
5449
|
this._timeSubRange = timeRange;
|
5475
5450
|
this._timeSub = timeRange.subscribeToState(() => {
|
5476
|
-
this.
|
5451
|
+
this.runWithTimeRange(timeRange);
|
5477
5452
|
});
|
5478
5453
|
}
|
5479
5454
|
runQueries() {
|
5480
5455
|
const timeRange = sceneGraph.getTimeRange(this);
|
5481
|
-
const scopesBridge = sceneGraph.getScopesBridge(this);
|
5482
5456
|
if (this.isQueryModeAuto()) {
|
5483
5457
|
this.subscribeToTimeRangeChanges(timeRange);
|
5484
|
-
this.subscribeToScopesChanges(scopesBridge);
|
5485
5458
|
}
|
5486
|
-
this.
|
5459
|
+
this.runWithTimeRange(timeRange);
|
5487
5460
|
}
|
5488
5461
|
getMaxDataPoints() {
|
5489
5462
|
var _a;
|
@@ -5503,8 +5476,8 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5503
5476
|
data: __spreadProps$m(__spreadValues$y({}, this.state.data), { state: schema.LoadingState.Done })
|
5504
5477
|
});
|
5505
5478
|
}
|
5506
|
-
async
|
5507
|
-
var _a, _b, _c
|
5479
|
+
async runWithTimeRange(timeRange) {
|
5480
|
+
var _a, _b, _c;
|
5508
5481
|
if (!this.state.maxDataPoints && this.state.maxDataPointsFromWidth && !this._containerWidth) {
|
5509
5482
|
return;
|
5510
5483
|
}
|
@@ -5517,22 +5490,17 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5517
5490
|
this.setState({ data: __spreadProps$m(__spreadValues$y({}, (_b = this.state.data) != null ? _b : emptyPanelData), { state: schema.LoadingState.Loading }) });
|
5518
5491
|
return;
|
5519
5492
|
}
|
5520
|
-
if (scopesBridge == null ? void 0 : scopesBridge.isLoading()) {
|
5521
|
-
writeSceneLog("SceneQueryRunner", "Scopes are in loading state, skipping query execution");
|
5522
|
-
this.setState({ data: __spreadProps$m(__spreadValues$y({}, (_c = this.state.data) != null ? _c : emptyPanelData), { state: schema.LoadingState.Loading }) });
|
5523
|
-
return;
|
5524
|
-
}
|
5525
5493
|
const { queries } = this.state;
|
5526
5494
|
if (!(queries == null ? void 0 : queries.length)) {
|
5527
5495
|
this._setNoDataState();
|
5528
5496
|
return;
|
5529
5497
|
}
|
5530
5498
|
try {
|
5531
|
-
const datasource = (
|
5499
|
+
const datasource = (_c = this.state.datasource) != null ? _c : findFirstDatasource(queries);
|
5532
5500
|
const ds = await getDataSource(datasource, this._scopedVars);
|
5533
5501
|
this.findAndSubscribeToAdHocFilters(datasource == null ? void 0 : datasource.uid);
|
5534
5502
|
const runRequest = runtime.getRunRequest();
|
5535
|
-
const { primary, secondaries, processors } = this.prepareRequests(timeRange, ds
|
5503
|
+
const { primary, secondaries, processors } = this.prepareRequests(timeRange, ds);
|
5536
5504
|
writeSceneLog("SceneQueryRunner", "Starting runRequest", this.state.key);
|
5537
5505
|
let stream = runRequest(ds, primary);
|
5538
5506
|
if (secondaries.length > 0) {
|
@@ -5571,7 +5539,7 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5571
5539
|
clone["_results"].next({ origin: this, data: (_a = this.state.data) != null ? _a : emptyPanelData });
|
5572
5540
|
return clone;
|
5573
5541
|
}
|
5574
|
-
prepareRequests(timeRange, ds
|
5542
|
+
prepareRequests(timeRange, ds) {
|
5575
5543
|
var _a;
|
5576
5544
|
const { minInterval, queries } = this.state;
|
5577
5545
|
let request = __spreadValues$y({
|
@@ -5591,8 +5559,7 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5591
5559
|
to: timeRange.state.to
|
5592
5560
|
},
|
5593
5561
|
cacheTimeout: this.state.cacheTimeout,
|
5594
|
-
queryCachingTTL: this.state.queryCachingTTL
|
5595
|
-
scopes: scopesBridge == null ? void 0 : scopesBridge.getValue()
|
5562
|
+
queryCachingTTL: this.state.queryCachingTTL
|
5596
5563
|
}, getEnrichedDataRequest(this));
|
5597
5564
|
if (this._adhocFiltersVar) {
|
5598
5565
|
request.filters = this._adhocFiltersVar.state.filters.filter(isFilterComplete);
|
@@ -6519,108 +6486,6 @@ function containsSearchFilter(query) {
|
|
6519
6486
|
return str.indexOf(SEARCH_FILTER_VARIABLE) > -1;
|
6520
6487
|
}
|
6521
6488
|
|
6522
|
-
class SceneScopesBridge extends SceneObjectBase {
|
6523
|
-
constructor() {
|
6524
|
-
super(...arguments);
|
6525
|
-
this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: ["scopes"] });
|
6526
|
-
this._renderBeforeActivation = true;
|
6527
|
-
this._contextSubject = new rxjs.BehaviorSubject(void 0);
|
6528
|
-
this._pendingScopes = null;
|
6529
|
-
}
|
6530
|
-
getUrlState() {
|
6531
|
-
var _a, _b, _c;
|
6532
|
-
return {
|
6533
|
-
scopes: (_c = this._pendingScopes) != null ? _c : ((_b = (_a = this.context) == null ? void 0 : _a.state.value) != null ? _b : []).map((scope) => scope.metadata.name)
|
6534
|
-
};
|
6535
|
-
}
|
6536
|
-
updateFromUrl(values) {
|
6537
|
-
var _a, _b;
|
6538
|
-
let scopes = (_a = values["scopes"]) != null ? _a : [];
|
6539
|
-
scopes = (Array.isArray(scopes) ? scopes : [scopes]).map(String);
|
6540
|
-
if (!this.context) {
|
6541
|
-
this._pendingScopes = scopes;
|
6542
|
-
return;
|
6543
|
-
}
|
6544
|
-
(_b = this.context) == null ? void 0 : _b.changeScopes(scopes);
|
6545
|
-
}
|
6546
|
-
getValue() {
|
6547
|
-
var _a, _b;
|
6548
|
-
return (_b = (_a = this.context) == null ? void 0 : _a.state.value) != null ? _b : [];
|
6549
|
-
}
|
6550
|
-
subscribeToValue(cb) {
|
6551
|
-
return this.contextObservable.pipe(
|
6552
|
-
rxjs.filter((context) => !!context && !context.state.loading),
|
6553
|
-
rxjs.pairwise(),
|
6554
|
-
rxjs.map(
|
6555
|
-
([prevContext, newContext]) => {
|
6556
|
-
var _a, _b;
|
6557
|
-
return [(_a = prevContext == null ? void 0 : prevContext.state.value) != null ? _a : [], (_b = newContext == null ? void 0 : newContext.state.value) != null ? _b : []];
|
6558
|
-
}
|
6559
|
-
),
|
6560
|
-
rxjs.filter(([prevScopes, newScopes]) => !lodash.isEqual(prevScopes, newScopes))
|
6561
|
-
).subscribe(([prevScopes, newScopes]) => {
|
6562
|
-
cb(newScopes, prevScopes);
|
6563
|
-
});
|
6564
|
-
}
|
6565
|
-
isLoading() {
|
6566
|
-
var _a, _b;
|
6567
|
-
return (_b = (_a = this.context) == null ? void 0 : _a.state.loading) != null ? _b : false;
|
6568
|
-
}
|
6569
|
-
subscribeToLoading(cb) {
|
6570
|
-
return this.contextObservable.pipe(
|
6571
|
-
rxjs.filter((context) => !!context),
|
6572
|
-
rxjs.pairwise(),
|
6573
|
-
rxjs.map(
|
6574
|
-
([prevContext, newContext]) => {
|
6575
|
-
var _a, _b;
|
6576
|
-
return [(_a = prevContext == null ? void 0 : prevContext.state.loading) != null ? _a : false, (_b = newContext == null ? void 0 : newContext.state.loading) != null ? _b : false];
|
6577
|
-
}
|
6578
|
-
),
|
6579
|
-
rxjs.filter(([prevLoading, newLoading]) => prevLoading !== newLoading)
|
6580
|
-
).subscribe(([_prevLoading, newLoading]) => {
|
6581
|
-
cb(newLoading);
|
6582
|
-
});
|
6583
|
-
}
|
6584
|
-
setEnabled(enabled) {
|
6585
|
-
var _a;
|
6586
|
-
(_a = this.context) == null ? void 0 : _a.setEnabled(enabled);
|
6587
|
-
}
|
6588
|
-
setReadOnly(readOnly) {
|
6589
|
-
var _a;
|
6590
|
-
(_a = this.context) == null ? void 0 : _a.setReadOnly(readOnly);
|
6591
|
-
}
|
6592
|
-
updateContext(newContext) {
|
6593
|
-
var _a, _b;
|
6594
|
-
if (this._pendingScopes && newContext) {
|
6595
|
-
setTimeout(() => {
|
6596
|
-
newContext == null ? void 0 : newContext.changeScopes(this._pendingScopes);
|
6597
|
-
this._pendingScopes = null;
|
6598
|
-
});
|
6599
|
-
}
|
6600
|
-
if (this.context !== newContext || ((_a = this.context) == null ? void 0 : _a.state) !== (newContext == null ? void 0 : newContext.state)) {
|
6601
|
-
const shouldUpdate = ((_b = this.context) == null ? void 0 : _b.state.value) !== (newContext == null ? void 0 : newContext.state.value);
|
6602
|
-
this._contextSubject.next(newContext);
|
6603
|
-
if (shouldUpdate) {
|
6604
|
-
this.forceRender();
|
6605
|
-
}
|
6606
|
-
}
|
6607
|
-
}
|
6608
|
-
get context() {
|
6609
|
-
return this._contextSubject.getValue();
|
6610
|
-
}
|
6611
|
-
get contextObservable() {
|
6612
|
-
return this._contextSubject.asObservable();
|
6613
|
-
}
|
6614
|
-
}
|
6615
|
-
SceneScopesBridge.Component = SceneScopesBridgeRenderer;
|
6616
|
-
function SceneScopesBridgeRenderer({ model }) {
|
6617
|
-
const context = runtime.useScopes();
|
6618
|
-
React.useEffect(() => {
|
6619
|
-
model.updateContext(context);
|
6620
|
-
}, [context, model]);
|
6621
|
-
return null;
|
6622
|
-
}
|
6623
|
-
|
6624
6489
|
function getVariables(sceneObject) {
|
6625
6490
|
var _a;
|
6626
6491
|
return (_a = getClosest(sceneObject, (s) => s.state.$variables)) != null ? _a : EmptyVariableSet;
|
@@ -6788,10 +6653,6 @@ function getUrlSyncManager(sceneObject) {
|
|
6788
6653
|
}
|
6789
6654
|
return void 0;
|
6790
6655
|
}
|
6791
|
-
function getScopesBridge(sceneObject) {
|
6792
|
-
var _a;
|
6793
|
-
return (_a = findObject(sceneObject, (s) => s instanceof SceneScopesBridge)) != null ? _a : void 0;
|
6794
|
-
}
|
6795
6656
|
|
6796
6657
|
const sceneGraph = {
|
6797
6658
|
getVariables,
|
@@ -6809,8 +6670,7 @@ const sceneGraph = {
|
|
6809
6670
|
getAncestor,
|
6810
6671
|
findDescendents,
|
6811
6672
|
getQueryController,
|
6812
|
-
getUrlSyncManager
|
6813
|
-
getScopesBridge
|
6673
|
+
getUrlSyncManager
|
6814
6674
|
};
|
6815
6675
|
|
6816
6676
|
class UniqueUrlKeyMapper {
|
@@ -7246,6 +7106,7 @@ function VizPanelRenderer({ model }) {
|
|
7246
7106
|
statusMessageOnClick: model.onStatusMessageClick,
|
7247
7107
|
width,
|
7248
7108
|
height,
|
7109
|
+
selectionId: model.state.key,
|
7249
7110
|
displayMode,
|
7250
7111
|
showMenuAlways,
|
7251
7112
|
hoverHeader,
|
@@ -12495,10 +12356,6 @@ class SplitLayout extends SceneObjectBase {
|
|
12495
12356
|
SplitLayout.Component = SplitLayoutRenderer;
|
12496
12357
|
|
12497
12358
|
class SceneApp extends SceneObjectBase {
|
12498
|
-
constructor() {
|
12499
|
-
super(...arguments);
|
12500
|
-
this._renderBeforeActivation = true;
|
12501
|
-
}
|
12502
12359
|
enrichDataRequest() {
|
12503
12360
|
return {
|
12504
12361
|
app: this.state.name || "app"
|
@@ -12506,17 +12363,15 @@ class SceneApp extends SceneObjectBase {
|
|
12506
12363
|
}
|
12507
12364
|
}
|
12508
12365
|
SceneApp.Component = ({ model }) => {
|
12509
|
-
const { pages
|
12510
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
12511
|
-
model: scopesBridge
|
12512
|
-
}), /* @__PURE__ */ React__default["default"].createElement(SceneAppContext.Provider, {
|
12366
|
+
const { pages } = model.useState();
|
12367
|
+
return /* @__PURE__ */ React__default["default"].createElement(SceneAppContext.Provider, {
|
12513
12368
|
value: model
|
12514
12369
|
}, /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12515
12370
|
key: page.state.url,
|
12516
12371
|
exact: false,
|
12517
12372
|
path: page.state.url,
|
12518
12373
|
render: (props) => renderSceneComponentWithRouteProps(page, props)
|
12519
|
-
}))))
|
12374
|
+
}))));
|
12520
12375
|
};
|
12521
12376
|
const SceneAppContext = React.createContext(null);
|
12522
12377
|
const sceneAppCache = /* @__PURE__ */ new Map();
|
@@ -12866,21 +12721,6 @@ class SceneAppPage extends SceneObjectBase {
|
|
12866
12721
|
super(state);
|
12867
12722
|
this._sceneCache = /* @__PURE__ */ new Map();
|
12868
12723
|
this._drilldownCache = /* @__PURE__ */ new Map();
|
12869
|
-
this._activationHandler = () => {
|
12870
|
-
if (!this.state.useScopes) {
|
12871
|
-
return;
|
12872
|
-
}
|
12873
|
-
this._scopesBridge = sceneGraph.getScopesBridge(this);
|
12874
|
-
if (!this._scopesBridge) {
|
12875
|
-
throw new Error("Use of scopes is enabled but no scopes bridge found");
|
12876
|
-
}
|
12877
|
-
this._scopesBridge.setEnabled(true);
|
12878
|
-
return () => {
|
12879
|
-
var _a;
|
12880
|
-
(_a = this._scopesBridge) == null ? void 0 : _a.setEnabled(false);
|
12881
|
-
};
|
12882
|
-
};
|
12883
|
-
this.addActivationHandler(this._activationHandler);
|
12884
12724
|
}
|
12885
12725
|
initializeScene(scene) {
|
12886
12726
|
this.setState({ initializedScene: scene });
|
@@ -13890,7 +13730,6 @@ exports.SceneObjectUrlSyncConfig = SceneObjectUrlSyncConfig;
|
|
13890
13730
|
exports.SceneQueryRunner = SceneQueryRunner;
|
13891
13731
|
exports.SceneReactObject = SceneReactObject;
|
13892
13732
|
exports.SceneRefreshPicker = SceneRefreshPicker;
|
13893
|
-
exports.SceneScopesBridge = SceneScopesBridge;
|
13894
13733
|
exports.SceneTimePicker = SceneTimePicker;
|
13895
13734
|
exports.SceneTimeRange = SceneTimeRange;
|
13896
13735
|
exports.SceneTimeRangeCompare = SceneTimeRangeCompare;
|