@grafana/scenes 4.18.0--canary.724.9001989710.0 → 4.18.0--canary.725.9002029358.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/querying/SceneDataLayerSet.js +3 -4
- package/dist/esm/querying/SceneDataLayerSet.js.map +1 -1
- package/dist/esm/querying/SceneDataTransformer.js +40 -12
- package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +6 -21
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/querying/layers/SceneDataLayerBase.js +1 -1
- package/dist/esm/querying/layers/SceneDataLayerBase.js.map +1 -1
- package/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js.map +1 -1
- package/dist/esm/querying/mergeMultipleDataLayers.js +23 -0
- package/dist/esm/querying/mergeMultipleDataLayers.js.map +1 -0
- package/dist/index.d.ts +16 -3
- package/dist/index.js +65 -76
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/querying/DataLayersMerger.js +0 -46
- package/dist/esm/querying/DataLayersMerger.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -549,7 +549,6 @@ interface DataQueryExtended extends DataQuery$1 {
|
|
|
549
549
|
declare class SceneQueryRunner extends SceneObjectBase<QueryRunnerState> implements SceneDataProvider {
|
|
550
550
|
private _querySub?;
|
|
551
551
|
private _dataLayersSub?;
|
|
552
|
-
private _dataLayersMerger;
|
|
553
552
|
private _timeSub?;
|
|
554
553
|
private _timeSubRange?;
|
|
555
554
|
private _containerWidth?;
|
|
@@ -1221,7 +1220,19 @@ declare class AnnotationsDataLayer extends SceneDataLayerBase<AnnotationsDataLay
|
|
|
1221
1220
|
runLayer(): void;
|
|
1222
1221
|
private runWithTimeRange;
|
|
1223
1222
|
protected resolveDataSource(query: AnnotationQuery): Promise<_grafana_data.DataSourceApi<_grafana_data.DataQuery, _grafana_data.DataSourceJsonData, {}>>;
|
|
1224
|
-
protected processEvents(query: AnnotationQuery, events: AnnotationQueryResults):
|
|
1223
|
+
protected processEvents(query: AnnotationQuery, events: AnnotationQueryResults): {
|
|
1224
|
+
state: LoadingState;
|
|
1225
|
+
series: _grafana_data.DataFrame[];
|
|
1226
|
+
structureRev?: number;
|
|
1227
|
+
annotations?: _grafana_data.DataFrame[];
|
|
1228
|
+
alertState?: _grafana_data.AlertStateInfo;
|
|
1229
|
+
request?: _grafana_data.DataQueryRequest<_grafana_data.DataQuery>;
|
|
1230
|
+
timings?: _grafana_data.DataQueryTimings;
|
|
1231
|
+
errors?: _grafana_data.DataQueryError[];
|
|
1232
|
+
error?: _grafana_data.DataQueryError;
|
|
1233
|
+
timeRange: _grafana_data.TimeRange;
|
|
1234
|
+
traceIds?: string[];
|
|
1235
|
+
};
|
|
1225
1236
|
}
|
|
1226
1237
|
declare function AnnotationsDataLayerRenderer({ model }: SceneComponentProps<AnnotationsDataLayer>): React__default.JSX.Element;
|
|
1227
1238
|
|
|
@@ -1306,7 +1317,6 @@ declare abstract class SceneDataLayerSetBase<T extends SceneDataLayerProviderSta
|
|
|
1306
1317
|
* Subject to emit results to.
|
|
1307
1318
|
*/
|
|
1308
1319
|
private _results;
|
|
1309
|
-
private _dataLayersMerger;
|
|
1310
1320
|
protected subscribeToAllLayers(layers: SceneDataLayerProvider[]): void;
|
|
1311
1321
|
private _onLayerUpdateReceived;
|
|
1312
1322
|
getResultsStream(): Observable<SceneDataProviderResult>;
|
|
@@ -1350,6 +1360,7 @@ interface SceneDataTransformerState extends SceneDataState {
|
|
|
1350
1360
|
declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerState> implements SceneDataProvider {
|
|
1351
1361
|
private _transformSub?;
|
|
1352
1362
|
private _results;
|
|
1363
|
+
private _prevDataFromSource?;
|
|
1353
1364
|
/**
|
|
1354
1365
|
* Scan transformations for variable usage and re-process transforms when a variable values change
|
|
1355
1366
|
*/
|
|
@@ -1362,6 +1373,8 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
|
|
|
1362
1373
|
reprocessTransformations(): void;
|
|
1363
1374
|
cancelQuery(): void;
|
|
1364
1375
|
getResultsStream(): ReplaySubject<SceneDataProviderResult>;
|
|
1376
|
+
clone(withState?: Partial<SceneDataTransformerState>): this;
|
|
1377
|
+
private haveAlreadyTransformedData;
|
|
1365
1378
|
private transform;
|
|
1366
1379
|
}
|
|
1367
1380
|
|
package/dist/index.js
CHANGED
|
@@ -3745,46 +3745,23 @@ function toSelectableValue({ text, value }) {
|
|
|
3745
3745
|
};
|
|
3746
3746
|
}
|
|
3747
3747
|
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
rxjs.filter((v) => {
|
|
3766
|
-
return this._resultsMap.get(v.origin.state.key) !== v;
|
|
3767
|
-
}),
|
|
3768
|
-
rxjs.map((v) => {
|
|
3769
|
-
this._resultsMap.set(v.origin.state.key, v);
|
|
3770
|
-
return this._resultsMap.values();
|
|
3771
|
-
}),
|
|
3772
|
-
rxjs.finalize(() => {
|
|
3773
|
-
deactivationHandlers.forEach((handler) => handler());
|
|
3774
|
-
})
|
|
3775
|
-
);
|
|
3776
|
-
}
|
|
3777
|
-
}
|
|
3778
|
-
function areDifferentLayers(a, b) {
|
|
3779
|
-
if (a.length !== b.length) {
|
|
3780
|
-
return true;
|
|
3781
|
-
}
|
|
3782
|
-
for (let i = 0; i < a.length; i++) {
|
|
3783
|
-
if (a[i] !== b[i]) {
|
|
3784
|
-
return true;
|
|
3785
|
-
}
|
|
3786
|
-
}
|
|
3787
|
-
return false;
|
|
3748
|
+
function mergeMultipleDataLayers(layers) {
|
|
3749
|
+
const resultStreams = layers.map((l) => l.getResultsStream());
|
|
3750
|
+
const resultsMap = /* @__PURE__ */ new Map();
|
|
3751
|
+
const deactivationHandlers = [];
|
|
3752
|
+
for (const layer of layers) {
|
|
3753
|
+
deactivationHandlers.push(layer.activate());
|
|
3754
|
+
}
|
|
3755
|
+
return rxjs.merge(resultStreams).pipe(
|
|
3756
|
+
rxjs.mergeAll(),
|
|
3757
|
+
rxjs.map((v) => {
|
|
3758
|
+
resultsMap.set(v.origin.state.key, v);
|
|
3759
|
+
return resultsMap.values();
|
|
3760
|
+
}),
|
|
3761
|
+
rxjs.finalize(() => {
|
|
3762
|
+
deactivationHandlers.forEach((handler) => handler());
|
|
3763
|
+
})
|
|
3764
|
+
);
|
|
3788
3765
|
}
|
|
3789
3766
|
|
|
3790
3767
|
var __defProp$w = Object.defineProperty;
|
|
@@ -3813,7 +3790,6 @@ function getNextRequestId$1() {
|
|
|
3813
3790
|
class SceneQueryRunner extends SceneObjectBase {
|
|
3814
3791
|
constructor(initialState) {
|
|
3815
3792
|
super(initialState);
|
|
3816
|
-
this._dataLayersMerger = new DataLayersMerger();
|
|
3817
3793
|
this._variableValueRecorder = new VariableValueRecorder();
|
|
3818
3794
|
this._results = new rxjs.ReplaySubject(1);
|
|
3819
3795
|
this._scopedVars = { __sceneObject: { value: this, text: "__sceneObject" } };
|
|
@@ -3928,10 +3904,10 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
|
3928
3904
|
if (dataLayers.length === 0) {
|
|
3929
3905
|
return;
|
|
3930
3906
|
}
|
|
3931
|
-
this._dataLayersSub =
|
|
3907
|
+
this._dataLayersSub = mergeMultipleDataLayers(dataLayers).subscribe(this._onLayersReceived.bind(this));
|
|
3932
3908
|
}
|
|
3933
3909
|
_onLayersReceived(results) {
|
|
3934
|
-
var _a, _b, _c, _d
|
|
3910
|
+
var _a, _b, _c, _d;
|
|
3935
3911
|
const timeRange = sceneGraph.getTimeRange(this);
|
|
3936
3912
|
const { dataLayerFilter } = this.state;
|
|
3937
3913
|
let annotations = [];
|
|
@@ -3963,15 +3939,12 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
|
3963
3939
|
}
|
|
3964
3940
|
}
|
|
3965
3941
|
}
|
|
3966
|
-
if (alertState === ((_c = this.state.data) == null ? void 0 : _c.alertState) && allFramesEmpty(annotations) && allFramesEmpty(this._layerAnnotations)) {
|
|
3967
|
-
return;
|
|
3968
|
-
}
|
|
3969
|
-
this._layerAnnotations = annotations;
|
|
3970
3942
|
const baseStateUpdate = this.state.data ? this.state.data : __spreadProps$k(__spreadValues$w({}, emptyPanelData), { timeRange: timeRange.state.value });
|
|
3943
|
+
this._layerAnnotations = annotations;
|
|
3971
3944
|
this.setState({
|
|
3972
3945
|
data: __spreadProps$k(__spreadValues$w({}, baseStateUpdate), {
|
|
3973
|
-
annotations: [...(
|
|
3974
|
-
alertState: alertState != null ? alertState : (
|
|
3946
|
+
annotations: [...(_c = this._resultAnnotations) != null ? _c : [], ...annotations],
|
|
3947
|
+
alertState: alertState != null ? alertState : (_d = this.state.data) == null ? void 0 : _d.alertState
|
|
3975
3948
|
})
|
|
3976
3949
|
});
|
|
3977
3950
|
}
|
|
@@ -4207,17 +4180,6 @@ function findFirstDatasource(targets) {
|
|
|
4207
4180
|
var _a, _b;
|
|
4208
4181
|
return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;
|
|
4209
4182
|
}
|
|
4210
|
-
function allFramesEmpty(frames) {
|
|
4211
|
-
if (!frames) {
|
|
4212
|
-
return true;
|
|
4213
|
-
}
|
|
4214
|
-
for (let i = 0; i < frames.length; i++) {
|
|
4215
|
-
if (frames[i].length > 0) {
|
|
4216
|
-
return false;
|
|
4217
|
-
}
|
|
4218
|
-
}
|
|
4219
|
-
return true;
|
|
4220
|
-
}
|
|
4221
4183
|
|
|
4222
4184
|
function isVariableValueEqual(a, b) {
|
|
4223
4185
|
if (a === b) {
|
|
@@ -5286,7 +5248,7 @@ class SceneDataLayerBase extends SceneObjectBase {
|
|
|
5286
5248
|
super(__spreadValues$r({
|
|
5287
5249
|
isEnabled: true
|
|
5288
5250
|
}, initialState));
|
|
5289
|
-
this._results = new rxjs.ReplaySubject(
|
|
5251
|
+
this._results = new rxjs.ReplaySubject();
|
|
5290
5252
|
this.isDataLayer = true;
|
|
5291
5253
|
this._variableValueRecorder = new VariableValueRecorder();
|
|
5292
5254
|
this._variableDependency = new VariableDependencyConfig(this, {
|
|
@@ -6010,12 +5972,11 @@ class SceneDataLayerSetBase extends SceneObjectBase {
|
|
|
6010
5972
|
constructor() {
|
|
6011
5973
|
super(...arguments);
|
|
6012
5974
|
this.isDataLayer = true;
|
|
6013
|
-
this._results = new rxjs.ReplaySubject(
|
|
6014
|
-
this._dataLayersMerger = new DataLayersMerger();
|
|
5975
|
+
this._results = new rxjs.ReplaySubject();
|
|
6015
5976
|
}
|
|
6016
5977
|
subscribeToAllLayers(layers) {
|
|
6017
5978
|
if (layers.length > 0) {
|
|
6018
|
-
this.querySub =
|
|
5979
|
+
this.querySub = mergeMultipleDataLayers(layers).subscribe(this._onLayerUpdateReceived.bind(this));
|
|
6019
5980
|
} else {
|
|
6020
5981
|
this._results.next({ origin: this, data: emptyPanelData });
|
|
6021
5982
|
this.setStateHelper({ data: emptyPanelData });
|
|
@@ -6147,7 +6108,7 @@ class SceneDataTransformer extends SceneObjectBase {
|
|
|
6147
6108
|
return true;
|
|
6148
6109
|
}
|
|
6149
6110
|
reprocessTransformations() {
|
|
6150
|
-
this.transform(this.getSourceData().state.data);
|
|
6111
|
+
this.transform(this.getSourceData().state.data, true);
|
|
6151
6112
|
}
|
|
6152
6113
|
cancelQuery() {
|
|
6153
6114
|
var _a, _b;
|
|
@@ -6156,8 +6117,42 @@ class SceneDataTransformer extends SceneObjectBase {
|
|
|
6156
6117
|
getResultsStream() {
|
|
6157
6118
|
return this._results;
|
|
6158
6119
|
}
|
|
6159
|
-
|
|
6120
|
+
clone(withState) {
|
|
6121
|
+
const clone = super.clone(withState);
|
|
6122
|
+
if (this._prevDataFromSource) {
|
|
6123
|
+
clone["_prevDataFromSource"] = this._prevDataFromSource;
|
|
6124
|
+
}
|
|
6125
|
+
return clone;
|
|
6126
|
+
}
|
|
6127
|
+
haveAlreadyTransformedData(data) {
|
|
6128
|
+
if (!this._prevDataFromSource) {
|
|
6129
|
+
return false;
|
|
6130
|
+
}
|
|
6131
|
+
if (data === this._prevDataFromSource) {
|
|
6132
|
+
return true;
|
|
6133
|
+
}
|
|
6134
|
+
const { series, annotations } = this._prevDataFromSource;
|
|
6135
|
+
if (data.series === series && data.annotations === annotations) {
|
|
6136
|
+
if (this.state.data && data.state !== this.state.data.state) {
|
|
6137
|
+
this.setState({ data: __spreadProps$a(__spreadValues$k({}, this.state.data), { state: data.state }) });
|
|
6138
|
+
}
|
|
6139
|
+
return true;
|
|
6140
|
+
}
|
|
6141
|
+
return false;
|
|
6142
|
+
}
|
|
6143
|
+
transform(data$1, force = false) {
|
|
6160
6144
|
var _a;
|
|
6145
|
+
if (this.state.transformations.length === 0 || !data$1) {
|
|
6146
|
+
this._prevDataFromSource = data$1;
|
|
6147
|
+
this.setState({ data: data$1 });
|
|
6148
|
+
if (data$1) {
|
|
6149
|
+
this._results.next({ origin: this, data: data$1 });
|
|
6150
|
+
}
|
|
6151
|
+
return;
|
|
6152
|
+
}
|
|
6153
|
+
if (!force && this.haveAlreadyTransformedData(data$1)) {
|
|
6154
|
+
return;
|
|
6155
|
+
}
|
|
6161
6156
|
const seriesTransformations = this.state.transformations.filter((transformation) => {
|
|
6162
6157
|
if ("options" in transformation || "topic" in transformation) {
|
|
6163
6158
|
return transformation.topic == null || transformation.topic === data.DataTopic.Series;
|
|
@@ -6170,13 +6165,6 @@ class SceneDataTransformer extends SceneObjectBase {
|
|
|
6170
6165
|
}
|
|
6171
6166
|
return false;
|
|
6172
6167
|
}).map((transformation) => "operator" in transformation ? transformation.operator : transformation);
|
|
6173
|
-
if (this.state.transformations.length === 0 || !data$1) {
|
|
6174
|
-
this.setState({ data: data$1 });
|
|
6175
|
-
if (data$1) {
|
|
6176
|
-
this._results.next({ origin: this, data: data$1 });
|
|
6177
|
-
}
|
|
6178
|
-
return;
|
|
6179
|
-
}
|
|
6180
6168
|
if (this._transformSub) {
|
|
6181
6169
|
this._transformSub.unsubscribe();
|
|
6182
6170
|
}
|
|
@@ -6211,9 +6199,10 @@ class SceneDataTransformer extends SceneObjectBase {
|
|
|
6211
6199
|
});
|
|
6212
6200
|
return rxjs.of(result);
|
|
6213
6201
|
})
|
|
6214
|
-
).subscribe((
|
|
6215
|
-
this.setState({ data:
|
|
6216
|
-
this._results.next({ origin: this, data:
|
|
6202
|
+
).subscribe((transformedData) => {
|
|
6203
|
+
this.setState({ data: transformedData });
|
|
6204
|
+
this._results.next({ origin: this, data: transformedData });
|
|
6205
|
+
this._prevDataFromSource = data$1;
|
|
6217
6206
|
});
|
|
6218
6207
|
}
|
|
6219
6208
|
}
|