@grafana/scenes 0.17.2 → 0.18.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
@@ -75,8 +75,8 @@ function renderSceneComponentWithRouteProps(sceneObject, routeProps) {
75
75
  }
76
76
 
77
77
  var __defProp$q = Object.defineProperty;
78
- var __defProps$f = Object.defineProperties;
79
- var __getOwnPropDescs$f = Object.getOwnPropertyDescriptors;
78
+ var __defProps$e = Object.defineProperties;
79
+ var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
80
80
  var __getOwnPropSymbols$r = Object.getOwnPropertySymbols;
81
81
  var __hasOwnProp$r = Object.prototype.hasOwnProperty;
82
82
  var __propIsEnum$r = Object.prototype.propertyIsEnumerable;
@@ -92,13 +92,13 @@ var __spreadValues$q = (a, b) => {
92
92
  }
93
93
  return a;
94
94
  };
95
- var __spreadProps$f = (a, b) => __defProps$f(a, __getOwnPropDescs$f(b));
95
+ var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
96
96
  const runtimePanelPlugins = /* @__PURE__ */ new Map();
97
97
  function registerRuntimePanelPlugin({ pluginId, plugin }) {
98
98
  if (runtimePanelPlugins.has(pluginId)) {
99
99
  throw new Error(`A runtime panel plugin with id ${pluginId} has already been registered`);
100
100
  }
101
- plugin.meta = __spreadProps$f(__spreadValues$q({}, plugin.meta), {
101
+ plugin.meta = __spreadProps$e(__spreadValues$q({}, plugin.meta), {
102
102
  id: pluginId,
103
103
  name: pluginId,
104
104
  module: "runtime plugin",
@@ -126,6 +126,51 @@ function loadPanelPluginSync(pluginId) {
126
126
  return (_a = getPanelPluginFromCache(pluginId)) != null ? _a : runtimePanelPlugins.get(pluginId);
127
127
  }
128
128
 
129
+ class RuntimeDataSource extends data.DataSourceApi {
130
+ constructor(pluginId, uid) {
131
+ super({
132
+ name: "RuntimeDataSource-" + pluginId,
133
+ uid,
134
+ type: pluginId,
135
+ id: 1,
136
+ readOnly: true,
137
+ jsonData: {},
138
+ access: "direct",
139
+ meta: {
140
+ id: pluginId,
141
+ name: "RuntimeDataSource-" + pluginId,
142
+ type: data.PluginType.datasource,
143
+ info: {
144
+ author: {
145
+ name: ""
146
+ },
147
+ description: "",
148
+ links: [],
149
+ logos: {
150
+ large: "",
151
+ small: ""
152
+ },
153
+ screenshots: [],
154
+ updated: "",
155
+ version: ""
156
+ },
157
+ module: "",
158
+ baseUrl: ""
159
+ }
160
+ });
161
+ }
162
+ testDatasource() {
163
+ return Promise.resolve({});
164
+ }
165
+ }
166
+ const runtimeDataSources = /* @__PURE__ */ new Map();
167
+ function registerRuntimeDataSource({ dataSource }) {
168
+ if (runtimeDataSources.has(dataSource.uid)) {
169
+ throw new Error(`A runtime data source with uid ${dataSource.uid} has already been registered`);
170
+ }
171
+ runtimeDataSources.set(dataSource.uid, dataSource);
172
+ }
173
+
129
174
  function isSceneObject(obj) {
130
175
  return obj.useState !== void 0;
131
176
  }
@@ -153,8 +198,8 @@ function lookupVariable(name, sceneObject) {
153
198
  }
154
199
 
155
200
  var __defProp$p = Object.defineProperty;
156
- var __defProps$e = Object.defineProperties;
157
- var __getOwnPropDescs$e = Object.getOwnPropertyDescriptors;
201
+ var __defProps$d = Object.defineProperties;
202
+ var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
158
203
  var __getOwnPropSymbols$q = Object.getOwnPropertySymbols;
159
204
  var __hasOwnProp$q = Object.prototype.hasOwnProperty;
160
205
  var __propIsEnum$q = Object.prototype.propertyIsEnumerable;
@@ -170,7 +215,7 @@ var __spreadValues$p = (a, b) => {
170
215
  }
171
216
  return a;
172
217
  };
173
- var __spreadProps$e = (a, b) => __defProps$e(a, __getOwnPropDescs$e(b));
218
+ var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
174
219
  var __objRest$2 = (source, exclude) => {
175
220
  var target = {};
176
221
  for (var prop in source)
@@ -195,7 +240,7 @@ function SceneComponentWrapperWithoutMemo(_a) {
195
240
  if (!activated) {
196
241
  return null;
197
242
  }
198
- return /* @__PURE__ */ React__default["default"].createElement(Component, __spreadProps$e(__spreadValues$p({}, otherProps), {
243
+ return /* @__PURE__ */ React__default["default"].createElement(Component, __spreadProps$d(__spreadValues$p({}, otherProps), {
199
244
  model
200
245
  }));
201
246
  }
@@ -1086,8 +1131,8 @@ function collectAllVariables(sceneObject, record = {}) {
1086
1131
  }
1087
1132
 
1088
1133
  var __defProp$k = Object.defineProperty;
1089
- var __defProps$d = Object.defineProperties;
1090
- var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
1134
+ var __defProps$c = Object.defineProperties;
1135
+ var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
1091
1136
  var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
1092
1137
  var __hasOwnProp$l = Object.prototype.hasOwnProperty;
1093
1138
  var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
@@ -1103,7 +1148,7 @@ var __spreadValues$k = (a, b) => {
1103
1148
  }
1104
1149
  return a;
1105
1150
  };
1106
- var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
1151
+ var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
1107
1152
  function getTemplateProxyForField(field, frame, frames) {
1108
1153
  return new Proxy(
1109
1154
  {},
@@ -1119,7 +1164,7 @@ function getTemplateProxyForField(field, frame, frames) {
1119
1164
  if (!field.labels) {
1120
1165
  return "";
1121
1166
  }
1122
- return __spreadProps$d(__spreadValues$k({}, field.labels), {
1167
+ return __spreadProps$c(__spreadValues$k({}, field.labels), {
1123
1168
  __values: Object.values(field.labels).sort().join(", "),
1124
1169
  toString: () => {
1125
1170
  return data.formatLabels(field.labels, "", true);
@@ -1596,8 +1641,8 @@ var index = /*#__PURE__*/Object.freeze({
1596
1641
  });
1597
1642
 
1598
1643
  var __defProp$j = Object.defineProperty;
1599
- var __defProps$c = Object.defineProperties;
1600
- var __getOwnPropDescs$c = Object.getOwnPropertyDescriptors;
1644
+ var __defProps$b = Object.defineProperties;
1645
+ var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
1601
1646
  var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
1602
1647
  var __hasOwnProp$k = Object.prototype.hasOwnProperty;
1603
1648
  var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
@@ -1613,10 +1658,10 @@ var __spreadValues$j = (a, b) => {
1613
1658
  }
1614
1659
  return a;
1615
1660
  };
1616
- var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
1661
+ var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
1617
1662
  class SceneTimeZoneOverride extends SceneObjectBase {
1618
1663
  constructor(state) {
1619
- super(__spreadProps$c(__spreadValues$j({}, state), {
1664
+ super(__spreadProps$b(__spreadValues$j({}, state), {
1620
1665
  timeZone: state.timeZone,
1621
1666
  from: "now-6h",
1622
1667
  to: "now",
@@ -1665,6 +1710,12 @@ class SceneTimeZoneOverride extends SceneObjectBase {
1665
1710
  }
1666
1711
 
1667
1712
  async function getDataSource(datasource, scopedVars) {
1713
+ if (datasource == null ? void 0 : datasource.uid) {
1714
+ const runtimeDataSource = runtimeDataSources.get(datasource.uid);
1715
+ if (runtimeDataSource) {
1716
+ return runtimeDataSource;
1717
+ }
1718
+ }
1668
1719
  if (datasource && datasource.query) {
1669
1720
  return datasource;
1670
1721
  }
@@ -1736,8 +1787,8 @@ class VariableValueRecorder {
1736
1787
  }
1737
1788
 
1738
1789
  var __defProp$i = Object.defineProperty;
1739
- var __defProps$b = Object.defineProperties;
1740
- var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
1790
+ var __defProps$a = Object.defineProperties;
1791
+ var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
1741
1792
  var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
1742
1793
  var __hasOwnProp$j = Object.prototype.hasOwnProperty;
1743
1794
  var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
@@ -1753,7 +1804,7 @@ var __spreadValues$i = (a, b) => {
1753
1804
  }
1754
1805
  return a;
1755
1806
  };
1756
- var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
1807
+ var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
1757
1808
  let counter = 100;
1758
1809
  function getNextRequestId() {
1759
1810
  return "SQR" + counter++;
@@ -1865,7 +1916,7 @@ class SceneQueryRunner extends SceneObjectBase {
1865
1916
  var _a;
1866
1917
  (_a = this._querySub) == null ? void 0 : _a.unsubscribe();
1867
1918
  this.setState({
1868
- data: __spreadProps$b(__spreadValues$i({}, this.state.data), { state: schema.LoadingState.Done })
1919
+ data: __spreadProps$a(__spreadValues$i({}, this.state.data), { state: schema.LoadingState.Done })
1869
1920
  });
1870
1921
  }
1871
1922
  async runWithTimeRange(timeRange) {
@@ -1898,7 +1949,8 @@ class SceneQueryRunner extends SceneObjectBase {
1898
1949
  targets: lodash.cloneDeep(queries),
1899
1950
  maxDataPoints: this.getMaxDataPoints(),
1900
1951
  scopedVars: sceneObjectScopedVar,
1901
- startTime: Date.now()
1952
+ startTime: Date.now(),
1953
+ liveStreaming: this.state.liveStreaming
1902
1954
  };
1903
1955
  try {
1904
1956
  const datasource = (_b = this.state.datasource) != null ? _b : findFirstDatasource(request.targets);
@@ -1936,8 +1988,8 @@ function findFirstDatasource(targets) {
1936
1988
  }
1937
1989
 
1938
1990
  var __defProp$h = Object.defineProperty;
1939
- var __defProps$a = Object.defineProperties;
1940
- var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
1991
+ var __defProps$9 = Object.defineProperties;
1992
+ var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
1941
1993
  var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
1942
1994
  var __hasOwnProp$i = Object.prototype.hasOwnProperty;
1943
1995
  var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
@@ -1953,7 +2005,7 @@ var __spreadValues$h = (a, b) => {
1953
2005
  }
1954
2006
  return a;
1955
2007
  };
1956
- var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
2008
+ var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
1957
2009
  class SceneDataTransformer extends SceneObjectBase {
1958
2010
  constructor(state) {
1959
2011
  super(state);
@@ -2021,7 +2073,7 @@ class SceneDataTransformer extends SceneObjectBase {
2021
2073
  return sceneGraph.interpolate(this, value, (_a = data$1.request) == null ? void 0 : _a.scopedVars);
2022
2074
  }
2023
2075
  };
2024
- this._transformSub = data.transformDataFrame(transformations, data$1.series, ctx).pipe(rxjs.map((series) => __spreadProps$a(__spreadValues$h({}, data$1), { series }))).subscribe((data2) => this.setState({ data: data2 }));
2076
+ this._transformSub = data.transformDataFrame(transformations, data$1.series, ctx).pipe(rxjs.map((series) => __spreadProps$9(__spreadValues$h({}, data$1), { series }))).subscribe((data2) => this.setState({ data: data2 }));
2025
2077
  }
2026
2078
  }
2027
2079
 
@@ -2299,8 +2351,8 @@ function writeVariableTraceLog(variable, message, err) {
2299
2351
  }
2300
2352
 
2301
2353
  var __defProp$g = Object.defineProperty;
2302
- var __defProps$9 = Object.defineProperties;
2303
- var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
2354
+ var __defProps$8 = Object.defineProperties;
2355
+ var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
2304
2356
  var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
2305
2357
  var __hasOwnProp$h = Object.prototype.hasOwnProperty;
2306
2358
  var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
@@ -2316,10 +2368,10 @@ var __spreadValues$g = (a, b) => {
2316
2368
  }
2317
2369
  return a;
2318
2370
  };
2319
- var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
2371
+ var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
2320
2372
  class ConstantVariable extends SceneObjectBase {
2321
2373
  constructor(initialState) {
2322
- super(__spreadProps$9(__spreadValues$g({
2374
+ super(__spreadProps$8(__spreadValues$g({
2323
2375
  type: "constant",
2324
2376
  value: "",
2325
2377
  name: ""
@@ -2726,8 +2778,8 @@ const hasCustomVariableSupport = (datasource) => {
2726
2778
  };
2727
2779
 
2728
2780
  var __defProp$d = Object.defineProperty;
2729
- var __defProps$8 = Object.defineProperties;
2730
- var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
2781
+ var __defProps$7 = Object.defineProperties;
2782
+ var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
2731
2783
  var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
2732
2784
  var __hasOwnProp$e = Object.prototype.hasOwnProperty;
2733
2785
  var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
@@ -2743,7 +2795,7 @@ var __spreadValues$d = (a, b) => {
2743
2795
  }
2744
2796
  return a;
2745
2797
  };
2746
- var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
2798
+ var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
2747
2799
  class StandardQueryRunner {
2748
2800
  constructor(datasource, _runRequest = runtime.getRunRequest()) {
2749
2801
  this.datasource = datasource;
@@ -2780,7 +2832,7 @@ class LegacyQueryRunner {
2780
2832
  return getEmptyMetricFindValueObservable();
2781
2833
  }
2782
2834
  return rxjs.from(
2783
- this.datasource.metricFindQuery(variable.state.query, __spreadProps$8(__spreadValues$d({}, request), {
2835
+ this.datasource.metricFindQuery(variable.state.query, __spreadProps$7(__spreadValues$d({}, request), {
2784
2836
  variable: {
2785
2837
  name: variable.state.name,
2786
2838
  type: variable.state.type
@@ -3653,8 +3705,8 @@ function getChromeStatusMessage(data, pluginLoadingError) {
3653
3705
  }
3654
3706
 
3655
3707
  var __defProp$9 = Object.defineProperty;
3656
- var __defProps$7 = Object.defineProperties;
3657
- var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
3708
+ var __defProps$6 = Object.defineProperties;
3709
+ var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
3658
3710
  var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
3659
3711
  var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
3660
3712
  var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
@@ -3670,7 +3722,7 @@ var __spreadValues$9 = (a, b) => {
3670
3722
  }
3671
3723
  return a;
3672
3724
  };
3673
- var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
3725
+ var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
3674
3726
  const displayOverrideRef = "hideSeriesFrom";
3675
3727
  const isHideSeriesOverride = data.isSystemOverrideWithRef(displayOverrideRef);
3676
3728
  function seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {
@@ -3680,13 +3732,13 @@ function seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {
3680
3732
  if (currentIndex < 0) {
3681
3733
  if (mode === ui.SeriesVisibilityChangeMode.ToggleSelection) {
3682
3734
  const override3 = createOverride$1([displayName, ...getNamesOfHiddenFields(overrides, data)]);
3683
- return __spreadProps$7(__spreadValues$9({}, fieldConfig), {
3735
+ return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
3684
3736
  overrides: [...fieldConfig.overrides, override3]
3685
3737
  });
3686
3738
  }
3687
3739
  const displayNames = getDisplayNames(data, displayName);
3688
3740
  const override2 = createOverride$1(displayNames);
3689
- return __spreadProps$7(__spreadValues$9({}, fieldConfig), {
3741
+ return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
3690
3742
  overrides: [...fieldConfig.overrides, override2]
3691
3743
  });
3692
3744
  }
@@ -3699,22 +3751,22 @@ function seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {
3699
3751
  existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);
3700
3752
  }
3701
3753
  if (existing[0] === displayName && existing.length === 1) {
3702
- return __spreadProps$7(__spreadValues$9({}, fieldConfig), {
3754
+ return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
3703
3755
  overrides: overridesCopy
3704
3756
  });
3705
3757
  }
3706
3758
  const override2 = createOverride$1([displayName, ...nameOfHiddenFields]);
3707
- return __spreadProps$7(__spreadValues$9({}, fieldConfig), {
3759
+ return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
3708
3760
  overrides: [...overridesCopy, override2]
3709
3761
  });
3710
3762
  }
3711
3763
  const override = createExtendedOverride(current, displayName);
3712
3764
  if (allFieldsAreExcluded(override, data)) {
3713
- return __spreadProps$7(__spreadValues$9({}, fieldConfig), {
3765
+ return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
3714
3766
  overrides: overridesCopy
3715
3767
  });
3716
3768
  }
3717
- return __spreadProps$7(__spreadValues$9({}, fieldConfig), {
3769
+ return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
3718
3770
  overrides: [...overridesCopy, override]
3719
3771
  });
3720
3772
  }
@@ -3739,7 +3791,7 @@ function createOverride$1(names, mode = data.ByNamesMatcherMode.exclude, propert
3739
3791
  }
3740
3792
  },
3741
3793
  properties: [
3742
- __spreadProps$7(__spreadValues$9({}, property), {
3794
+ __spreadProps$6(__spreadValues$9({}, property), {
3743
3795
  value: {
3744
3796
  viz: true,
3745
3797
  legend: false,
@@ -3812,8 +3864,8 @@ const getNamesOfHiddenFields = (overrides, data$1) => {
3812
3864
  };
3813
3865
 
3814
3866
  var __defProp$8 = Object.defineProperty;
3815
- var __defProps$6 = Object.defineProperties;
3816
- var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
3867
+ var __defProps$5 = Object.defineProperties;
3868
+ var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
3817
3869
  var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
3818
3870
  var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
3819
3871
  var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
@@ -3829,14 +3881,14 @@ var __spreadValues$8 = (a, b) => {
3829
3881
  }
3830
3882
  return a;
3831
3883
  };
3832
- var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
3884
+ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
3833
3885
  const changeSeriesColorConfigFactory = (label, color, fieldConfig) => {
3834
3886
  const { overrides } = fieldConfig;
3835
3887
  const currentIndex = fieldConfig.overrides.findIndex((override) => {
3836
3888
  return override.matcher.id === data.FieldMatcherID.byName && override.matcher.options === label;
3837
3889
  });
3838
3890
  if (currentIndex < 0) {
3839
- return __spreadProps$6(__spreadValues$8({}, fieldConfig), {
3891
+ return __spreadProps$5(__spreadValues$8({}, fieldConfig), {
3840
3892
  overrides: [...fieldConfig.overrides, createOverride(label, color)]
3841
3893
  });
3842
3894
  }
@@ -3844,19 +3896,19 @@ const changeSeriesColorConfigFactory = (label, color, fieldConfig) => {
3844
3896
  const existing = overridesCopy[currentIndex];
3845
3897
  const propertyIndex = existing.properties.findIndex((p) => p.id === "color");
3846
3898
  if (propertyIndex < 0) {
3847
- overridesCopy[currentIndex] = __spreadProps$6(__spreadValues$8({}, existing), {
3899
+ overridesCopy[currentIndex] = __spreadProps$5(__spreadValues$8({}, existing), {
3848
3900
  properties: [...existing.properties, createProperty(color)]
3849
3901
  });
3850
- return __spreadProps$6(__spreadValues$8({}, fieldConfig), {
3902
+ return __spreadProps$5(__spreadValues$8({}, fieldConfig), {
3851
3903
  overrides: overridesCopy
3852
3904
  });
3853
3905
  }
3854
3906
  const propertiesCopy = Array.from(existing.properties);
3855
3907
  propertiesCopy[propertyIndex] = createProperty(color);
3856
- overridesCopy[currentIndex] = __spreadProps$6(__spreadValues$8({}, existing), {
3908
+ overridesCopy[currentIndex] = __spreadProps$5(__spreadValues$8({}, existing), {
3857
3909
  properties: propertiesCopy
3858
3910
  });
3859
- return __spreadProps$6(__spreadValues$8({}, fieldConfig), {
3911
+ return __spreadProps$5(__spreadValues$8({}, fieldConfig), {
3860
3912
  overrides: overridesCopy
3861
3913
  });
3862
3914
  };
@@ -3880,8 +3932,8 @@ const createProperty = (color) => {
3880
3932
  };
3881
3933
 
3882
3934
  var __defProp$7 = Object.defineProperty;
3883
- var __defProps$5 = Object.defineProperties;
3884
- var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
3935
+ var __defProps$4 = Object.defineProperties;
3936
+ var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
3885
3937
  var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
3886
3938
  var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
3887
3939
  var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
@@ -3897,7 +3949,7 @@ var __spreadValues$7 = (a, b) => {
3897
3949
  }
3898
3950
  return a;
3899
3951
  };
3900
- var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
3952
+ var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
3901
3953
  class VizPanel extends SceneObjectBase {
3902
3954
  constructor(state) {
3903
3955
  super(__spreadValues$7({
@@ -3966,8 +4018,8 @@ class VizPanel extends SceneObjectBase {
3966
4018
  sortDesc = !sortDesc;
3967
4019
  sortBy = sortKey;
3968
4020
  }
3969
- this.onOptionsChange(__spreadProps$5(__spreadValues$7({}, this.state.options), {
3970
- legend: __spreadProps$5(__spreadValues$7({}, legendOptions), { sortBy, sortDesc })
4021
+ this.onOptionsChange(__spreadProps$4(__spreadValues$7({}, this.state.options), {
4022
+ legend: __spreadProps$4(__spreadValues$7({}, legendOptions), { sortBy, sortDesc })
3971
4023
  }));
3972
4024
  };
3973
4025
  this._panelContext = {
@@ -4049,7 +4101,7 @@ class VizPanel extends SceneObjectBase {
4049
4101
  if (rawData.structureRev == null && newFrames && prevFrames && !data.compareArrayValues(newFrames, prevFrames, data.compareDataFrameStructures)) {
4050
4102
  this._structureRev++;
4051
4103
  }
4052
- this._dataWithFieldConfig = __spreadProps$5(__spreadValues$7({}, rawData), {
4104
+ this._dataWithFieldConfig = __spreadProps$4(__spreadValues$7({}, rawData), {
4053
4105
  structureRev: this._structureRev,
4054
4106
  series: data.applyFieldOverrides({
4055
4107
  data: newFrames,
@@ -4267,8 +4319,8 @@ function SceneTimePickerRenderer({ model }) {
4267
4319
  }
4268
4320
 
4269
4321
  var __defProp$6 = Object.defineProperty;
4270
- var __defProps$4 = Object.defineProperties;
4271
- var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
4322
+ var __defProps$3 = Object.defineProperties;
4323
+ var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
4272
4324
  var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
4273
4325
  var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
4274
4326
  var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
@@ -4284,12 +4336,12 @@ var __spreadValues$6 = (a, b) => {
4284
4336
  }
4285
4337
  return a;
4286
4338
  };
4287
- var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
4339
+ var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
4288
4340
  const DEFAULT_INTERVALS = ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"];
4289
4341
  class SceneRefreshPicker extends SceneObjectBase {
4290
4342
  constructor(state) {
4291
4343
  var _a;
4292
- super(__spreadProps$4(__spreadValues$6({
4344
+ super(__spreadProps$3(__spreadValues$6({
4293
4345
  refresh: ""
4294
4346
  }, state), {
4295
4347
  intervals: (_a = state.intervals) != null ? _a : DEFAULT_INTERVALS
@@ -4531,8 +4583,6 @@ const GRID_CELL_VMARGIN = 8;
4531
4583
  const GRID_COLUMN_COUNT = 24;
4532
4584
 
4533
4585
  var __defProp$5 = Object.defineProperty;
4534
- var __defProps$3 = Object.defineProperties;
4535
- var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
4536
4586
  var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
4537
4587
  var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
4538
4588
  var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
@@ -4548,7 +4598,6 @@ var __spreadValues$5 = (a, b) => {
4548
4598
  }
4549
4599
  return a;
4550
4600
  };
4551
- var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
4552
4601
  var __objRest = (source, exclude) => {
4553
4602
  var target = {};
4554
4603
  for (var prop in source)
@@ -4567,39 +4616,42 @@ function useUniqueId() {
4567
4616
  (_a = idRefLazy.current) != null ? _a : idRefLazy.current = lodash.uniqueId();
4568
4617
  return idRefLazy.current;
4569
4618
  }
4570
- function LazyLoader(_a) {
4571
- var _b = _a, { children, width, height, onLoad, onChange, style } = _b, rest = __objRest(_b, ["children", "width", "height", "onLoad", "onChange", "style"]);
4572
- const id = useUniqueId();
4573
- const [loaded, setLoaded] = React.useState(false);
4574
- const [isInView, setIsInView] = React.useState(false);
4575
- const wrapperRef = React.useRef(null);
4576
- reactUse.useEffectOnce(() => {
4577
- LazyLoader.addCallback(id, (entry) => {
4578
- if (!loaded && entry.isIntersecting) {
4579
- setLoaded(true);
4580
- onLoad == null ? void 0 : onLoad();
4581
- }
4582
- setIsInView(entry.isIntersecting);
4583
- onChange == null ? void 0 : onChange(entry.isIntersecting);
4584
- });
4585
- const wrapperEl = wrapperRef.current;
4586
- if (wrapperEl) {
4587
- LazyLoader.observer.observe(wrapperEl);
4588
- }
4589
- return () => {
4590
- delete LazyLoader.callbacks[id];
4591
- wrapperEl && LazyLoader.observer.unobserve(wrapperEl);
4592
- if (Object.keys(LazyLoader.callbacks).length === 0) {
4593
- LazyLoader.observer.disconnect();
4619
+ const LazyLoader = React__default["default"].forwardRef(
4620
+ (_a, ref) => {
4621
+ var _b = _a, { children, onLoad, onChange } = _b, rest = __objRest(_b, ["children", "onLoad", "onChange"]);
4622
+ const id = useUniqueId();
4623
+ const [loaded, setLoaded] = React.useState(false);
4624
+ const [isInView, setIsInView] = React.useState(false);
4625
+ const innerRef = React.useRef(null);
4626
+ React.useImperativeHandle(ref, () => innerRef.current);
4627
+ reactUse.useEffectOnce(() => {
4628
+ LazyLoader.addCallback(id, (entry) => {
4629
+ if (!loaded && entry.isIntersecting) {
4630
+ setLoaded(true);
4631
+ onLoad == null ? void 0 : onLoad();
4632
+ }
4633
+ setIsInView(entry.isIntersecting);
4634
+ onChange == null ? void 0 : onChange(entry.isIntersecting);
4635
+ });
4636
+ const wrapperEl = innerRef.current;
4637
+ if (wrapperEl) {
4638
+ LazyLoader.observer.observe(wrapperEl);
4594
4639
  }
4595
- };
4596
- });
4597
- return /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$5({
4598
- id,
4599
- ref: wrapperRef,
4600
- style: __spreadProps$3(__spreadValues$5({}, style), { width, height })
4601
- }, rest), loaded && (typeof children === "function" ? children({ isInView }) : children));
4602
- }
4640
+ return () => {
4641
+ delete LazyLoader.callbacks[id];
4642
+ wrapperEl && LazyLoader.observer.unobserve(wrapperEl);
4643
+ if (Object.keys(LazyLoader.callbacks).length === 0) {
4644
+ LazyLoader.observer.disconnect();
4645
+ }
4646
+ };
4647
+ });
4648
+ return /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$5({
4649
+ id,
4650
+ ref: innerRef
4651
+ }, rest), loaded && (typeof children === "function" ? children({ isInView }) : children));
4652
+ }
4653
+ );
4654
+ LazyLoader.displayName = "LazyLoader";
4603
4655
  LazyLoader.callbacks = {};
4604
4656
  LazyLoader.addCallback = (id, c) => LazyLoader.callbacks[id] = c;
4605
4657
  LazyLoader.observer = new IntersectionObserver(
@@ -4612,10 +4664,7 @@ LazyLoader.observer = new IntersectionObserver(
4612
4664
  );
4613
4665
 
4614
4666
  function SceneGridLayoutRenderer({ model }) {
4615
- const { children, isLazy } = model.useState();
4616
- const LazyWrapper = isLazy ? LazyLoader : ({ style, children: children2 }) => /* @__PURE__ */ React__default["default"].createElement("div", {
4617
- style
4618
- }, children2);
4667
+ const { children, isLazy, isDraggable } = model.useState();
4619
4668
  validateChildrenSize(children);
4620
4669
  return /* @__PURE__ */ React__default["default"].createElement(AutoSizer__default["default"], {
4621
4670
  disableHeight: true
@@ -4624,12 +4673,11 @@ function SceneGridLayoutRenderer({ model }) {
4624
4673
  return null;
4625
4674
  }
4626
4675
  const layout = model.buildGridLayout(width);
4627
- const cellWidth = (width - (GRID_COLUMN_COUNT - 1) * GRID_CELL_VMARGIN) / GRID_COLUMN_COUNT;
4628
4676
  return /* @__PURE__ */ React__default["default"].createElement("div", {
4629
4677
  style: { width: `${width}px`, height: "100%" }
4630
4678
  }, /* @__PURE__ */ React__default["default"].createElement(ReactGridLayout__default["default"], {
4631
4679
  width,
4632
- isDraggable: width > 768,
4680
+ isDraggable: isDraggable && width > 768,
4633
4681
  isResizable: false,
4634
4682
  containerPadding: [0, 0],
4635
4683
  useCSSTransforms: false,
@@ -4644,21 +4692,18 @@ function SceneGridLayoutRenderer({ model }) {
4644
4692
  onLayoutChange: model.onLayoutChange,
4645
4693
  isBounded: false
4646
4694
  }, layout.map((gridItem) => {
4647
- var _a, _b;
4648
4695
  const sceneChild = model.getSceneLayoutChild(gridItem.i);
4649
- const pixelWidth = cellToPixelSize((_a = sceneChild.state.width) != null ? _a : 0, cellWidth, GRID_CELL_VMARGIN);
4650
- const pixelHeight = cellToPixelSize((_b = sceneChild.state.height) != null ? _b : 0, GRID_CELL_HEIGHT, GRID_CELL_VMARGIN);
4651
- return /* @__PURE__ */ React__default["default"].createElement("div", {
4652
- style: { display: "flex" },
4696
+ return isLazy ? /* @__PURE__ */ React__default["default"].createElement(LazyLoader, {
4653
4697
  key: sceneChild.state.key
4654
- }, /* @__PURE__ */ React__default["default"].createElement(LazyWrapper, {
4655
- width: pixelWidth,
4656
- height: pixelHeight,
4657
- style: { display: "flex" }
4658
4698
  }, /* @__PURE__ */ React__default["default"].createElement(sceneChild.Component, {
4659
4699
  model: sceneChild,
4660
4700
  key: sceneChild.state.key
4661
- })));
4701
+ })) : /* @__PURE__ */ React__default["default"].createElement("div", {
4702
+ key: sceneChild.state.key
4703
+ }, /* @__PURE__ */ React__default["default"].createElement(sceneChild.Component, {
4704
+ model: sceneChild,
4705
+ key: sceneChild.state.key
4706
+ }));
4662
4707
  })));
4663
4708
  });
4664
4709
  }
@@ -4669,9 +4714,6 @@ function validateChildrenSize(children) {
4669
4714
  throw new Error("All children must have a size specified");
4670
4715
  }
4671
4716
  }
4672
- function cellToPixelSize(sizeInCells, sizeOfCellInPx, margin = 0) {
4673
- return Math.max(Math.round(sizeInCells * (sizeOfCellInPx + margin) - margin), 0);
4674
- }
4675
4717
 
4676
4718
  function SceneDragHandle({ className, dragClass }) {
4677
4719
  return /* @__PURE__ */ React__default["default"].createElement("div", {
@@ -4737,8 +4779,10 @@ class SceneGridRow extends SceneObjectBase {
4737
4779
  return { rowc: this.state.isCollapsed ? "1" : "0" };
4738
4780
  }
4739
4781
  updateFromUrl(values) {
4740
- const isCollapsed = values.rowc === "1";
4741
- if (isCollapsed !== this.state.isCollapsed) {
4782
+ if (values.rowc == null) {
4783
+ return;
4784
+ }
4785
+ if (values.rowc !== this.getUrlState().rowc) {
4742
4786
  this.onCollapseToggle();
4743
4787
  }
4744
4788
  }
@@ -6088,7 +6132,8 @@ const PanelBuilders = {
6088
6132
 
6089
6133
  const sceneUtils = {
6090
6134
  getUrlWithAppState,
6091
- registerRuntimePanelPlugin
6135
+ registerRuntimePanelPlugin,
6136
+ registerRuntimeDataSource
6092
6137
  };
6093
6138
 
6094
6139
  exports.ConstantVariable = ConstantVariable;
@@ -6098,6 +6143,7 @@ exports.EmbeddedScene = EmbeddedScene;
6098
6143
  exports.NestedScene = NestedScene;
6099
6144
  exports.PanelBuilders = PanelBuilders;
6100
6145
  exports.QueryVariable = QueryVariable;
6146
+ exports.RuntimeDataSource = RuntimeDataSource;
6101
6147
  exports.SceneApp = SceneApp;
6102
6148
  exports.SceneAppPage = SceneAppPage;
6103
6149
  exports.SceneByFrameRepeater = SceneByFrameRepeater;
@@ -6135,6 +6181,7 @@ exports.formatRegistry = formatRegistry;
6135
6181
  exports.getUrlSyncManager = getUrlSyncManager;
6136
6182
  exports.isCustomVariableValue = isCustomVariableValue;
6137
6183
  exports.isSceneObject = isSceneObject;
6184
+ exports.registerRuntimeDataSource = registerRuntimeDataSource;
6138
6185
  exports.sceneGraph = sceneGraph;
6139
6186
  exports.sceneUtils = sceneUtils;
6140
6187
  //# sourceMappingURL=index.js.map