@grafana/scenes 0.0.12 → 0.0.13

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
@@ -15,6 +15,7 @@ var reactUse = require('react-use');
15
15
  var experimental = require('@grafana/experimental');
16
16
  var ReactGridLayout = require('react-grid-layout');
17
17
  var AutoSizer = require('react-virtualized-auto-sizer');
18
+ var reactRouterDom = require('react-router-dom');
18
19
 
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
21
 
@@ -30,21 +31,21 @@ class SceneObjectStateChangedEvent extends data.BusEventWithPayload {
30
31
  }
31
32
  SceneObjectStateChangedEvent.type = "scene-object-state-change";
32
33
 
33
- var __defProp$e = Object.defineProperty;
34
+ var __defProp$f = Object.defineProperty;
34
35
  var __defProps$5 = Object.defineProperties;
35
36
  var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
36
- var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
37
- var __hasOwnProp$e = Object.prototype.hasOwnProperty;
38
- var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
39
- var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
40
- var __spreadValues$e = (a, b) => {
37
+ var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
38
+ var __hasOwnProp$f = Object.prototype.hasOwnProperty;
39
+ var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
40
+ var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
41
+ var __spreadValues$f = (a, b) => {
41
42
  for (var prop in b || (b = {}))
42
- if (__hasOwnProp$e.call(b, prop))
43
- __defNormalProp$e(a, prop, b[prop]);
44
- if (__getOwnPropSymbols$e)
45
- for (var prop of __getOwnPropSymbols$e(b)) {
46
- if (__propIsEnum$e.call(b, prop))
47
- __defNormalProp$e(a, prop, b[prop]);
43
+ if (__hasOwnProp$f.call(b, prop))
44
+ __defNormalProp$f(a, prop, b[prop]);
45
+ if (__getOwnPropSymbols$f)
46
+ for (var prop of __getOwnPropSymbols$f(b)) {
47
+ if (__propIsEnum$f.call(b, prop))
48
+ __defNormalProp$f(a, prop, b[prop]);
48
49
  }
49
50
  return a;
50
51
  };
@@ -52,11 +53,11 @@ var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
52
53
  var __objRest = (source, exclude) => {
53
54
  var target = {};
54
55
  for (var prop in source)
55
- if (__hasOwnProp$e.call(source, prop) && exclude.indexOf(prop) < 0)
56
+ if (__hasOwnProp$f.call(source, prop) && exclude.indexOf(prop) < 0)
56
57
  target[prop] = source[prop];
57
- if (source != null && __getOwnPropSymbols$e)
58
- for (var prop of __getOwnPropSymbols$e(source)) {
59
- if (exclude.indexOf(prop) < 0 && __propIsEnum$e.call(source, prop))
58
+ if (source != null && __getOwnPropSymbols$f)
59
+ for (var prop of __getOwnPropSymbols$f(source)) {
60
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$f.call(source, prop))
60
61
  target[prop] = source[prop];
61
62
  }
62
63
  return target;
@@ -71,7 +72,7 @@ function SceneComponentWrapper(_a) {
71
72
  ]);
72
73
  var _a2;
73
74
  const Component = (_a2 = model.constructor["Component"]) != null ? _a2 : EmptyRenderer;
74
- const inner = /* @__PURE__ */ React__default["default"].createElement(Component, __spreadProps$5(__spreadValues$e({}, otherProps), {
75
+ const inner = /* @__PURE__ */ React__default["default"].createElement(Component, __spreadProps$5(__spreadValues$f({}, otherProps), {
75
76
  model,
76
77
  isEditing
77
78
  }));
@@ -110,19 +111,19 @@ function getSceneEditor$1(sceneObject) {
110
111
  throw new Error("No editor found in scene tree");
111
112
  }
112
113
 
113
- var __defProp$d = Object.defineProperty;
114
- var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
115
- var __hasOwnProp$d = Object.prototype.hasOwnProperty;
116
- var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
117
- var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
118
- var __spreadValues$d = (a, b) => {
114
+ var __defProp$e = Object.defineProperty;
115
+ var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
116
+ var __hasOwnProp$e = Object.prototype.hasOwnProperty;
117
+ var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
118
+ var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
119
+ var __spreadValues$e = (a, b) => {
119
120
  for (var prop in b || (b = {}))
120
- if (__hasOwnProp$d.call(b, prop))
121
- __defNormalProp$d(a, prop, b[prop]);
122
- if (__getOwnPropSymbols$d)
123
- for (var prop of __getOwnPropSymbols$d(b)) {
124
- if (__propIsEnum$d.call(b, prop))
125
- __defNormalProp$d(a, prop, b[prop]);
121
+ if (__hasOwnProp$e.call(b, prop))
122
+ __defNormalProp$e(a, prop, b[prop]);
123
+ if (__getOwnPropSymbols$e)
124
+ for (var prop of __getOwnPropSymbols$e(b)) {
125
+ if (__propIsEnum$e.call(b, prop))
126
+ __defNormalProp$e(a, prop, b[prop]);
126
127
  }
127
128
  return a;
128
129
  };
@@ -141,7 +142,7 @@ function forEachSceneObjectInState(state, callback) {
141
142
  }
142
143
  }
143
144
  function cloneSceneObject(sceneObject, withState) {
144
- const clonedState = __spreadValues$d({}, sceneObject.state);
145
+ const clonedState = __spreadValues$e({}, sceneObject.state);
145
146
  for (const key in clonedState) {
146
147
  const propValue = clonedState[key];
147
148
  if (propValue instanceof SceneObjectBase) {
@@ -163,19 +164,19 @@ function cloneSceneObject(sceneObject, withState) {
163
164
  return new sceneObject.constructor(clonedState);
164
165
  }
165
166
 
166
- var __defProp$c = Object.defineProperty;
167
- var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
168
- var __hasOwnProp$c = Object.prototype.hasOwnProperty;
169
- var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
170
- var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
171
- var __spreadValues$c = (a, b) => {
167
+ var __defProp$d = Object.defineProperty;
168
+ var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
169
+ var __hasOwnProp$d = Object.prototype.hasOwnProperty;
170
+ var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
171
+ var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
172
+ var __spreadValues$d = (a, b) => {
172
173
  for (var prop in b || (b = {}))
173
- if (__hasOwnProp$c.call(b, prop))
174
- __defNormalProp$c(a, prop, b[prop]);
175
- if (__getOwnPropSymbols$c)
176
- for (var prop of __getOwnPropSymbols$c(b)) {
177
- if (__propIsEnum$c.call(b, prop))
178
- __defNormalProp$c(a, prop, b[prop]);
174
+ if (__hasOwnProp$d.call(b, prop))
175
+ __defNormalProp$d(a, prop, b[prop]);
176
+ if (__getOwnPropSymbols$d)
177
+ for (var prop of __getOwnPropSymbols$d(b)) {
178
+ if (__propIsEnum$d.call(b, prop))
179
+ __defNormalProp$d(a, prop, b[prop]);
179
180
  }
180
181
  return a;
181
182
  };
@@ -226,7 +227,7 @@ class SceneObjectBase {
226
227
  }
227
228
  setState(update) {
228
229
  const prevState = this._state;
229
- const newState = __spreadValues$c(__spreadValues$c({}, this._state), update);
230
+ const newState = __spreadValues$d(__spreadValues$d({}, this._state), update);
230
231
  this._state = Object.freeze(newState);
231
232
  this.setParent();
232
233
  this._subject.next(newState);
@@ -251,7 +252,10 @@ class SceneObjectBase {
251
252
  }
252
253
  activate() {
253
254
  this._isActive = true;
254
- const { $data, $variables } = this.state;
255
+ const { $data, $variables, $timeRange } = this.state;
256
+ if ($timeRange && !$timeRange.isActive) {
257
+ $timeRange.activate();
258
+ }
255
259
  if ($data && !$data.isActive) {
256
260
  $data.activate();
257
261
  }
@@ -261,7 +265,10 @@ class SceneObjectBase {
261
265
  }
262
266
  deactivate() {
263
267
  this._isActive = false;
264
- const { $data, $variables } = this.state;
268
+ const { $data, $variables, $timeRange } = this.state;
269
+ if ($timeRange && $timeRange.isActive) {
270
+ $timeRange.deactivate();
271
+ }
265
272
  if ($data && $data.isActive) {
266
273
  $data.deactivate();
267
274
  }
@@ -312,19 +319,19 @@ class SceneObjectUrlSyncConfig {
312
319
  }
313
320
  }
314
321
 
315
- var __defProp$b = Object.defineProperty;
316
- var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
317
- var __hasOwnProp$b = Object.prototype.hasOwnProperty;
318
- var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
319
- var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
320
- var __spreadValues$b = (a, b) => {
322
+ var __defProp$c = Object.defineProperty;
323
+ var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
324
+ var __hasOwnProp$c = Object.prototype.hasOwnProperty;
325
+ var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
326
+ var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
327
+ var __spreadValues$c = (a, b) => {
321
328
  for (var prop in b || (b = {}))
322
- if (__hasOwnProp$b.call(b, prop))
323
- __defNormalProp$b(a, prop, b[prop]);
324
- if (__getOwnPropSymbols$b)
325
- for (var prop of __getOwnPropSymbols$b(b)) {
326
- if (__propIsEnum$b.call(b, prop))
327
- __defNormalProp$b(a, prop, b[prop]);
329
+ if (__hasOwnProp$c.call(b, prop))
330
+ __defNormalProp$c(a, prop, b[prop]);
331
+ if (__getOwnPropSymbols$c)
332
+ for (var prop of __getOwnPropSymbols$c(b)) {
333
+ if (__propIsEnum$c.call(b, prop))
334
+ __defNormalProp$c(a, prop, b[prop]);
328
335
  }
329
336
  return a;
330
337
  };
@@ -335,7 +342,7 @@ class SceneTimeRange extends SceneObjectBase {
335
342
  const to = (_b = state.to) != null ? _b : "now";
336
343
  const timeZone = (_c = state.timeZone) != null ? _c : data.getTimeZone();
337
344
  const value = evaluateTimeRange(from, to, timeZone);
338
- super(__spreadValues$b({ from, to, timeZone, value }, state));
345
+ super(__spreadValues$c({ from, to, timeZone, value }, state));
339
346
  this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: ["from", "to"] });
340
347
  this.onTimeRangeChange = (timeRange) => {
341
348
  const update = {};
@@ -355,8 +362,6 @@ class SceneTimeRange extends SceneObjectBase {
355
362
  this.onRefresh = () => {
356
363
  this.setState({ value: evaluateTimeRange(this.state.from, this.state.to, this.state.timeZone) });
357
364
  };
358
- this.onIntervalChanged = (_) => {
359
- };
360
365
  }
361
366
  getUrlState(state) {
362
367
  return { from: state.from, to: state.to };
@@ -1145,21 +1150,21 @@ const safeStringifyValue = (value) => {
1145
1150
  return "";
1146
1151
  };
1147
1152
 
1148
- var __defProp$a = Object.defineProperty;
1153
+ var __defProp$b = Object.defineProperty;
1149
1154
  var __defProps$4 = Object.defineProperties;
1150
1155
  var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
1151
- var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
1152
- var __hasOwnProp$a = Object.prototype.hasOwnProperty;
1153
- var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
1154
- var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1155
- var __spreadValues$a = (a, b) => {
1156
+ var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
1157
+ var __hasOwnProp$b = Object.prototype.hasOwnProperty;
1158
+ var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
1159
+ var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1160
+ var __spreadValues$b = (a, b) => {
1156
1161
  for (var prop in b || (b = {}))
1157
- if (__hasOwnProp$a.call(b, prop))
1158
- __defNormalProp$a(a, prop, b[prop]);
1159
- if (__getOwnPropSymbols$a)
1160
- for (var prop of __getOwnPropSymbols$a(b)) {
1161
- if (__propIsEnum$a.call(b, prop))
1162
- __defNormalProp$a(a, prop, b[prop]);
1162
+ if (__hasOwnProp$b.call(b, prop))
1163
+ __defNormalProp$b(a, prop, b[prop]);
1164
+ if (__getOwnPropSymbols$b)
1165
+ for (var prop of __getOwnPropSymbols$b(b)) {
1166
+ if (__propIsEnum$b.call(b, prop))
1167
+ __defNormalProp$b(a, prop, b[prop]);
1163
1168
  }
1164
1169
  return a;
1165
1170
  };
@@ -1289,7 +1294,7 @@ const getTransformationsStream = (sceneObject, transformations) => (inputStream)
1289
1294
  return sceneGraph.interpolate(sceneObject, value, (_a = data$1 == null ? void 0 : data$1.request) == null ? void 0 : _a.scopedVars);
1290
1295
  }
1291
1296
  };
1292
- return data.transformDataFrame(transformations, data$1.series, ctx).pipe(rxjs.map((series) => __spreadProps$4(__spreadValues$a({}, data$1), { series })));
1297
+ return data.transformDataFrame(transformations, data$1.series, ctx).pipe(rxjs.map((series) => __spreadProps$4(__spreadValues$b({}, data$1), { series })));
1293
1298
  })
1294
1299
  );
1295
1300
  };
@@ -1384,25 +1389,25 @@ function VariableLabel({ state }) {
1384
1389
  }, labelOrName);
1385
1390
  }
1386
1391
 
1387
- var __defProp$9 = Object.defineProperty;
1388
- var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
1389
- var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
1390
- var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
1391
- var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1392
- var __spreadValues$9 = (a, b) => {
1392
+ var __defProp$a = Object.defineProperty;
1393
+ var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
1394
+ var __hasOwnProp$a = Object.prototype.hasOwnProperty;
1395
+ var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
1396
+ var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1397
+ var __spreadValues$a = (a, b) => {
1393
1398
  for (var prop in b || (b = {}))
1394
- if (__hasOwnProp$9.call(b, prop))
1395
- __defNormalProp$9(a, prop, b[prop]);
1396
- if (__getOwnPropSymbols$9)
1397
- for (var prop of __getOwnPropSymbols$9(b)) {
1398
- if (__propIsEnum$9.call(b, prop))
1399
- __defNormalProp$9(a, prop, b[prop]);
1399
+ if (__hasOwnProp$a.call(b, prop))
1400
+ __defNormalProp$a(a, prop, b[prop]);
1401
+ if (__getOwnPropSymbols$a)
1402
+ for (var prop of __getOwnPropSymbols$a(b)) {
1403
+ if (__propIsEnum$a.call(b, prop))
1404
+ __defNormalProp$a(a, prop, b[prop]);
1400
1405
  }
1401
1406
  return a;
1402
1407
  };
1403
1408
  class ConstantVariable extends SceneObjectBase {
1404
1409
  constructor(initialState) {
1405
- super(__spreadValues$9({
1410
+ super(__spreadValues$a({
1406
1411
  type: "constant",
1407
1412
  value: "",
1408
1413
  name: ""
@@ -1640,25 +1645,25 @@ class MultiValueUrlSyncHandler {
1640
1645
  }
1641
1646
  }
1642
1647
 
1643
- var __defProp$8 = Object.defineProperty;
1644
- var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
1645
- var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
1646
- var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
1647
- var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1648
- var __spreadValues$8 = (a, b) => {
1648
+ var __defProp$9 = Object.defineProperty;
1649
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
1650
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
1651
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
1652
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1653
+ var __spreadValues$9 = (a, b) => {
1649
1654
  for (var prop in b || (b = {}))
1650
- if (__hasOwnProp$8.call(b, prop))
1651
- __defNormalProp$8(a, prop, b[prop]);
1652
- if (__getOwnPropSymbols$8)
1653
- for (var prop of __getOwnPropSymbols$8(b)) {
1654
- if (__propIsEnum$8.call(b, prop))
1655
- __defNormalProp$8(a, prop, b[prop]);
1655
+ if (__hasOwnProp$9.call(b, prop))
1656
+ __defNormalProp$9(a, prop, b[prop]);
1657
+ if (__getOwnPropSymbols$9)
1658
+ for (var prop of __getOwnPropSymbols$9(b)) {
1659
+ if (__propIsEnum$9.call(b, prop))
1660
+ __defNormalProp$9(a, prop, b[prop]);
1656
1661
  }
1657
1662
  return a;
1658
1663
  };
1659
1664
  class CustomVariable extends MultiValueVariable {
1660
1665
  constructor(initialState) {
1661
- super(__spreadValues$8({
1666
+ super(__spreadValues$9({
1662
1667
  type: "custom",
1663
1668
  query: "",
1664
1669
  value: "",
@@ -1691,25 +1696,25 @@ CustomVariable.Component = ({ model }) => {
1691
1696
  return renderSelectForVariable(model);
1692
1697
  };
1693
1698
 
1694
- var __defProp$7 = Object.defineProperty;
1695
- var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
1696
- var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
1697
- var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
1698
- var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1699
- var __spreadValues$7 = (a, b) => {
1699
+ var __defProp$8 = Object.defineProperty;
1700
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
1701
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
1702
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
1703
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1704
+ var __spreadValues$8 = (a, b) => {
1700
1705
  for (var prop in b || (b = {}))
1701
- if (__hasOwnProp$7.call(b, prop))
1702
- __defNormalProp$7(a, prop, b[prop]);
1703
- if (__getOwnPropSymbols$7)
1704
- for (var prop of __getOwnPropSymbols$7(b)) {
1705
- if (__propIsEnum$7.call(b, prop))
1706
- __defNormalProp$7(a, prop, b[prop]);
1706
+ if (__hasOwnProp$8.call(b, prop))
1707
+ __defNormalProp$8(a, prop, b[prop]);
1708
+ if (__getOwnPropSymbols$8)
1709
+ for (var prop of __getOwnPropSymbols$8(b)) {
1710
+ if (__propIsEnum$8.call(b, prop))
1711
+ __defNormalProp$8(a, prop, b[prop]);
1707
1712
  }
1708
1713
  return a;
1709
1714
  };
1710
1715
  class DataSourceVariable extends MultiValueVariable {
1711
1716
  constructor(initialState) {
1712
- super(__spreadValues$7({
1717
+ super(__spreadValues$8({
1713
1718
  type: "datasource",
1714
1719
  value: "",
1715
1720
  text: "",
@@ -1787,21 +1792,21 @@ const hasStandardVariableSupport = (datasource) => {
1787
1792
  return "toDataQuery" in variableSupport && Boolean(variableSupport.toDataQuery);
1788
1793
  };
1789
1794
 
1790
- var __defProp$6 = Object.defineProperty;
1795
+ var __defProp$7 = Object.defineProperty;
1791
1796
  var __defProps$3 = Object.defineProperties;
1792
1797
  var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
1793
- var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
1794
- var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
1795
- var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
1796
- var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1797
- var __spreadValues$6 = (a, b) => {
1798
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
1799
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
1800
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
1801
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1802
+ var __spreadValues$7 = (a, b) => {
1798
1803
  for (var prop in b || (b = {}))
1799
- if (__hasOwnProp$6.call(b, prop))
1800
- __defNormalProp$6(a, prop, b[prop]);
1801
- if (__getOwnPropSymbols$6)
1802
- for (var prop of __getOwnPropSymbols$6(b)) {
1803
- if (__propIsEnum$6.call(b, prop))
1804
- __defNormalProp$6(a, prop, b[prop]);
1804
+ if (__hasOwnProp$7.call(b, prop))
1805
+ __defNormalProp$7(a, prop, b[prop]);
1806
+ if (__getOwnPropSymbols$7)
1807
+ for (var prop of __getOwnPropSymbols$7(b)) {
1808
+ if (__propIsEnum$7.call(b, prop))
1809
+ __defNormalProp$7(a, prop, b[prop]);
1805
1810
  }
1806
1811
  return a;
1807
1812
  };
@@ -1842,7 +1847,7 @@ class LegacyQueryRunner {
1842
1847
  return getEmptyMetricFindValueObservable();
1843
1848
  }
1844
1849
  return rxjs.from(
1845
- this.datasource.metricFindQuery(variable.state.query, __spreadProps$3(__spreadValues$6({}, request), {
1850
+ this.datasource.metricFindQuery(variable.state.query, __spreadProps$3(__spreadValues$7({}, request), {
1846
1851
  variable: {
1847
1852
  name: variable.state.name,
1848
1853
  type: variable.state.type
@@ -2049,25 +2054,25 @@ function areMetricFindValues(data$1) {
2049
2054
  return false;
2050
2055
  }
2051
2056
 
2052
- var __defProp$5 = Object.defineProperty;
2053
- var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
2054
- var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
2055
- var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
2056
- var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2057
- var __spreadValues$5 = (a, b) => {
2057
+ var __defProp$6 = Object.defineProperty;
2058
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
2059
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
2060
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
2061
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2062
+ var __spreadValues$6 = (a, b) => {
2058
2063
  for (var prop in b || (b = {}))
2059
- if (__hasOwnProp$5.call(b, prop))
2060
- __defNormalProp$5(a, prop, b[prop]);
2061
- if (__getOwnPropSymbols$5)
2062
- for (var prop of __getOwnPropSymbols$5(b)) {
2063
- if (__propIsEnum$5.call(b, prop))
2064
- __defNormalProp$5(a, prop, b[prop]);
2064
+ if (__hasOwnProp$6.call(b, prop))
2065
+ __defNormalProp$6(a, prop, b[prop]);
2066
+ if (__getOwnPropSymbols$6)
2067
+ for (var prop of __getOwnPropSymbols$6(b)) {
2068
+ if (__propIsEnum$6.call(b, prop))
2069
+ __defNormalProp$6(a, prop, b[prop]);
2065
2070
  }
2066
2071
  return a;
2067
2072
  };
2068
2073
  class QueryVariable extends MultiValueVariable {
2069
2074
  constructor(initialState) {
2070
- super(__spreadValues$5({
2075
+ super(__spreadValues$6({
2071
2076
  type: "query",
2072
2077
  name: "",
2073
2078
  value: "",
@@ -2221,25 +2226,25 @@ function queryMetricTree(query) {
2221
2226
  return queryTree(children, query.split("."), 0);
2222
2227
  }
2223
2228
 
2224
- var __defProp$4 = Object.defineProperty;
2225
- var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
2226
- var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
2227
- var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
2228
- var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2229
- var __spreadValues$4 = (a, b) => {
2229
+ var __defProp$5 = Object.defineProperty;
2230
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
2231
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
2232
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
2233
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2234
+ var __spreadValues$5 = (a, b) => {
2230
2235
  for (var prop in b || (b = {}))
2231
- if (__hasOwnProp$4.call(b, prop))
2232
- __defNormalProp$4(a, prop, b[prop]);
2233
- if (__getOwnPropSymbols$4)
2234
- for (var prop of __getOwnPropSymbols$4(b)) {
2235
- if (__propIsEnum$4.call(b, prop))
2236
- __defNormalProp$4(a, prop, b[prop]);
2236
+ if (__hasOwnProp$5.call(b, prop))
2237
+ __defNormalProp$5(a, prop, b[prop]);
2238
+ if (__getOwnPropSymbols$5)
2239
+ for (var prop of __getOwnPropSymbols$5(b)) {
2240
+ if (__propIsEnum$5.call(b, prop))
2241
+ __defNormalProp$5(a, prop, b[prop]);
2237
2242
  }
2238
2243
  return a;
2239
2244
  };
2240
2245
  class TestVariable extends MultiValueVariable {
2241
2246
  constructor(initialState) {
2242
- super(__spreadValues$4({
2247
+ super(__spreadValues$5({
2243
2248
  type: "custom",
2244
2249
  name: "Test",
2245
2250
  value: "Value",
@@ -2518,6 +2523,12 @@ function VizPanelRenderer({ model }) {
2518
2523
  if ($data instanceof SceneQueryRunner) {
2519
2524
  $data.setContainerWidth(width);
2520
2525
  }
2526
+ const titleItems = isDraggable ? [dragHandle] : [];
2527
+ if (model.state.$timeRange) {
2528
+ titleItems.push(/* @__PURE__ */ React__default["default"].createElement(model.state.$timeRange.Component, {
2529
+ model: model.state.$timeRange
2530
+ }));
2531
+ }
2521
2532
  return /* @__PURE__ */ React__default["default"].createElement("div", {
2522
2533
  ref,
2523
2534
  style: { position: "absolute", width: "100%", height: "100%" }
@@ -2554,25 +2565,25 @@ function VizPanelRenderer({ model }) {
2554
2565
  }
2555
2566
  VizPanelRenderer.displayName = "ScenePanelRenderer";
2556
2567
 
2557
- var __defProp$3 = Object.defineProperty;
2558
- var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
2559
- var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
2560
- var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
2561
- var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2562
- var __spreadValues$3 = (a, b) => {
2568
+ var __defProp$4 = Object.defineProperty;
2569
+ var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
2570
+ var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
2571
+ var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
2572
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2573
+ var __spreadValues$4 = (a, b) => {
2563
2574
  for (var prop in b || (b = {}))
2564
- if (__hasOwnProp$3.call(b, prop))
2565
- __defNormalProp$3(a, prop, b[prop]);
2566
- if (__getOwnPropSymbols$3)
2567
- for (var prop of __getOwnPropSymbols$3(b)) {
2568
- if (__propIsEnum$3.call(b, prop))
2569
- __defNormalProp$3(a, prop, b[prop]);
2575
+ if (__hasOwnProp$4.call(b, prop))
2576
+ __defNormalProp$4(a, prop, b[prop]);
2577
+ if (__getOwnPropSymbols$4)
2578
+ for (var prop of __getOwnPropSymbols$4(b)) {
2579
+ if (__propIsEnum$4.call(b, prop))
2580
+ __defNormalProp$4(a, prop, b[prop]);
2570
2581
  }
2571
2582
  return a;
2572
2583
  };
2573
2584
  class VizPanel extends SceneObjectBase {
2574
2585
  constructor(state) {
2575
- super(__spreadValues$3({
2586
+ super(__spreadValues$4({
2576
2587
  options: {},
2577
2588
  fieldConfig: { defaults: {}, overrides: [] },
2578
2589
  title: "Title",
@@ -2642,21 +2653,21 @@ class VizPanel extends SceneObjectBase {
2642
2653
  }
2643
2654
  VizPanel.Component = VizPanelRenderer;
2644
2655
 
2645
- var __defProp$2 = Object.defineProperty;
2656
+ var __defProp$3 = Object.defineProperty;
2646
2657
  var __defProps$2 = Object.defineProperties;
2647
2658
  var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
2648
- var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
2649
- var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
2650
- var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
2651
- var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2652
- var __spreadValues$2 = (a, b) => {
2659
+ var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
2660
+ var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
2661
+ var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
2662
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2663
+ var __spreadValues$3 = (a, b) => {
2653
2664
  for (var prop in b || (b = {}))
2654
- if (__hasOwnProp$2.call(b, prop))
2655
- __defNormalProp$2(a, prop, b[prop]);
2656
- if (__getOwnPropSymbols$2)
2657
- for (var prop of __getOwnPropSymbols$2(b)) {
2658
- if (__propIsEnum$2.call(b, prop))
2659
- __defNormalProp$2(a, prop, b[prop]);
2665
+ if (__hasOwnProp$3.call(b, prop))
2666
+ __defNormalProp$3(a, prop, b[prop]);
2667
+ if (__getOwnPropSymbols$3)
2668
+ for (var prop of __getOwnPropSymbols$3(b)) {
2669
+ if (__propIsEnum$3.call(b, prop))
2670
+ __defNormalProp$3(a, prop, b[prop]);
2660
2671
  }
2661
2672
  return a;
2662
2673
  };
@@ -2667,7 +2678,7 @@ class NestedScene extends SceneObjectBase {
2667
2678
  this.onToggle = () => {
2668
2679
  this.setState({
2669
2680
  isCollapsed: !this.state.isCollapsed,
2670
- placement: __spreadProps$2(__spreadValues$2({}, this.state.placement), {
2681
+ placement: __spreadProps$2(__spreadValues$3({}, this.state.placement), {
2671
2682
  ySizing: this.state.isCollapsed ? "fill" : "content"
2672
2683
  })
2673
2684
  });
@@ -2838,7 +2849,8 @@ function SceneTimePickerRenderer({ model }) {
2838
2849
  }
2839
2850
  }), /* @__PURE__ */ React__default["default"].createElement(ui.RefreshPicker, {
2840
2851
  onRefresh: timeRange.onRefresh,
2841
- onIntervalChanged: timeRange.onIntervalChanged
2852
+ onIntervalChanged: () => {
2853
+ }
2842
2854
  }));
2843
2855
  }
2844
2856
 
@@ -2979,31 +2991,31 @@ const GRID_CELL_HEIGHT = 30;
2979
2991
  const GRID_CELL_VMARGIN = 8;
2980
2992
  const GRID_COLUMN_COUNT = 24;
2981
2993
 
2982
- var __defProp$1 = Object.defineProperty;
2994
+ var __defProp$2 = Object.defineProperty;
2983
2995
  var __defProps$1 = Object.defineProperties;
2984
2996
  var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
2985
- var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
2986
- var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
2987
- var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
2988
- var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
2989
- var __spreadValues$1 = (a, b) => {
2997
+ var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
2998
+ var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
2999
+ var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
3000
+ var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3001
+ var __spreadValues$2 = (a, b) => {
2990
3002
  for (var prop in b || (b = {}))
2991
- if (__hasOwnProp$1.call(b, prop))
2992
- __defNormalProp$1(a, prop, b[prop]);
2993
- if (__getOwnPropSymbols$1)
2994
- for (var prop of __getOwnPropSymbols$1(b)) {
2995
- if (__propIsEnum$1.call(b, prop))
2996
- __defNormalProp$1(a, prop, b[prop]);
3003
+ if (__hasOwnProp$2.call(b, prop))
3004
+ __defNormalProp$2(a, prop, b[prop]);
3005
+ if (__getOwnPropSymbols$2)
3006
+ for (var prop of __getOwnPropSymbols$2(b)) {
3007
+ if (__propIsEnum$2.call(b, prop))
3008
+ __defNormalProp$2(a, prop, b[prop]);
2997
3009
  }
2998
3010
  return a;
2999
3011
  };
3000
3012
  var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
3001
3013
  class SceneGridRow extends SceneObjectBase {
3002
3014
  constructor(state) {
3003
- super(__spreadProps$1(__spreadValues$1({
3015
+ super(__spreadProps$1(__spreadValues$2({
3004
3016
  isCollapsible: true
3005
3017
  }, state), {
3006
- placement: __spreadProps$1(__spreadValues$1({
3018
+ placement: __spreadProps$1(__spreadValues$2({
3007
3019
  isResizable: false,
3008
3020
  isDraggable: true
3009
3021
  }, state.placement), {
@@ -3091,29 +3103,29 @@ const getSceneGridRowStyles = (theme) => {
3091
3103
  };
3092
3104
  };
3093
3105
 
3094
- var __defProp = Object.defineProperty;
3106
+ var __defProp$1 = Object.defineProperty;
3095
3107
  var __defProps = Object.defineProperties;
3096
3108
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
3097
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3098
- var __hasOwnProp = Object.prototype.hasOwnProperty;
3099
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
3100
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3101
- var __spreadValues = (a, b) => {
3109
+ var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
3110
+ var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
3111
+ var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
3112
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3113
+ var __spreadValues$1 = (a, b) => {
3102
3114
  for (var prop in b || (b = {}))
3103
- if (__hasOwnProp.call(b, prop))
3104
- __defNormalProp(a, prop, b[prop]);
3105
- if (__getOwnPropSymbols)
3106
- for (var prop of __getOwnPropSymbols(b)) {
3107
- if (__propIsEnum.call(b, prop))
3108
- __defNormalProp(a, prop, b[prop]);
3115
+ if (__hasOwnProp$1.call(b, prop))
3116
+ __defNormalProp$1(a, prop, b[prop]);
3117
+ if (__getOwnPropSymbols$1)
3118
+ for (var prop of __getOwnPropSymbols$1(b)) {
3119
+ if (__propIsEnum$1.call(b, prop))
3120
+ __defNormalProp$1(a, prop, b[prop]);
3109
3121
  }
3110
3122
  return a;
3111
3123
  };
3112
3124
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
3113
3125
  class SceneGridLayout extends SceneObjectBase {
3114
3126
  constructor(state) {
3115
- super(__spreadProps(__spreadValues({}, state), {
3116
- placement: __spreadValues({
3127
+ super(__spreadProps(__spreadValues$1({}, state), {
3128
+ placement: __spreadValues$1({
3117
3129
  isDraggable: true
3118
3130
  }, state.placement),
3119
3131
  children: sortChildrenByPosition(state.children)
@@ -3134,7 +3146,7 @@ class SceneGridLayout extends SceneObjectBase {
3134
3146
  };
3135
3147
  if (!isItemSizeEqual(child.state.placement, nextSize)) {
3136
3148
  child.setState({
3137
- placement: __spreadValues(__spreadValues({}, child.state.placement), nextSize)
3149
+ placement: __spreadValues$1(__spreadValues$1({}, child.state.placement), nextSize)
3138
3150
  });
3139
3151
  }
3140
3152
  }
@@ -3143,7 +3155,7 @@ class SceneGridLayout extends SceneObjectBase {
3143
3155
  this.onResizeStop = (_, o, n) => {
3144
3156
  const child = this.getSceneLayoutChild(n.i);
3145
3157
  child.setState({
3146
- placement: __spreadProps(__spreadValues({}, child.state.placement), {
3158
+ placement: __spreadProps(__spreadValues$1({}, child.state.placement), {
3147
3159
  width: n.w,
3148
3160
  height: n.h
3149
3161
  })
@@ -3158,7 +3170,7 @@ class SceneGridLayout extends SceneObjectBase {
3158
3170
  const childSize = child.state.placement;
3159
3171
  if ((childSize == null ? void 0 : childSize.x) !== gridItem.x || (childSize == null ? void 0 : childSize.y) !== gridItem.y) {
3160
3172
  child.setState({
3161
- placement: __spreadProps(__spreadValues({}, child.state.placement), {
3173
+ placement: __spreadProps(__spreadValues$1({}, child.state.placement), {
3162
3174
  x: gridItem.x,
3163
3175
  y: gridItem.y
3164
3176
  })
@@ -3194,7 +3206,7 @@ class SceneGridLayout extends SceneObjectBase {
3194
3206
  const yDiff = firstPanelYPos - (rowY + 1);
3195
3207
  let yMax = rowY;
3196
3208
  for (const panel of rowChildren) {
3197
- const newSize = __spreadValues({}, panel.state.placement);
3209
+ const newSize = __spreadValues$1({}, panel.state.placement);
3198
3210
  newSize.y = (_d = newSize.y) != null ? _d : rowY;
3199
3211
  newSize.y -= yDiff;
3200
3212
  if (newSize.y > ((_e = panel.state.placement) == null ? void 0 : _e.y)) {
@@ -3236,7 +3248,7 @@ class SceneGridLayout extends SceneObjectBase {
3236
3248
  pushChildDown(child, amount) {
3237
3249
  var _a;
3238
3250
  child.setState({
3239
- placement: __spreadProps(__spreadValues({}, child.state.placement), {
3251
+ placement: __spreadProps(__spreadValues$1({}, child.state.placement), {
3240
3252
  y: ((_a = child.state.placement) == null ? void 0 : _a.y) + amount
3241
3253
  })
3242
3254
  });
@@ -3304,7 +3316,7 @@ class SceneGridLayout extends SceneObjectBase {
3304
3316
  cells = sortGridLayout(cells);
3305
3317
  if (width < 768) {
3306
3318
  this._skipOnLayoutChange = true;
3307
- return cells.map((cell) => __spreadProps(__spreadValues({}, cell), { w: 24 }));
3319
+ return cells.map((cell) => __spreadProps(__spreadValues$1({}, cell), { w: 24 }));
3308
3320
  }
3309
3321
  this._skipOnLayoutChange = false;
3310
3322
  return cells;
@@ -3370,6 +3382,194 @@ function sortGridLayout(layout) {
3370
3382
  return [...layout].sort((a, b) => a.y - b.y || a.x - b.x);
3371
3383
  }
3372
3384
 
3385
+ var __defProp = Object.defineProperty;
3386
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3387
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3388
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
3389
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3390
+ var __spreadValues = (a, b) => {
3391
+ for (var prop in b || (b = {}))
3392
+ if (__hasOwnProp.call(b, prop))
3393
+ __defNormalProp(a, prop, b[prop]);
3394
+ if (__getOwnPropSymbols)
3395
+ for (var prop of __getOwnPropSymbols(b)) {
3396
+ if (__propIsEnum.call(b, prop))
3397
+ __defNormalProp(a, prop, b[prop]);
3398
+ }
3399
+ return a;
3400
+ };
3401
+ function useAppQueryParams() {
3402
+ const location = reactRouterDom.useLocation();
3403
+ return runtime.locationSearchToObject(location.search || "");
3404
+ }
3405
+ function getLinkUrlWithAppUrlState(path, params, preserveParams) {
3406
+ const paramsCopy = __spreadValues({}, params);
3407
+ if (preserveParams) {
3408
+ for (const key of Object.keys(paramsCopy)) {
3409
+ if (!preserveParams.includes(key)) {
3410
+ delete paramsCopy[key];
3411
+ }
3412
+ }
3413
+ }
3414
+ return data.urlUtil.renderUrl(path, paramsCopy);
3415
+ }
3416
+
3417
+ const sceneCache = /* @__PURE__ */ new Map();
3418
+ class SceneApp extends SceneObjectBase {
3419
+ }
3420
+ SceneApp.Component = ({ model }) => {
3421
+ const { pages } = model.useState();
3422
+ return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
3423
+ key: page.state.url,
3424
+ exact: false,
3425
+ path: page.state.url,
3426
+ render: () => {
3427
+ return page && /* @__PURE__ */ React__default["default"].createElement(page.Component, {
3428
+ model: page
3429
+ });
3430
+ }
3431
+ })));
3432
+ };
3433
+ class SceneAppPage extends SceneObjectBase {
3434
+ }
3435
+ SceneAppPage.Component = SceneAppPageRenderer;
3436
+ function SceneAppPageRenderer({ model }) {
3437
+ var _a;
3438
+ const { tabs, drilldowns, url, routePath } = model.state;
3439
+ const routes = [];
3440
+ if (tabs) {
3441
+ for (const page2 of tabs) {
3442
+ routes.push(
3443
+ /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
3444
+ exact: true,
3445
+ key: page2.state.url,
3446
+ path: (_a = page2.state.routePath) != null ? _a : page2.state.url,
3447
+ render: () => {
3448
+ return /* @__PURE__ */ React__default["default"].createElement(page2.Component, {
3449
+ model: page2
3450
+ });
3451
+ }
3452
+ })
3453
+ );
3454
+ if (page2.state.drilldowns) {
3455
+ for (const drilldown of page2.state.drilldowns) {
3456
+ routes.push(
3457
+ /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
3458
+ exact: false,
3459
+ key: drilldown.routePath,
3460
+ path: drilldown.routePath,
3461
+ render: () => {
3462
+ return /* @__PURE__ */ React__default["default"].createElement(SceneAppDrilldownViewRender, {
3463
+ drilldown,
3464
+ parent: page2
3465
+ });
3466
+ }
3467
+ })
3468
+ );
3469
+ }
3470
+ }
3471
+ }
3472
+ return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, routes);
3473
+ }
3474
+ if (drilldowns) {
3475
+ for (const drilldown of drilldowns) {
3476
+ routes.push(
3477
+ /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
3478
+ key: drilldown.routePath,
3479
+ exact: false,
3480
+ path: drilldown.routePath,
3481
+ render: () => {
3482
+ return /* @__PURE__ */ React__default["default"].createElement(SceneAppDrilldownViewRender, {
3483
+ drilldown,
3484
+ parent: model
3485
+ });
3486
+ }
3487
+ })
3488
+ );
3489
+ }
3490
+ }
3491
+ let page = /* @__PURE__ */ React__default["default"].createElement(ScenePageRenderer, {
3492
+ page: model
3493
+ });
3494
+ if (model.parent instanceof SceneAppPage) {
3495
+ page = /* @__PURE__ */ React__default["default"].createElement(ScenePageRenderer, {
3496
+ page: model.parent,
3497
+ activeTab: model,
3498
+ tabs: model.parent.state.tabs
3499
+ });
3500
+ }
3501
+ return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
3502
+ key: url,
3503
+ exact: true,
3504
+ path: routePath != null ? routePath : url,
3505
+ render: () => {
3506
+ return page;
3507
+ }
3508
+ }), routes);
3509
+ }
3510
+ function ScenePageRenderer({ page, tabs, activeTab }) {
3511
+ const [isInitialized, setIsInitialized] = React.useState(false);
3512
+ const params = useAppQueryParams();
3513
+ const routeMatch = reactRouterDom.useRouteMatch();
3514
+ let scene = sceneCache.get(routeMatch.url);
3515
+ if (!scene) {
3516
+ scene = activeTab ? activeTab.state.getScene(routeMatch) : page.state.getScene(routeMatch);
3517
+ sceneCache.set(routeMatch.url, scene);
3518
+ }
3519
+ React.useEffect(() => {
3520
+ if (!isInitialized && scene) {
3521
+ scene.initUrlSync();
3522
+ setIsInitialized(true);
3523
+ }
3524
+ }, [isInitialized, scene]);
3525
+ if (!isInitialized) {
3526
+ return null;
3527
+ }
3528
+ const pageNav = {
3529
+ text: page.state.title,
3530
+ subTitle: page.state.subTitle,
3531
+ url: getLinkUrlWithAppUrlState(page.state.url, params, page.state.preserveUrlKeys),
3532
+ hideFromBreadcrumbs: page.state.hideFromBreadcrumbs,
3533
+ parentItem: getParentBreadcrumbs(page.state.getParentPage ? page.state.getParentPage() : page.parent, params)
3534
+ };
3535
+ if (tabs) {
3536
+ pageNav.children = tabs.map((tab) => {
3537
+ return {
3538
+ text: tab.state.title,
3539
+ active: activeTab === tab,
3540
+ url: getLinkUrlWithAppUrlState(tab.state.url, params, tab.state.preserveUrlKeys),
3541
+ parentItem: pageNav
3542
+ };
3543
+ });
3544
+ }
3545
+ return /* @__PURE__ */ React__default["default"].createElement(runtime.PluginPage, {
3546
+ pageNav
3547
+ }, /* @__PURE__ */ React__default["default"].createElement(scene.Component, {
3548
+ model: scene
3549
+ }));
3550
+ }
3551
+ function SceneAppDrilldownViewRender(props) {
3552
+ const routeMatch = reactRouterDom.useRouteMatch();
3553
+ const scene = props.drilldown.getPage(routeMatch, props.parent);
3554
+ return /* @__PURE__ */ React__default["default"].createElement(scene.Component, {
3555
+ model: scene
3556
+ });
3557
+ }
3558
+ function getParentBreadcrumbs(parent, params) {
3559
+ if (parent instanceof SceneAppPage) {
3560
+ return {
3561
+ text: parent.state.title,
3562
+ url: getLinkUrlWithAppUrlState(parent.state.url, params, parent.state.preserveUrlKeys),
3563
+ hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,
3564
+ parentItem: getParentBreadcrumbs(
3565
+ parent.state.getParentPage ? parent.state.getParentPage() : parent.parent,
3566
+ params
3567
+ )
3568
+ };
3569
+ }
3570
+ return void 0;
3571
+ }
3572
+
3373
3573
  exports.ConstantVariable = ConstantVariable;
3374
3574
  exports.CustomVariable = CustomVariable;
3375
3575
  exports.DataSourceVariable = DataSourceVariable;
@@ -3377,6 +3577,8 @@ exports.EmbeddedScene = EmbeddedScene;
3377
3577
  exports.FormatRegistryID = FormatRegistryID;
3378
3578
  exports.NestedScene = NestedScene;
3379
3579
  exports.QueryVariable = QueryVariable;
3580
+ exports.SceneApp = SceneApp;
3581
+ exports.SceneAppPage = SceneAppPage;
3380
3582
  exports.SceneByFrameRepeater = SceneByFrameRepeater;
3381
3583
  exports.SceneCanvasText = SceneCanvasText;
3382
3584
  exports.SceneControlsSpacer = SceneControlsSpacer;