@grafana/scenes 6.28.2--canary.1194.16495101475.0 → 6.28.2--canary.1195.16517016489.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/behaviors/SceneRenderProfiler.js +26 -9
- package/dist/esm/behaviors/SceneRenderProfiler.js.map +1 -1
- package/dist/esm/components/SceneRefreshPicker.js +3 -2
- package/dist/esm/components/SceneRefreshPicker.js.map +1 -1
- package/dist/esm/components/VizPanel/VizPanel.js +1 -1
- package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
- package/dist/esm/core/SceneTimeRange.js +3 -3
- package/dist/esm/core/SceneTimeRange.js.map +1 -1
- package/dist/esm/utils/getDataSource.js +2 -1
- package/dist/esm/utils/getDataSource.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +37 -19
- package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +6 -0
- package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
- package/dist/esm/variables/components/VariableValueSelect.js +3 -2
- package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
- package/dist/esm/variables/variants/ScopesVariable.js +4 -0
- package/dist/esm/variables/variants/ScopesVariable.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +74 -35
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -646,7 +646,7 @@ class SceneRenderProfiler {
|
|
|
646
646
|
);
|
|
647
647
|
__privateSet$3(this, _trailAnimationFrameId, null);
|
|
648
648
|
const profileEndTs = profileStartTs + profileDuration + slowFramesTime;
|
|
649
|
-
performance.measure(
|
|
649
|
+
performance.measure(`DashboardInteraction ${__privateGet$3(this, _profileInProgress).origin}`, {
|
|
650
650
|
start: profileStartTs,
|
|
651
651
|
end: profileEndTs
|
|
652
652
|
});
|
|
@@ -664,6 +664,7 @@ class SceneRenderProfiler {
|
|
|
664
664
|
// @ts-ignore
|
|
665
665
|
totalJSHeapSize: performance.memory ? performance.memory.totalJSHeapSize : 0
|
|
666
666
|
});
|
|
667
|
+
__privateSet$3(this, _profileInProgress, null);
|
|
667
668
|
}
|
|
668
669
|
if (window.__runs) {
|
|
669
670
|
window.__runs += `${Date.now()}, ${profileDuration + slowFramesTime}
|
|
@@ -676,14 +677,22 @@ class SceneRenderProfiler {
|
|
|
676
677
|
};
|
|
677
678
|
}
|
|
678
679
|
startProfile(name) {
|
|
679
|
-
if (__privateGet$3(this,
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
680
|
+
if (__privateGet$3(this, _profileInProgress)) {
|
|
681
|
+
if (__privateGet$3(this, _trailAnimationFrameId)) {
|
|
682
|
+
cancelAnimationFrame(__privateGet$3(this, _trailAnimationFrameId));
|
|
683
|
+
__privateSet$3(this, _trailAnimationFrameId, null);
|
|
684
|
+
writeSceneLog(this.constructor.name, "New profile: Stopped recording frames ");
|
|
685
|
+
__privateSet$3(this, _profileInProgress, { origin: name, crumbs: [] });
|
|
686
|
+
__privateSet$3(this, _profileStartTs, performance.now());
|
|
687
|
+
writeSceneLog(this.constructor.name, "Profile started:", __privateGet$3(this, _profileInProgress), __privateGet$3(this, _profileStartTs));
|
|
688
|
+
} else {
|
|
689
|
+
this.addCrumb(name);
|
|
690
|
+
}
|
|
691
|
+
} else {
|
|
692
|
+
__privateSet$3(this, _profileInProgress, { origin: name, crumbs: [] });
|
|
693
|
+
__privateSet$3(this, _profileStartTs, performance.now());
|
|
694
|
+
writeSceneLog(this.constructor.name, "Profile started:", __privateGet$3(this, _profileInProgress), __privateGet$3(this, _profileStartTs));
|
|
683
695
|
}
|
|
684
|
-
__privateSet$3(this, _profileInProgress, { origin: name, crumbs: [] });
|
|
685
|
-
__privateSet$3(this, _profileStartTs, performance.now());
|
|
686
|
-
writeSceneLog(this.constructor.name, "Profile started:", __privateGet$3(this, _profileInProgress), __privateGet$3(this, _profileStartTs));
|
|
687
696
|
}
|
|
688
697
|
recordProfileTail(measurementStartTime, profileStartTs) {
|
|
689
698
|
__privateSet$3(this, _trailAnimationFrameId, requestAnimationFrame(
|
|
@@ -709,6 +718,7 @@ class SceneRenderProfiler {
|
|
|
709
718
|
}
|
|
710
719
|
addCrumb(crumb) {
|
|
711
720
|
if (__privateGet$3(this, _profileInProgress)) {
|
|
721
|
+
writeSceneLog(this.constructor.name, "Adding crumb:", crumb);
|
|
712
722
|
__privateGet$3(this, _profileInProgress).crumbs.push(crumb);
|
|
713
723
|
}
|
|
714
724
|
}
|
|
@@ -757,6 +767,13 @@ function calculateNetworkTime(requests) {
|
|
|
757
767
|
totalNetworkTime += currentEnd - currentStart;
|
|
758
768
|
return totalNetworkTime;
|
|
759
769
|
}
|
|
770
|
+
const REFRESH_INTERACTION = "refresh";
|
|
771
|
+
const TIME_RANGE_CHANGE_INTERACTION = "time-range-change";
|
|
772
|
+
const FILTER_REMOVED_INTERACTION = "filter-removed";
|
|
773
|
+
const FILTER_CHANGED_INTERACTION = "filter-changed";
|
|
774
|
+
const FILTER_RESTORED_INTERACTION = "filter-restored";
|
|
775
|
+
const VARIABLE_VALUE_CHANGED_INTERACTION = "variable-value-changed";
|
|
776
|
+
const SCOPES_CHANGED_INTERACTION = "scopes-changed";
|
|
760
777
|
|
|
761
778
|
var __typeError$2 = (msg) => {
|
|
762
779
|
throw TypeError(msg);
|
|
@@ -1038,7 +1055,7 @@ class SceneTimeRange extends SceneObjectBase {
|
|
|
1038
1055
|
);
|
|
1039
1056
|
if (update.from !== this.state.from || update.to !== this.state.to) {
|
|
1040
1057
|
const queryController = getQueryController(this);
|
|
1041
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
1058
|
+
queryController == null ? void 0 : queryController.startProfile(TIME_RANGE_CHANGE_INTERACTION);
|
|
1042
1059
|
this._urlSync.performBrowserHistoryAction(() => {
|
|
1043
1060
|
this.setState(update);
|
|
1044
1061
|
});
|
|
@@ -1214,12 +1231,11 @@ function getTimeWindow(time, timeWindow) {
|
|
|
1214
1231
|
};
|
|
1215
1232
|
}
|
|
1216
1233
|
function getValidTimeZone(timeZone) {
|
|
1217
|
-
var _a;
|
|
1218
1234
|
if (timeZone === void 0) {
|
|
1219
1235
|
return void 0;
|
|
1220
1236
|
}
|
|
1221
1237
|
if (lodash.isEmpty(timeZone)) {
|
|
1222
|
-
return
|
|
1238
|
+
return runtime.config.bootData.user.timezone;
|
|
1223
1239
|
}
|
|
1224
1240
|
if (timeZone === schema.defaultTimeZone) {
|
|
1225
1241
|
return timeZone;
|
|
@@ -2554,6 +2570,7 @@ function wrapPromiseInStateObservable(promise) {
|
|
|
2554
2570
|
}
|
|
2555
2571
|
|
|
2556
2572
|
async function getDataSource(datasource, scopedVars) {
|
|
2573
|
+
var _a;
|
|
2557
2574
|
if (datasource == null ? void 0 : datasource.uid) {
|
|
2558
2575
|
const runtimeDataSource = runtimeDataSources.get(datasource.uid);
|
|
2559
2576
|
if (runtimeDataSource) {
|
|
@@ -2569,7 +2586,7 @@ async function getDataSource(datasource, scopedVars) {
|
|
|
2569
2586
|
if (queryControler && queryControler.state.enableProfiling) {
|
|
2570
2587
|
wrapPromiseInStateObservable(dsPromise).pipe(
|
|
2571
2588
|
registerQueryWithController({
|
|
2572
|
-
type:
|
|
2589
|
+
type: `plugin/${(_a = datasource == null ? void 0 : datasource.type) != null ? _a : "unknown"}`,
|
|
2573
2590
|
origin: scopedVars.__sceneObject.value.valueOf()
|
|
2574
2591
|
})
|
|
2575
2592
|
).subscribe(() => {
|
|
@@ -2911,7 +2928,7 @@ function VariableValueSelect({ model, state }) {
|
|
|
2911
2928
|
"data-testid": e2eSelectors.selectors.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts(`${value}`),
|
|
2912
2929
|
onChange: (newValue) => {
|
|
2913
2930
|
model.changeValueTo(newValue.value, newValue.label, true);
|
|
2914
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
2931
|
+
queryController == null ? void 0 : queryController.startProfile(VARIABLE_VALUE_CHANGED_INTERACTION);
|
|
2915
2932
|
if (hasCustomValue !== newValue.__isNew__) {
|
|
2916
2933
|
setHasCustomValue(newValue.__isNew__);
|
|
2917
2934
|
}
|
|
@@ -2984,7 +3001,7 @@ function VariableValueSelectMulti({
|
|
|
2984
3001
|
onInputChange,
|
|
2985
3002
|
onBlur: () => {
|
|
2986
3003
|
model.changeValueTo(uncommittedValue, void 0, true);
|
|
2987
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
3004
|
+
queryController == null ? void 0 : queryController.startProfile(VARIABLE_VALUE_CHANGED_INTERACTION);
|
|
2988
3005
|
},
|
|
2989
3006
|
filterOption: filterNoOp$2,
|
|
2990
3007
|
"data-testid": e2eSelectors.selectors.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts(`${uncommittedValue}`),
|
|
@@ -4627,6 +4644,14 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4627
4644
|
valueLabels.push((_a2 = item.label) != null ? _a2 : item.value);
|
|
4628
4645
|
values.push(item.value);
|
|
4629
4646
|
});
|
|
4647
|
+
let shouldUpdate = true;
|
|
4648
|
+
if (Array.isArray(filter2.values) && filter2.values.length === values.length) {
|
|
4649
|
+
shouldUpdate = !filter2.values.every((v, i) => v === values[i]);
|
|
4650
|
+
}
|
|
4651
|
+
if (shouldUpdate) {
|
|
4652
|
+
const queryController = getQueryController(model2);
|
|
4653
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_CHANGED_INTERACTION);
|
|
4654
|
+
}
|
|
4630
4655
|
model2._updateFilter(filter2, { valueLabels, values, value: values[0] });
|
|
4631
4656
|
setFilterMultiValues([]);
|
|
4632
4657
|
}
|
|
@@ -4779,6 +4804,10 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4779
4804
|
return;
|
|
4780
4805
|
}
|
|
4781
4806
|
focusOnWipInputRef == null ? void 0 : focusOnWipInputRef();
|
|
4807
|
+
if (isFilterComplete(filter)) {
|
|
4808
|
+
const queryController = getQueryController(model);
|
|
4809
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_REMOVED_INTERACTION);
|
|
4810
|
+
}
|
|
4782
4811
|
model._handleComboboxBackspace(filter);
|
|
4783
4812
|
if (isAlwaysWip) {
|
|
4784
4813
|
handleResetWip();
|
|
@@ -4843,16 +4872,18 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4843
4872
|
handleLocalMultiValueChange(selectedItem);
|
|
4844
4873
|
setInputValue("");
|
|
4845
4874
|
} else {
|
|
4846
|
-
|
|
4875
|
+
const payload = generateFilterUpdatePayload({
|
|
4876
|
+
filterInputType,
|
|
4877
|
+
item: selectedItem,
|
|
4847
4878
|
filter,
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
|
|
4855
|
-
);
|
|
4879
|
+
setFilterMultiValues,
|
|
4880
|
+
onAddCustomValue
|
|
4881
|
+
});
|
|
4882
|
+
if (filterInputType === "value" && payload.value !== (filter == null ? void 0 : filter.value)) {
|
|
4883
|
+
const queryController = getQueryController(model);
|
|
4884
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_CHANGED_INTERACTION);
|
|
4885
|
+
}
|
|
4886
|
+
model._updateFilter(filter, payload);
|
|
4856
4887
|
populateInputValueOnInputTypeSwitch({
|
|
4857
4888
|
populateInputOnEdit,
|
|
4858
4889
|
item: selectedItem,
|
|
@@ -5100,16 +5131,18 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
5100
5131
|
setInputValue("");
|
|
5101
5132
|
(_a3 = refs.domReference.current) == null ? void 0 : _a3.focus();
|
|
5102
5133
|
} else {
|
|
5103
|
-
|
|
5134
|
+
const payload = generateFilterUpdatePayload({
|
|
5135
|
+
filterInputType,
|
|
5136
|
+
item,
|
|
5104
5137
|
filter,
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
|
|
5112
|
-
);
|
|
5138
|
+
setFilterMultiValues,
|
|
5139
|
+
onAddCustomValue
|
|
5140
|
+
});
|
|
5141
|
+
if (filterInputType === "value" && payload.value !== (filter == null ? void 0 : filter.value)) {
|
|
5142
|
+
const queryController = getQueryController(model);
|
|
5143
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_CHANGED_INTERACTION);
|
|
5144
|
+
}
|
|
5145
|
+
model._updateFilter(filter, payload);
|
|
5113
5146
|
populateInputValueOnInputTypeSwitch({
|
|
5114
5147
|
populateInputOnEdit,
|
|
5115
5148
|
item,
|
|
@@ -5835,6 +5868,8 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5835
5868
|
original.valueLabels = originalFilter == null ? void 0 : originalFilter.value;
|
|
5836
5869
|
original.operator = originalFilter == null ? void 0 : originalFilter.operator;
|
|
5837
5870
|
original.nonApplicable = originalFilter == null ? void 0 : originalFilter.nonApplicable;
|
|
5871
|
+
const queryController = getQueryController(this);
|
|
5872
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_RESTORED_INTERACTION);
|
|
5838
5873
|
this._updateFilter(filter, original);
|
|
5839
5874
|
}
|
|
5840
5875
|
}
|
|
@@ -5891,6 +5926,8 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5891
5926
|
this.setState({ _wip: void 0 });
|
|
5892
5927
|
return;
|
|
5893
5928
|
}
|
|
5929
|
+
const queryController = getQueryController(this);
|
|
5930
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_REMOVED_INTERACTION);
|
|
5894
5931
|
this._setStateWithFiltersApplicabilityCheck({
|
|
5895
5932
|
filters: this.state.filters.filter((f) => f !== filter),
|
|
5896
5933
|
originFilters: this.state.originFilters
|
|
@@ -7533,6 +7570,8 @@ class ScopesVariable extends SceneObjectBase {
|
|
|
7533
7570
|
const newScopes = state.value.map((scope) => scope.metadata.name);
|
|
7534
7571
|
const scopesHaveChanged = !lodash.isEqual(oldScopes, newScopes);
|
|
7535
7572
|
if (!loading && (scopesHaveChanged || newScopes.length === 0)) {
|
|
7573
|
+
const queryController = getQueryController(this);
|
|
7574
|
+
queryController == null ? void 0 : queryController.startProfile(SCOPES_CHANGED_INTERACTION);
|
|
7536
7575
|
this.setState({ scopes: state.value, loading });
|
|
7537
7576
|
this.publishEvent(new SceneVariableValueChangedEvent(this), true);
|
|
7538
7577
|
} else {
|
|
@@ -8649,7 +8688,7 @@ class VizPanel extends SceneObjectBase {
|
|
|
8649
8688
|
const panelPromise = importPanelPlugin(pluginId);
|
|
8650
8689
|
const queryControler = sceneGraph.getQueryController(this);
|
|
8651
8690
|
if (queryControler && queryControler.state.enableProfiling) {
|
|
8652
|
-
wrapPromiseInStateObservable(panelPromise).pipe(registerQueryWithController({ type:
|
|
8691
|
+
wrapPromiseInStateObservable(panelPromise).pipe(registerQueryWithController({ type: `plugin/${pluginId}`, origin: this })).subscribe(() => {
|
|
8653
8692
|
});
|
|
8654
8693
|
}
|
|
8655
8694
|
const result = await panelPromise;
|
|
@@ -12016,7 +12055,7 @@ class SceneRefreshPicker extends SceneObjectBase {
|
|
|
12016
12055
|
this._autoRefreshBlocked = false;
|
|
12017
12056
|
this.onRefresh = () => {
|
|
12018
12057
|
const queryController = sceneGraph.getQueryController(this);
|
|
12019
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
12058
|
+
queryController == null ? void 0 : queryController.startProfile(REFRESH_INTERACTION);
|
|
12020
12059
|
if (queryController == null ? void 0 : queryController.state.isRunning) {
|
|
12021
12060
|
queryController.cancelAll();
|
|
12022
12061
|
return;
|
|
@@ -12073,7 +12112,7 @@ class SceneRefreshPicker extends SceneObjectBase {
|
|
|
12073
12112
|
this._intervalTimer = setInterval(() => {
|
|
12074
12113
|
if (this.isTabVisible()) {
|
|
12075
12114
|
const queryController = sceneGraph.getQueryController(this);
|
|
12076
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
12115
|
+
queryController == null ? void 0 : queryController.startProfile(REFRESH_INTERACTION);
|
|
12077
12116
|
timeRange.onRefresh();
|
|
12078
12117
|
} else {
|
|
12079
12118
|
this._autoRefreshBlocked = true;
|