@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/CHANGELOG.md +12 -0
- package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -2
- package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
- package/dist/esm/core/SceneObjectBase.js +9 -3
- package/dist/esm/core/SceneObjectBase.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +14 -24
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.js +21 -27
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
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
|
|
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 () =>
|
|
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
|
-
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
|
|
5187
|
-
|
|
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
|
-
|
|
5192
|
-
if (
|
|
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(
|
|
5299
|
-
|
|
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();
|