@grafana/scenes 6.28.2--canary.1194.16495109548.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 -2
- 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 -34
- 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
|
});
|
|
@@ -1217,7 +1234,7 @@ function getValidTimeZone(timeZone) {
|
|
|
1217
1234
|
if (timeZone === void 0) {
|
|
1218
1235
|
return void 0;
|
|
1219
1236
|
}
|
|
1220
|
-
if (lodash.isEmpty(timeZone)
|
|
1237
|
+
if (lodash.isEmpty(timeZone)) {
|
|
1221
1238
|
return runtime.config.bootData.user.timezone;
|
|
1222
1239
|
}
|
|
1223
1240
|
if (timeZone === schema.defaultTimeZone) {
|
|
@@ -2553,6 +2570,7 @@ function wrapPromiseInStateObservable(promise) {
|
|
|
2553
2570
|
}
|
|
2554
2571
|
|
|
2555
2572
|
async function getDataSource(datasource, scopedVars) {
|
|
2573
|
+
var _a;
|
|
2556
2574
|
if (datasource == null ? void 0 : datasource.uid) {
|
|
2557
2575
|
const runtimeDataSource = runtimeDataSources.get(datasource.uid);
|
|
2558
2576
|
if (runtimeDataSource) {
|
|
@@ -2568,7 +2586,7 @@ async function getDataSource(datasource, scopedVars) {
|
|
|
2568
2586
|
if (queryControler && queryControler.state.enableProfiling) {
|
|
2569
2587
|
wrapPromiseInStateObservable(dsPromise).pipe(
|
|
2570
2588
|
registerQueryWithController({
|
|
2571
|
-
type:
|
|
2589
|
+
type: `plugin/${(_a = datasource == null ? void 0 : datasource.type) != null ? _a : "unknown"}`,
|
|
2572
2590
|
origin: scopedVars.__sceneObject.value.valueOf()
|
|
2573
2591
|
})
|
|
2574
2592
|
).subscribe(() => {
|
|
@@ -2910,7 +2928,7 @@ function VariableValueSelect({ model, state }) {
|
|
|
2910
2928
|
"data-testid": e2eSelectors.selectors.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts(`${value}`),
|
|
2911
2929
|
onChange: (newValue) => {
|
|
2912
2930
|
model.changeValueTo(newValue.value, newValue.label, true);
|
|
2913
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
2931
|
+
queryController == null ? void 0 : queryController.startProfile(VARIABLE_VALUE_CHANGED_INTERACTION);
|
|
2914
2932
|
if (hasCustomValue !== newValue.__isNew__) {
|
|
2915
2933
|
setHasCustomValue(newValue.__isNew__);
|
|
2916
2934
|
}
|
|
@@ -2983,7 +3001,7 @@ function VariableValueSelectMulti({
|
|
|
2983
3001
|
onInputChange,
|
|
2984
3002
|
onBlur: () => {
|
|
2985
3003
|
model.changeValueTo(uncommittedValue, void 0, true);
|
|
2986
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
3004
|
+
queryController == null ? void 0 : queryController.startProfile(VARIABLE_VALUE_CHANGED_INTERACTION);
|
|
2987
3005
|
},
|
|
2988
3006
|
filterOption: filterNoOp$2,
|
|
2989
3007
|
"data-testid": e2eSelectors.selectors.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts(`${uncommittedValue}`),
|
|
@@ -4626,6 +4644,14 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4626
4644
|
valueLabels.push((_a2 = item.label) != null ? _a2 : item.value);
|
|
4627
4645
|
values.push(item.value);
|
|
4628
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
|
+
}
|
|
4629
4655
|
model2._updateFilter(filter2, { valueLabels, values, value: values[0] });
|
|
4630
4656
|
setFilterMultiValues([]);
|
|
4631
4657
|
}
|
|
@@ -4778,6 +4804,10 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4778
4804
|
return;
|
|
4779
4805
|
}
|
|
4780
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
|
+
}
|
|
4781
4811
|
model._handleComboboxBackspace(filter);
|
|
4782
4812
|
if (isAlwaysWip) {
|
|
4783
4813
|
handleResetWip();
|
|
@@ -4842,16 +4872,18 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
4842
4872
|
handleLocalMultiValueChange(selectedItem);
|
|
4843
4873
|
setInputValue("");
|
|
4844
4874
|
} else {
|
|
4845
|
-
|
|
4875
|
+
const payload = generateFilterUpdatePayload({
|
|
4876
|
+
filterInputType,
|
|
4877
|
+
item: selectedItem,
|
|
4846
4878
|
filter,
|
|
4847
|
-
|
|
4848
|
-
|
|
4849
|
-
|
|
4850
|
-
|
|
4851
|
-
|
|
4852
|
-
|
|
4853
|
-
|
|
4854
|
-
);
|
|
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);
|
|
4855
4887
|
populateInputValueOnInputTypeSwitch({
|
|
4856
4888
|
populateInputOnEdit,
|
|
4857
4889
|
item: selectedItem,
|
|
@@ -5099,16 +5131,18 @@ const AdHocCombobox = React.forwardRef(function AdHocCombobox2({ filter, model,
|
|
|
5099
5131
|
setInputValue("");
|
|
5100
5132
|
(_a3 = refs.domReference.current) == null ? void 0 : _a3.focus();
|
|
5101
5133
|
} else {
|
|
5102
|
-
|
|
5134
|
+
const payload = generateFilterUpdatePayload({
|
|
5135
|
+
filterInputType,
|
|
5136
|
+
item,
|
|
5103
5137
|
filter,
|
|
5104
|
-
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5111
|
-
);
|
|
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);
|
|
5112
5146
|
populateInputValueOnInputTypeSwitch({
|
|
5113
5147
|
populateInputOnEdit,
|
|
5114
5148
|
item,
|
|
@@ -5834,6 +5868,8 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5834
5868
|
original.valueLabels = originalFilter == null ? void 0 : originalFilter.value;
|
|
5835
5869
|
original.operator = originalFilter == null ? void 0 : originalFilter.operator;
|
|
5836
5870
|
original.nonApplicable = originalFilter == null ? void 0 : originalFilter.nonApplicable;
|
|
5871
|
+
const queryController = getQueryController(this);
|
|
5872
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_RESTORED_INTERACTION);
|
|
5837
5873
|
this._updateFilter(filter, original);
|
|
5838
5874
|
}
|
|
5839
5875
|
}
|
|
@@ -5890,6 +5926,8 @@ class AdHocFiltersVariable extends SceneObjectBase {
|
|
|
5890
5926
|
this.setState({ _wip: void 0 });
|
|
5891
5927
|
return;
|
|
5892
5928
|
}
|
|
5929
|
+
const queryController = getQueryController(this);
|
|
5930
|
+
queryController == null ? void 0 : queryController.startProfile(FILTER_REMOVED_INTERACTION);
|
|
5893
5931
|
this._setStateWithFiltersApplicabilityCheck({
|
|
5894
5932
|
filters: this.state.filters.filter((f) => f !== filter),
|
|
5895
5933
|
originFilters: this.state.originFilters
|
|
@@ -7532,6 +7570,8 @@ class ScopesVariable extends SceneObjectBase {
|
|
|
7532
7570
|
const newScopes = state.value.map((scope) => scope.metadata.name);
|
|
7533
7571
|
const scopesHaveChanged = !lodash.isEqual(oldScopes, newScopes);
|
|
7534
7572
|
if (!loading && (scopesHaveChanged || newScopes.length === 0)) {
|
|
7573
|
+
const queryController = getQueryController(this);
|
|
7574
|
+
queryController == null ? void 0 : queryController.startProfile(SCOPES_CHANGED_INTERACTION);
|
|
7535
7575
|
this.setState({ scopes: state.value, loading });
|
|
7536
7576
|
this.publishEvent(new SceneVariableValueChangedEvent(this), true);
|
|
7537
7577
|
} else {
|
|
@@ -8648,7 +8688,7 @@ class VizPanel extends SceneObjectBase {
|
|
|
8648
8688
|
const panelPromise = importPanelPlugin(pluginId);
|
|
8649
8689
|
const queryControler = sceneGraph.getQueryController(this);
|
|
8650
8690
|
if (queryControler && queryControler.state.enableProfiling) {
|
|
8651
|
-
wrapPromiseInStateObservable(panelPromise).pipe(registerQueryWithController({ type:
|
|
8691
|
+
wrapPromiseInStateObservable(panelPromise).pipe(registerQueryWithController({ type: `plugin/${pluginId}`, origin: this })).subscribe(() => {
|
|
8652
8692
|
});
|
|
8653
8693
|
}
|
|
8654
8694
|
const result = await panelPromise;
|
|
@@ -12015,7 +12055,7 @@ class SceneRefreshPicker extends SceneObjectBase {
|
|
|
12015
12055
|
this._autoRefreshBlocked = false;
|
|
12016
12056
|
this.onRefresh = () => {
|
|
12017
12057
|
const queryController = sceneGraph.getQueryController(this);
|
|
12018
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
12058
|
+
queryController == null ? void 0 : queryController.startProfile(REFRESH_INTERACTION);
|
|
12019
12059
|
if (queryController == null ? void 0 : queryController.state.isRunning) {
|
|
12020
12060
|
queryController.cancelAll();
|
|
12021
12061
|
return;
|
|
@@ -12072,7 +12112,7 @@ class SceneRefreshPicker extends SceneObjectBase {
|
|
|
12072
12112
|
this._intervalTimer = setInterval(() => {
|
|
12073
12113
|
if (this.isTabVisible()) {
|
|
12074
12114
|
const queryController = sceneGraph.getQueryController(this);
|
|
12075
|
-
queryController == null ? void 0 : queryController.startProfile(
|
|
12115
|
+
queryController == null ? void 0 : queryController.startProfile(REFRESH_INTERACTION);
|
|
12076
12116
|
timeRange.onRefresh();
|
|
12077
12117
|
} else {
|
|
12078
12118
|
this._autoRefreshBlocked = true;
|