@grafana/scenes 4.17.2--canary.714.9000579577.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/index.js CHANGED
@@ -3493,7 +3493,7 @@ class AdHocFiltersVariableUrlSyncHandler {
3493
3493
  if (filters.length === 0) {
3494
3494
  return { [this.getKey()]: [""] };
3495
3495
  }
3496
- const value = filters.filter(isFilterComplete).map((filter) => toArray(filter).map(escapePipeDelimiters).join("|"));
3496
+ const value = filters.map((filter) => toArray(filter).map(escapePipeDelimiters).join("|"));
3497
3497
  return { [this.getKey()]: value };
3498
3498
  }
3499
3499
  updateFromUrl(values) {
@@ -3635,12 +3635,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
3635
3635
  }
3636
3636
  const updatedFilters = this.state.filters.map((f) => {
3637
3637
  if (f === filter) {
3638
- const updatedFilter = __spreadProps$l(__spreadValues$x({}, f), { [prop]: value, [propLabelKey]: label });
3639
- if (prop === "key" && filter[prop] !== value) {
3640
- updatedFilter.value = "";
3641
- updatedFilter.valueLabel = "";
3642
- }
3643
- return updatedFilter;
3638
+ return __spreadProps$l(__spreadValues$x({}, f), { [prop]: value, [propLabelKey]: label });
3644
3639
  }
3645
3640
  return f;
3646
3641
  });
@@ -3749,9 +3744,6 @@ function toSelectableValue({ text, value }) {
3749
3744
  value: String(value != null ? value : text)
3750
3745
  };
3751
3746
  }
3752
- function isFilterComplete(filter) {
3753
- return filter.key !== "" && filter.operator !== "" && filter.value !== "";
3754
- }
3755
3747
 
3756
3748
  function mergeMultipleDataLayers(layers) {
3757
3749
  const resultStreams = layers.map((l) => l.getResultsStream());
@@ -3831,7 +3823,7 @@ class SceneQueryRunner extends SceneObjectBase {
3831
3823
  queryCachingTTL: this.state.queryCachingTTL
3832
3824
  }, getEnrichedDataRequest(this));
3833
3825
  if (this._adhocFiltersVar) {
3834
- request.filters = this._adhocFiltersVar.state.filters.filter(isFilterComplete);
3826
+ request.filters = this._adhocFiltersVar.state.filters;
3835
3827
  }
3836
3828
  if (this._groupByVar) {
3837
3829
  request.groupByKeys = this._groupByVar.state.value;
@@ -6116,7 +6108,7 @@ class SceneDataTransformer extends SceneObjectBase {
6116
6108
  return true;
6117
6109
  }
6118
6110
  reprocessTransformations() {
6119
- this.transform(this.getSourceData().state.data);
6111
+ this.transform(this.getSourceData().state.data, true);
6120
6112
  }
6121
6113
  cancelQuery() {
6122
6114
  var _a, _b;
@@ -6125,8 +6117,42 @@ class SceneDataTransformer extends SceneObjectBase {
6125
6117
  getResultsStream() {
6126
6118
  return this._results;
6127
6119
  }
6128
- transform(data$1) {
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) {
6129
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
+ }
6130
6156
  const seriesTransformations = this.state.transformations.filter((transformation) => {
6131
6157
  if ("options" in transformation || "topic" in transformation) {
6132
6158
  return transformation.topic == null || transformation.topic === data.DataTopic.Series;
@@ -6139,13 +6165,6 @@ class SceneDataTransformer extends SceneObjectBase {
6139
6165
  }
6140
6166
  return false;
6141
6167
  }).map((transformation) => "operator" in transformation ? transformation.operator : transformation);
6142
- if (this.state.transformations.length === 0 || !data$1) {
6143
- this.setState({ data: data$1 });
6144
- if (data$1) {
6145
- this._results.next({ origin: this, data: data$1 });
6146
- }
6147
- return;
6148
- }
6149
6168
  if (this._transformSub) {
6150
6169
  this._transformSub.unsubscribe();
6151
6170
  }
@@ -6180,9 +6199,10 @@ class SceneDataTransformer extends SceneObjectBase {
6180
6199
  });
6181
6200
  return rxjs.of(result);
6182
6201
  })
6183
- ).subscribe((data2) => {
6184
- this.setState({ data: data2 });
6185
- this._results.next({ origin: this, data: data2 });
6202
+ ).subscribe((transformedData) => {
6203
+ this.setState({ data: transformedData });
6204
+ this._results.next({ origin: this, data: transformedData });
6205
+ this._prevDataFromSource = data$1;
6186
6206
  });
6187
6207
  }
6188
6208
  }