@grafana/scenes 4.5.5--canary.674.8612605644.0 → 4.5.5

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
@@ -421,11 +421,17 @@ function useSceneObjectState(model) {
421
421
  const [_, setState] = React.useState(model.state);
422
422
  const stateAtFirstRender = model.state;
423
423
  React.useEffect(() => {
424
- const s = model.subscribeToState(setState);
424
+ const unactivate = model.activate();
425
+ const s = model.subscribeToState((state) => {
426
+ setState(state);
427
+ });
425
428
  if (model.state !== stateAtFirstRender) {
426
429
  setState(model.state);
427
430
  }
428
- return () => s.unsubscribe();
431
+ return () => {
432
+ s.unsubscribe();
433
+ unactivate();
434
+ };
429
435
  }, [model]);
430
436
  return model.state;
431
437
  }
@@ -2274,7 +2280,6 @@ function VizPanelRenderer({ model }) {
2274
2280
  _pluginLoadError,
2275
2281
  displayMode,
2276
2282
  hoverHeader,
2277
- hoverHeaderOffset,
2278
2283
  menu,
2279
2284
  headerActions,
2280
2285
  titleItems,
@@ -2387,7 +2392,6 @@ function VizPanelRenderer({ model }) {
2387
2392
  height,
2388
2393
  displayMode,
2389
2394
  hoverHeader,
2390
- hoverHeaderOffset,
2391
2395
  titleItems: titleItemsElement,
2392
2396
  dragClass,
2393
2397
  actions: actionsElement,
@@ -5161,7 +5165,7 @@ class AdHocFiltersVariable extends SceneObjectBase {
5161
5165
  filters: [],
5162
5166
  datasource: null,
5163
5167
  applyMode: "auto",
5164
- filterExpression: (_b = state.filterExpression) != null ? _b : renderExpression(state)
5168
+ filterExpression: (_b = state.filterExpression) != null ? _b : renderExpression(state.expressionBuilder, state.filters)
5165
5169
  }, state));
5166
5170
  this._scopedVars = { __sceneObject: { value: this } };
5167
5171
  this._dataSourceSrv = runtime.getDataSourceSrv();
@@ -5169,30 +5173,21 @@ class AdHocFiltersVariable extends SceneObjectBase {
5169
5173
  if (this.state.applyMode === "auto") {
5170
5174
  patchGetAdhocFilters(this);
5171
5175
  }
5172
- this.addActivationHandler(() => {
5173
- this._subs.add(
5174
- this.subscribeToState((newState, prevState) => {
5175
- if (newState.filters !== prevState.filters) {
5176
- this._updateFilterExpression(newState, true);
5177
- }
5178
- })
5179
- );
5180
- this._updateFilterExpression(this.state, false);
5181
- });
5182
5176
  }
5183
- getValue() {
5184
- return this.state.filterExpression;
5185
- }
5186
- _updateFilterExpression(state, publishEvent) {
5187
- let expr = renderExpression(state);
5188
- if (expr === this.state.filterExpression) {
5189
- return;
5177
+ setState(update) {
5178
+ let filterExpressionChanged = false;
5179
+ if (update.filters && update.filters !== this.state.filters && !update.filterExpression) {
5180
+ update.filterExpression = renderExpression(this.state.expressionBuilder, update.filters);
5181
+ filterExpressionChanged = update.filterExpression !== this.state.filterExpression;
5190
5182
  }
5191
- this.setState({ filterExpression: expr });
5192
- if (publishEvent) {
5183
+ super.setState(update);
5184
+ if (filterExpressionChanged) {
5193
5185
  this.publishEvent(new SceneVariableValueChangedEvent(this), true);
5194
5186
  }
5195
5187
  }
5188
+ getValue() {
5189
+ return this.state.filterExpression;
5190
+ }
5196
5191
  _updateFilter(filter, prop, value) {
5197
5192
  if (value == null) {
5198
5193
  return;
@@ -5295,9 +5290,8 @@ class AdHocFiltersVariable extends SceneObjectBase {
5295
5290
  }
5296
5291
  }
5297
5292
  AdHocFiltersVariable.Component = AdHocFiltersVariableRenderer;
5298
- function renderExpression(state) {
5299
- var _a, _b;
5300
- return ((_a = state.expressionBuilder) != null ? _a : renderPrometheusLabelFilters)((_b = state.filters) != null ? _b : []);
5293
+ function renderExpression(builder, filters) {
5294
+ return (builder != null ? builder : renderPrometheusLabelFilters)(filters != null ? filters : []);
5301
5295
  }
5302
5296
  function AdHocFiltersVariableRenderer({ model }) {
5303
5297
  const { filters, readOnly, addFilterButtonText } = model.useState();