@grafana/scenes 0.3.0 → 0.4.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/CHANGELOG.md +51 -5
- package/README.md +1 -1
- package/dist/esm/components/EmbeddedScene.js +8 -5
- package/dist/esm/components/EmbeddedScene.js.map +1 -1
- package/dist/esm/components/NestedScene.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneApp.js +2 -5
- package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPage.js +122 -104
- package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPageView.js +82 -0
- package/dist/esm/components/SceneApp/SceneAppPageView.js.map +1 -0
- package/dist/esm/components/SceneApp/utils.js +5 -1
- package/dist/esm/components/SceneApp/utils.js.map +1 -1
- package/dist/esm/components/layout/SceneFlexLayout.js +40 -19
- package/dist/esm/components/layout/SceneFlexLayout.js.map +1 -1
- package/dist/esm/components/layout/grid/LazyLoader.js +87 -0
- package/dist/esm/components/layout/grid/LazyLoader.js.map +1 -0
- package/dist/esm/components/layout/grid/SceneGridLayout.js +2 -50
- package/dist/esm/components/layout/grid/SceneGridLayout.js.map +1 -1
- package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +70 -0
- package/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js.map +1 -0
- package/dist/esm/core/SceneComponentWrapper.js +8 -1
- package/dist/esm/core/SceneComponentWrapper.js.map +1 -1
- package/dist/esm/core/SceneObjectBase.js +16 -2
- package/dist/esm/core/SceneObjectBase.js.map +1 -1
- package/dist/esm/core/sceneGraph.js +49 -30
- package/dist/esm/core/sceneGraph.js.map +1 -1
- package/dist/esm/core/types.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +11 -14
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/services/UrlSyncManager.js +52 -17
- package/dist/esm/services/UrlSyncManager.js.map +1 -1
- package/dist/esm/utils/getDataSource.js.map +1 -1
- package/dist/esm/variables/interpolation/ScopedVarsVariable.js +4 -13
- package/dist/esm/variables/interpolation/ScopedVarsVariable.js.map +1 -1
- package/dist/esm/variables/interpolation/fieldAccessorCache.js +13 -0
- package/dist/esm/variables/interpolation/fieldAccessorCache.js.map +1 -0
- package/dist/esm/variables/macros/dataMacros.js +134 -0
- package/dist/esm/variables/macros/dataMacros.js.map +1 -0
- package/dist/esm/variables/macros/index.js +5 -2
- package/dist/esm/variables/macros/index.js.map +1 -1
- package/dist/esm/variables/macros/templateProxies.js +51 -0
- package/dist/esm/variables/macros/templateProxies.js.map +1 -0
- package/dist/esm/variables/sets/SceneVariableSet.js +17 -1
- package/dist/esm/variables/sets/SceneVariableSet.js.map +1 -1
- package/dist/esm/variables/variants/TestVariable.js +3 -1
- package/dist/esm/variables/variants/TestVariable.js.map +1 -1
- package/dist/esm/variables/variants/query/QueryVariable.js +1 -17
- package/dist/esm/variables/variants/query/QueryVariable.js.map +1 -1
- package/dist/index.d.ts +84 -32
- package/dist/index.js +986 -585
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/variables/macros/DataValueMacro.js +0 -60
- package/dist/esm/variables/macros/DataValueMacro.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -32,43 +32,50 @@ class SceneObjectStateChangedEvent extends data.BusEventWithPayload {
|
|
|
32
32
|
}
|
|
33
33
|
SceneObjectStateChangedEvent.type = "scene-object-state-change";
|
|
34
34
|
|
|
35
|
-
var __defProp$
|
|
36
|
-
var __defProps$
|
|
37
|
-
var __getOwnPropDescs$
|
|
38
|
-
var __getOwnPropSymbols$
|
|
39
|
-
var __hasOwnProp$
|
|
40
|
-
var __propIsEnum$
|
|
41
|
-
var __defNormalProp$
|
|
42
|
-
var __spreadValues$
|
|
35
|
+
var __defProp$n = Object.defineProperty;
|
|
36
|
+
var __defProps$b = Object.defineProperties;
|
|
37
|
+
var __getOwnPropDescs$b = Object.getOwnPropertyDescriptors;
|
|
38
|
+
var __getOwnPropSymbols$o = Object.getOwnPropertySymbols;
|
|
39
|
+
var __hasOwnProp$o = Object.prototype.hasOwnProperty;
|
|
40
|
+
var __propIsEnum$o = Object.prototype.propertyIsEnumerable;
|
|
41
|
+
var __defNormalProp$n = (obj, key, value) => key in obj ? __defProp$n(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
42
|
+
var __spreadValues$n = (a, b) => {
|
|
43
43
|
for (var prop in b || (b = {}))
|
|
44
|
-
if (__hasOwnProp$
|
|
45
|
-
__defNormalProp$
|
|
46
|
-
if (__getOwnPropSymbols$
|
|
47
|
-
for (var prop of __getOwnPropSymbols$
|
|
48
|
-
if (__propIsEnum$
|
|
49
|
-
__defNormalProp$
|
|
44
|
+
if (__hasOwnProp$o.call(b, prop))
|
|
45
|
+
__defNormalProp$n(a, prop, b[prop]);
|
|
46
|
+
if (__getOwnPropSymbols$o)
|
|
47
|
+
for (var prop of __getOwnPropSymbols$o(b)) {
|
|
48
|
+
if (__propIsEnum$o.call(b, prop))
|
|
49
|
+
__defNormalProp$n(a, prop, b[prop]);
|
|
50
50
|
}
|
|
51
51
|
return a;
|
|
52
52
|
};
|
|
53
|
-
var __spreadProps$
|
|
54
|
-
var __objRest$
|
|
53
|
+
var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
|
|
54
|
+
var __objRest$2 = (source, exclude) => {
|
|
55
55
|
var target = {};
|
|
56
56
|
for (var prop in source)
|
|
57
|
-
if (__hasOwnProp$
|
|
57
|
+
if (__hasOwnProp$o.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
58
58
|
target[prop] = source[prop];
|
|
59
|
-
if (source != null && __getOwnPropSymbols$
|
|
60
|
-
for (var prop of __getOwnPropSymbols$
|
|
61
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
59
|
+
if (source != null && __getOwnPropSymbols$o)
|
|
60
|
+
for (var prop of __getOwnPropSymbols$o(source)) {
|
|
61
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$o.call(source, prop))
|
|
62
62
|
target[prop] = source[prop];
|
|
63
63
|
}
|
|
64
64
|
return target;
|
|
65
65
|
};
|
|
66
66
|
function SceneComponentWrapperWithoutMemo(_a) {
|
|
67
|
-
var _b = _a, { model } = _b, otherProps = __objRest$
|
|
67
|
+
var _b = _a, { model } = _b, otherProps = __objRest$2(_b, ["model"]);
|
|
68
68
|
var _a2;
|
|
69
69
|
const Component = (_a2 = model.constructor["Component"]) != null ? _a2 : EmptyRenderer;
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
const [activated, setActivated] = React__default["default"].useState(false);
|
|
71
|
+
React.useEffect(() => {
|
|
72
|
+
setActivated(true);
|
|
73
|
+
return model.activate();
|
|
74
|
+
}, [model]);
|
|
75
|
+
if (!activated) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
return /* @__PURE__ */ React__default["default"].createElement(Component, __spreadProps$b(__spreadValues$n({}, otherProps), {
|
|
72
79
|
model
|
|
73
80
|
}));
|
|
74
81
|
}
|
|
@@ -77,24 +84,24 @@ function EmptyRenderer(_) {
|
|
|
77
84
|
return null;
|
|
78
85
|
}
|
|
79
86
|
|
|
80
|
-
var __defProp$
|
|
81
|
-
var __getOwnPropSymbols$
|
|
82
|
-
var __hasOwnProp$
|
|
83
|
-
var __propIsEnum$
|
|
84
|
-
var __defNormalProp$
|
|
85
|
-
var __spreadValues$
|
|
87
|
+
var __defProp$m = Object.defineProperty;
|
|
88
|
+
var __getOwnPropSymbols$n = Object.getOwnPropertySymbols;
|
|
89
|
+
var __hasOwnProp$n = Object.prototype.hasOwnProperty;
|
|
90
|
+
var __propIsEnum$n = Object.prototype.propertyIsEnumerable;
|
|
91
|
+
var __defNormalProp$m = (obj, key, value) => key in obj ? __defProp$m(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
92
|
+
var __spreadValues$m = (a, b) => {
|
|
86
93
|
for (var prop in b || (b = {}))
|
|
87
|
-
if (__hasOwnProp$
|
|
88
|
-
__defNormalProp$
|
|
89
|
-
if (__getOwnPropSymbols$
|
|
90
|
-
for (var prop of __getOwnPropSymbols$
|
|
91
|
-
if (__propIsEnum$
|
|
92
|
-
__defNormalProp$
|
|
94
|
+
if (__hasOwnProp$n.call(b, prop))
|
|
95
|
+
__defNormalProp$m(a, prop, b[prop]);
|
|
96
|
+
if (__getOwnPropSymbols$n)
|
|
97
|
+
for (var prop of __getOwnPropSymbols$n(b)) {
|
|
98
|
+
if (__propIsEnum$n.call(b, prop))
|
|
99
|
+
__defNormalProp$m(a, prop, b[prop]);
|
|
93
100
|
}
|
|
94
101
|
return a;
|
|
95
102
|
};
|
|
96
103
|
function cloneSceneObject(sceneObject, withState) {
|
|
97
|
-
const clonedState = __spreadValues$
|
|
104
|
+
const clonedState = __spreadValues$m({}, sceneObject.state);
|
|
98
105
|
for (const key in clonedState) {
|
|
99
106
|
const propValue = clonedState[key];
|
|
100
107
|
if (propValue instanceof SceneObjectBase) {
|
|
@@ -116,19 +123,19 @@ function cloneSceneObject(sceneObject, withState) {
|
|
|
116
123
|
return new sceneObject.constructor(clonedState);
|
|
117
124
|
}
|
|
118
125
|
|
|
119
|
-
var __defProp$
|
|
120
|
-
var __getOwnPropSymbols$
|
|
121
|
-
var __hasOwnProp$
|
|
122
|
-
var __propIsEnum$
|
|
123
|
-
var __defNormalProp$
|
|
124
|
-
var __spreadValues$
|
|
126
|
+
var __defProp$l = Object.defineProperty;
|
|
127
|
+
var __getOwnPropSymbols$m = Object.getOwnPropertySymbols;
|
|
128
|
+
var __hasOwnProp$m = Object.prototype.hasOwnProperty;
|
|
129
|
+
var __propIsEnum$m = Object.prototype.propertyIsEnumerable;
|
|
130
|
+
var __defNormalProp$l = (obj, key, value) => key in obj ? __defProp$l(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
131
|
+
var __spreadValues$l = (a, b) => {
|
|
125
132
|
for (var prop in b || (b = {}))
|
|
126
|
-
if (__hasOwnProp$
|
|
127
|
-
__defNormalProp$
|
|
128
|
-
if (__getOwnPropSymbols$
|
|
129
|
-
for (var prop of __getOwnPropSymbols$
|
|
130
|
-
if (__propIsEnum$
|
|
131
|
-
__defNormalProp$
|
|
133
|
+
if (__hasOwnProp$m.call(b, prop))
|
|
134
|
+
__defNormalProp$l(a, prop, b[prop]);
|
|
135
|
+
if (__getOwnPropSymbols$m)
|
|
136
|
+
for (var prop of __getOwnPropSymbols$m(b)) {
|
|
137
|
+
if (__propIsEnum$m.call(b, prop))
|
|
138
|
+
__defNormalProp$l(a, prop, b[prop]);
|
|
132
139
|
}
|
|
133
140
|
return a;
|
|
134
141
|
};
|
|
@@ -165,7 +172,9 @@ class SceneObjectBase {
|
|
|
165
172
|
return SceneComponentWrapper;
|
|
166
173
|
}
|
|
167
174
|
_setParent() {
|
|
168
|
-
this.forEachChild((child) =>
|
|
175
|
+
this.forEachChild((child) => {
|
|
176
|
+
child._parent = this;
|
|
177
|
+
});
|
|
169
178
|
}
|
|
170
179
|
subscribeToState(handler) {
|
|
171
180
|
return this._events.subscribe(SceneObjectStateChangedEvent, (event) => {
|
|
@@ -179,7 +188,7 @@ class SceneObjectBase {
|
|
|
179
188
|
}
|
|
180
189
|
setState(update) {
|
|
181
190
|
const prevState = this._state;
|
|
182
|
-
const newState = __spreadValues$
|
|
191
|
+
const newState = __spreadValues$l(__spreadValues$l({}, this._state), update);
|
|
183
192
|
this._state = Object.freeze(newState);
|
|
184
193
|
this._setParent();
|
|
185
194
|
this.publishEvent(
|
|
@@ -203,7 +212,7 @@ class SceneObjectBase {
|
|
|
203
212
|
}
|
|
204
213
|
_internalActivate() {
|
|
205
214
|
this._isActive = true;
|
|
206
|
-
const { $data, $variables, $timeRange } = this.state;
|
|
215
|
+
const { $data, $variables, $timeRange, $behaviors } = this.state;
|
|
207
216
|
if ($timeRange && !$timeRange.isActive) {
|
|
208
217
|
this._deactivationHandlers.push($timeRange.activate());
|
|
209
218
|
}
|
|
@@ -213,6 +222,18 @@ class SceneObjectBase {
|
|
|
213
222
|
if ($data && !$data.isActive) {
|
|
214
223
|
this._deactivationHandlers.push($data.activate());
|
|
215
224
|
}
|
|
225
|
+
if ($behaviors) {
|
|
226
|
+
for (const behavior of $behaviors) {
|
|
227
|
+
if (behavior instanceof SceneObjectBase) {
|
|
228
|
+
this._deactivationHandlers.push(behavior.activate());
|
|
229
|
+
} else if (typeof behavior === "function") {
|
|
230
|
+
const deactivationHandler = behavior(this);
|
|
231
|
+
if (deactivationHandler) {
|
|
232
|
+
this._deactivationHandlers.push();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
216
237
|
this._activationHandlers.forEach((handler) => {
|
|
217
238
|
const result = handler();
|
|
218
239
|
if (result) {
|
|
@@ -283,25 +304,25 @@ function useSceneObjectState(model) {
|
|
|
283
304
|
return model.state;
|
|
284
305
|
}
|
|
285
306
|
|
|
286
|
-
var __defProp$
|
|
287
|
-
var __getOwnPropSymbols$
|
|
288
|
-
var __hasOwnProp$
|
|
289
|
-
var __propIsEnum$
|
|
290
|
-
var __defNormalProp$
|
|
291
|
-
var __spreadValues$
|
|
307
|
+
var __defProp$k = Object.defineProperty;
|
|
308
|
+
var __getOwnPropSymbols$l = Object.getOwnPropertySymbols;
|
|
309
|
+
var __hasOwnProp$l = Object.prototype.hasOwnProperty;
|
|
310
|
+
var __propIsEnum$l = Object.prototype.propertyIsEnumerable;
|
|
311
|
+
var __defNormalProp$k = (obj, key, value) => key in obj ? __defProp$k(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
312
|
+
var __spreadValues$k = (a, b) => {
|
|
292
313
|
for (var prop in b || (b = {}))
|
|
293
|
-
if (__hasOwnProp$
|
|
294
|
-
__defNormalProp$
|
|
295
|
-
if (__getOwnPropSymbols$
|
|
296
|
-
for (var prop of __getOwnPropSymbols$
|
|
297
|
-
if (__propIsEnum$
|
|
298
|
-
__defNormalProp$
|
|
314
|
+
if (__hasOwnProp$l.call(b, prop))
|
|
315
|
+
__defNormalProp$k(a, prop, b[prop]);
|
|
316
|
+
if (__getOwnPropSymbols$l)
|
|
317
|
+
for (var prop of __getOwnPropSymbols$l(b)) {
|
|
318
|
+
if (__propIsEnum$l.call(b, prop))
|
|
319
|
+
__defNormalProp$k(a, prop, b[prop]);
|
|
299
320
|
}
|
|
300
321
|
return a;
|
|
301
322
|
};
|
|
302
323
|
class SceneDataNode extends SceneObjectBase {
|
|
303
324
|
constructor(state) {
|
|
304
|
-
super(__spreadValues$
|
|
325
|
+
super(__spreadValues$k({
|
|
305
326
|
data: emptyPanelData
|
|
306
327
|
}, state));
|
|
307
328
|
}
|
|
@@ -328,19 +349,19 @@ class SceneObjectUrlSyncConfig {
|
|
|
328
349
|
}
|
|
329
350
|
}
|
|
330
351
|
|
|
331
|
-
var __defProp$
|
|
332
|
-
var __getOwnPropSymbols$
|
|
333
|
-
var __hasOwnProp$
|
|
334
|
-
var __propIsEnum$
|
|
335
|
-
var __defNormalProp$
|
|
336
|
-
var __spreadValues$
|
|
352
|
+
var __defProp$j = Object.defineProperty;
|
|
353
|
+
var __getOwnPropSymbols$k = Object.getOwnPropertySymbols;
|
|
354
|
+
var __hasOwnProp$k = Object.prototype.hasOwnProperty;
|
|
355
|
+
var __propIsEnum$k = Object.prototype.propertyIsEnumerable;
|
|
356
|
+
var __defNormalProp$j = (obj, key, value) => key in obj ? __defProp$j(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
357
|
+
var __spreadValues$j = (a, b) => {
|
|
337
358
|
for (var prop in b || (b = {}))
|
|
338
|
-
if (__hasOwnProp$
|
|
339
|
-
__defNormalProp$
|
|
340
|
-
if (__getOwnPropSymbols$
|
|
341
|
-
for (var prop of __getOwnPropSymbols$
|
|
342
|
-
if (__propIsEnum$
|
|
343
|
-
__defNormalProp$
|
|
359
|
+
if (__hasOwnProp$k.call(b, prop))
|
|
360
|
+
__defNormalProp$j(a, prop, b[prop]);
|
|
361
|
+
if (__getOwnPropSymbols$k)
|
|
362
|
+
for (var prop of __getOwnPropSymbols$k(b)) {
|
|
363
|
+
if (__propIsEnum$k.call(b, prop))
|
|
364
|
+
__defNormalProp$j(a, prop, b[prop]);
|
|
344
365
|
}
|
|
345
366
|
return a;
|
|
346
367
|
};
|
|
@@ -351,7 +372,7 @@ class SceneTimeRange extends SceneObjectBase {
|
|
|
351
372
|
const to = (_b = state.to) != null ? _b : "now";
|
|
352
373
|
const timeZone = (_c = state.timeZone) != null ? _c : data.getTimeZone();
|
|
353
374
|
const value = evaluateTimeRange(from, to, timeZone);
|
|
354
|
-
super(__spreadValues$
|
|
375
|
+
super(__spreadValues$j({ from, to, timeZone, value }, state));
|
|
355
376
|
this._urlSync = new SceneObjectUrlSyncConfig(this, { keys: ["from", "to"] });
|
|
356
377
|
this.onTimeRangeChange = (timeRange) => {
|
|
357
378
|
const update = {};
|
|
@@ -453,7 +474,16 @@ function isCustomVariableValue(value) {
|
|
|
453
474
|
return typeof value === "object" && "formatter" in value;
|
|
454
475
|
}
|
|
455
476
|
|
|
456
|
-
|
|
477
|
+
let fieldAccessorCache = {};
|
|
478
|
+
function getFieldAccessor(fieldPath) {
|
|
479
|
+
const accessor = fieldAccessorCache[fieldPath];
|
|
480
|
+
if (accessor) {
|
|
481
|
+
return accessor;
|
|
482
|
+
}
|
|
483
|
+
return fieldAccessorCache[fieldPath] = lodash.property(fieldPath);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
class ScopedVarsVariable {
|
|
457
487
|
constructor(name, value) {
|
|
458
488
|
this.state = { name, value, type: "scopedvar" };
|
|
459
489
|
}
|
|
@@ -461,7 +491,7 @@ const _ScopedVarsVariable = class {
|
|
|
461
491
|
let { value } = this.state;
|
|
462
492
|
let realValue = value.value;
|
|
463
493
|
if (fieldPath) {
|
|
464
|
-
realValue =
|
|
494
|
+
realValue = getFieldAccessor(fieldPath)(value.value);
|
|
465
495
|
} else {
|
|
466
496
|
realValue = value.value;
|
|
467
497
|
}
|
|
@@ -477,16 +507,7 @@ const _ScopedVarsVariable = class {
|
|
|
477
507
|
}
|
|
478
508
|
return String(value);
|
|
479
509
|
}
|
|
480
|
-
|
|
481
|
-
const accessor = _ScopedVarsVariable.fieldAccessorCache[fieldPath];
|
|
482
|
-
if (accessor) {
|
|
483
|
-
return accessor;
|
|
484
|
-
}
|
|
485
|
-
return _ScopedVarsVariable.fieldAccessorCache[fieldPath] = lodash.property(fieldPath);
|
|
486
|
-
}
|
|
487
|
-
};
|
|
488
|
-
let ScopedVarsVariable = _ScopedVarsVariable;
|
|
489
|
-
ScopedVarsVariable.fieldAccessorCache = {};
|
|
510
|
+
}
|
|
490
511
|
let scopedVarsVariable;
|
|
491
512
|
function getSceneVariableForScopedVar(name, value) {
|
|
492
513
|
if (!scopedVarsVariable) {
|
|
@@ -861,11 +882,58 @@ function collectAllVariables(sceneObject, record = {}) {
|
|
|
861
882
|
return record;
|
|
862
883
|
}
|
|
863
884
|
|
|
864
|
-
|
|
885
|
+
var __defProp$i = Object.defineProperty;
|
|
886
|
+
var __defProps$a = Object.defineProperties;
|
|
887
|
+
var __getOwnPropDescs$a = Object.getOwnPropertyDescriptors;
|
|
888
|
+
var __getOwnPropSymbols$j = Object.getOwnPropertySymbols;
|
|
889
|
+
var __hasOwnProp$j = Object.prototype.hasOwnProperty;
|
|
890
|
+
var __propIsEnum$j = Object.prototype.propertyIsEnumerable;
|
|
891
|
+
var __defNormalProp$i = (obj, key, value) => key in obj ? __defProp$i(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
892
|
+
var __spreadValues$i = (a, b) => {
|
|
893
|
+
for (var prop in b || (b = {}))
|
|
894
|
+
if (__hasOwnProp$j.call(b, prop))
|
|
895
|
+
__defNormalProp$i(a, prop, b[prop]);
|
|
896
|
+
if (__getOwnPropSymbols$j)
|
|
897
|
+
for (var prop of __getOwnPropSymbols$j(b)) {
|
|
898
|
+
if (__propIsEnum$j.call(b, prop))
|
|
899
|
+
__defNormalProp$i(a, prop, b[prop]);
|
|
900
|
+
}
|
|
901
|
+
return a;
|
|
902
|
+
};
|
|
903
|
+
var __spreadProps$a = (a, b) => __defProps$a(a, __getOwnPropDescs$a(b));
|
|
904
|
+
function getTemplateProxyForField(field, frame, frames) {
|
|
905
|
+
return new Proxy(
|
|
906
|
+
{},
|
|
907
|
+
{
|
|
908
|
+
get: (obj, key) => {
|
|
909
|
+
if (key === "name") {
|
|
910
|
+
return field.name;
|
|
911
|
+
}
|
|
912
|
+
if (key === "displayName") {
|
|
913
|
+
return data.getFieldDisplayName(field, frame, frames);
|
|
914
|
+
}
|
|
915
|
+
if (key === "labels" || key === "formattedLabels") {
|
|
916
|
+
if (!field.labels) {
|
|
917
|
+
return "";
|
|
918
|
+
}
|
|
919
|
+
return __spreadProps$a(__spreadValues$i({}, field.labels), {
|
|
920
|
+
__values: Object.values(field.labels).sort().join(", "),
|
|
921
|
+
toString: () => {
|
|
922
|
+
return data.formatLabels(field.labels, "", true);
|
|
923
|
+
}
|
|
924
|
+
});
|
|
925
|
+
}
|
|
926
|
+
return void 0;
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
);
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
class ValueMacro {
|
|
865
933
|
constructor(name, sceneObject, _match, _scopedVars) {
|
|
866
934
|
this._match = _match;
|
|
867
935
|
this._scopedVars = _scopedVars;
|
|
868
|
-
this.state = { name, type: "
|
|
936
|
+
this.state = { name, type: "__value" };
|
|
869
937
|
}
|
|
870
938
|
getValue(fieldPath) {
|
|
871
939
|
var _a, _b;
|
|
@@ -887,7 +955,7 @@ class DataValueMacro {
|
|
|
887
955
|
return data.formattedValueToString(calculatedValue);
|
|
888
956
|
}
|
|
889
957
|
}
|
|
890
|
-
if (
|
|
958
|
+
if (rowIndex == null) {
|
|
891
959
|
return this._match;
|
|
892
960
|
}
|
|
893
961
|
if (fieldPath === "time") {
|
|
@@ -916,11 +984,86 @@ class DataValueMacro {
|
|
|
916
984
|
}
|
|
917
985
|
}
|
|
918
986
|
const fallbackDisplayProcessor = data.getDisplayProcessor();
|
|
987
|
+
class DataMacro {
|
|
988
|
+
constructor(name, sceneObject, _match, _scopedVars) {
|
|
989
|
+
this._match = _match;
|
|
990
|
+
this._scopedVars = _scopedVars;
|
|
991
|
+
this.state = { name, type: "__data" };
|
|
992
|
+
}
|
|
993
|
+
getValue(fieldPath) {
|
|
994
|
+
var _a, _b;
|
|
995
|
+
const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;
|
|
996
|
+
if (!dataContext || !fieldPath) {
|
|
997
|
+
return this._match;
|
|
998
|
+
}
|
|
999
|
+
const { frame, rowIndex } = dataContext.value;
|
|
1000
|
+
if (rowIndex === void 0 || fieldPath === void 0) {
|
|
1001
|
+
return this._match;
|
|
1002
|
+
}
|
|
1003
|
+
const obj = {
|
|
1004
|
+
name: frame.name,
|
|
1005
|
+
refId: frame.refId,
|
|
1006
|
+
fields: data.getFieldDisplayValuesProxy({ frame, rowIndex })
|
|
1007
|
+
};
|
|
1008
|
+
return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : "";
|
|
1009
|
+
}
|
|
1010
|
+
getValueText() {
|
|
1011
|
+
return "";
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
class SeriesMacro {
|
|
1015
|
+
constructor(name, sceneObject, _match, _scopedVars) {
|
|
1016
|
+
this._match = _match;
|
|
1017
|
+
this._scopedVars = _scopedVars;
|
|
1018
|
+
this.state = { name, type: "__series" };
|
|
1019
|
+
}
|
|
1020
|
+
getValue(fieldPath) {
|
|
1021
|
+
var _a;
|
|
1022
|
+
const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;
|
|
1023
|
+
if (!dataContext || !fieldPath) {
|
|
1024
|
+
return this._match;
|
|
1025
|
+
}
|
|
1026
|
+
if (fieldPath !== "name") {
|
|
1027
|
+
return this._match;
|
|
1028
|
+
}
|
|
1029
|
+
const { frame, frameIndex } = dataContext.value;
|
|
1030
|
+
return data.getFrameDisplayName(frame, frameIndex);
|
|
1031
|
+
}
|
|
1032
|
+
getValueText() {
|
|
1033
|
+
return "";
|
|
1034
|
+
}
|
|
1035
|
+
}
|
|
1036
|
+
class FieldMacro {
|
|
1037
|
+
constructor(name, sceneObject, _match, _scopedVars) {
|
|
1038
|
+
this._match = _match;
|
|
1039
|
+
this._scopedVars = _scopedVars;
|
|
1040
|
+
this.state = { name, type: "__field" };
|
|
1041
|
+
}
|
|
1042
|
+
getValue(fieldPath) {
|
|
1043
|
+
var _a, _b;
|
|
1044
|
+
const dataContext = (_a = this._scopedVars) == null ? void 0 : _a.__dataContext;
|
|
1045
|
+
if (!dataContext || !fieldPath) {
|
|
1046
|
+
return this._match;
|
|
1047
|
+
}
|
|
1048
|
+
if (fieldPath === void 0 || fieldPath === "") {
|
|
1049
|
+
return this._match;
|
|
1050
|
+
}
|
|
1051
|
+
const { frame, field, data } = dataContext.value;
|
|
1052
|
+
const obj = getTemplateProxyForField(field, frame, data);
|
|
1053
|
+
return (_b = getFieldAccessor(fieldPath)(obj)) != null ? _b : "";
|
|
1054
|
+
}
|
|
1055
|
+
getValueText() {
|
|
1056
|
+
return "";
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
919
1059
|
|
|
920
1060
|
const macrosIndex = {
|
|
921
1061
|
[data.DataLinkBuiltInVars.includeVars]: AllVariablesMacro,
|
|
922
1062
|
[data.DataLinkBuiltInVars.keepTime]: UrlTimeRangeMacro,
|
|
923
|
-
["__value"]:
|
|
1063
|
+
["__value"]: ValueMacro,
|
|
1064
|
+
["__data"]: DataMacro,
|
|
1065
|
+
["__series"]: SeriesMacro,
|
|
1066
|
+
["__field"]: FieldMacro
|
|
924
1067
|
};
|
|
925
1068
|
|
|
926
1069
|
function sceneInterpolator(sceneObject, target, scopedVars, format) {
|
|
@@ -990,41 +1133,34 @@ function formatValue(variable, value, formatNameOrFn) {
|
|
|
990
1133
|
return formatter.formatter(value, args, variable);
|
|
991
1134
|
}
|
|
992
1135
|
|
|
1136
|
+
function getClosest(sceneObject, extract) {
|
|
1137
|
+
let curSceneObject = sceneObject;
|
|
1138
|
+
let extracted = void 0;
|
|
1139
|
+
while (curSceneObject && !extracted) {
|
|
1140
|
+
extracted = extract(curSceneObject);
|
|
1141
|
+
curSceneObject = curSceneObject.parent;
|
|
1142
|
+
}
|
|
1143
|
+
return extracted;
|
|
1144
|
+
}
|
|
993
1145
|
function getVariables(sceneObject) {
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
}
|
|
997
|
-
if (sceneObject.parent) {
|
|
998
|
-
return getVariables(sceneObject.parent);
|
|
999
|
-
}
|
|
1000
|
-
return EmptyVariableSet;
|
|
1146
|
+
var _a;
|
|
1147
|
+
return (_a = getClosest(sceneObject, (s) => s.state.$variables)) != null ? _a : EmptyVariableSet;
|
|
1001
1148
|
}
|
|
1002
1149
|
function getData(sceneObject) {
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
return $data;
|
|
1006
|
-
}
|
|
1007
|
-
if (sceneObject.parent) {
|
|
1008
|
-
return getData(sceneObject.parent);
|
|
1009
|
-
}
|
|
1010
|
-
return EmptyDataNode;
|
|
1150
|
+
var _a;
|
|
1151
|
+
return (_a = getClosest(sceneObject, (s) => s.state.$data)) != null ? _a : EmptyDataNode;
|
|
1011
1152
|
}
|
|
1012
1153
|
function getTimeRange(sceneObject) {
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
return getTimeRange(sceneObject.parent);
|
|
1019
|
-
}
|
|
1020
|
-
return DefaultTimeRange;
|
|
1154
|
+
var _a;
|
|
1155
|
+
return (_a = getClosest(sceneObject, (s) => s.state.$timeRange)) != null ? _a : DefaultTimeRange;
|
|
1156
|
+
}
|
|
1157
|
+
function isSceneLayout(s) {
|
|
1158
|
+
return "isDraggable" in s;
|
|
1021
1159
|
}
|
|
1022
1160
|
function getLayout(scene) {
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
if (scene.parent) {
|
|
1027
|
-
return getLayout(scene.parent);
|
|
1161
|
+
const parent = getClosest(scene, (s) => isSceneLayout(s) ? s : void 0);
|
|
1162
|
+
if (parent) {
|
|
1163
|
+
return parent;
|
|
1028
1164
|
}
|
|
1029
1165
|
throw new Error("No layout found in scene tree");
|
|
1030
1166
|
}
|
|
@@ -1048,6 +1184,31 @@ function hasVariableDependencyInLoadingState(sceneObject) {
|
|
|
1048
1184
|
}
|
|
1049
1185
|
return false;
|
|
1050
1186
|
}
|
|
1187
|
+
function findObjectInternal(scene, check, alreadySearchedChild, shouldSearchUp) {
|
|
1188
|
+
if (check(scene)) {
|
|
1189
|
+
return scene;
|
|
1190
|
+
}
|
|
1191
|
+
let found = null;
|
|
1192
|
+
scene.forEachChild((child) => {
|
|
1193
|
+
if (child === alreadySearchedChild) {
|
|
1194
|
+
return;
|
|
1195
|
+
}
|
|
1196
|
+
let maybe = findObjectInternal(child, check);
|
|
1197
|
+
if (maybe) {
|
|
1198
|
+
found = maybe;
|
|
1199
|
+
}
|
|
1200
|
+
});
|
|
1201
|
+
if (found) {
|
|
1202
|
+
return found;
|
|
1203
|
+
}
|
|
1204
|
+
if (shouldSearchUp && scene.parent) {
|
|
1205
|
+
return findObjectInternal(scene.parent, check, scene, true);
|
|
1206
|
+
}
|
|
1207
|
+
return null;
|
|
1208
|
+
}
|
|
1209
|
+
function findObject(scene, check) {
|
|
1210
|
+
return findObjectInternal(scene, check, void 0, true);
|
|
1211
|
+
}
|
|
1051
1212
|
const sceneGraph = {
|
|
1052
1213
|
getVariables,
|
|
1053
1214
|
getData,
|
|
@@ -1055,7 +1216,8 @@ const sceneGraph = {
|
|
|
1055
1216
|
getLayout,
|
|
1056
1217
|
interpolate,
|
|
1057
1218
|
lookupVariable,
|
|
1058
|
-
hasVariableDependencyInLoadingState
|
|
1219
|
+
hasVariableDependencyInLoadingState,
|
|
1220
|
+
findObject
|
|
1059
1221
|
};
|
|
1060
1222
|
|
|
1061
1223
|
async function getDataSource(datasource, scopedVars) {
|
|
@@ -1323,11 +1485,8 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
|
1323
1485
|
__sceneObject: { text: "__sceneObject", value: this }
|
|
1324
1486
|
};
|
|
1325
1487
|
if (!(queries == null ? void 0 : queries.length)) {
|
|
1326
|
-
this.
|
|
1327
|
-
|
|
1328
|
-
series: [],
|
|
1329
|
-
timeRange
|
|
1330
|
-
});
|
|
1488
|
+
this._setNoDataState();
|
|
1489
|
+
return;
|
|
1331
1490
|
}
|
|
1332
1491
|
const request = {
|
|
1333
1492
|
app: data.CoreApp.Dashboard,
|
|
@@ -1367,35 +1526,36 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
|
1367
1526
|
console.error("PanelQueryRunner Error", err);
|
|
1368
1527
|
}
|
|
1369
1528
|
}
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
if (t.datasource != null) {
|
|
1374
|
-
return t.datasource;
|
|
1529
|
+
_setNoDataState() {
|
|
1530
|
+
if (this.state.data !== emptyPanelData) {
|
|
1531
|
+
this.setState({ data: emptyPanelData });
|
|
1375
1532
|
}
|
|
1376
1533
|
}
|
|
1377
|
-
|
|
1534
|
+
}
|
|
1535
|
+
function findFirstDatasource(targets) {
|
|
1536
|
+
var _a, _b;
|
|
1537
|
+
return (_b = (_a = targets.find((t) => t.datasource !== null)) == null ? void 0 : _a.datasource) != null ? _b : void 0;
|
|
1378
1538
|
}
|
|
1379
1539
|
|
|
1380
|
-
var __defProp$
|
|
1381
|
-
var __defProps$
|
|
1382
|
-
var __getOwnPropDescs$
|
|
1383
|
-
var __getOwnPropSymbols$
|
|
1384
|
-
var __hasOwnProp$
|
|
1385
|
-
var __propIsEnum$
|
|
1386
|
-
var __defNormalProp$
|
|
1387
|
-
var __spreadValues$
|
|
1540
|
+
var __defProp$h = Object.defineProperty;
|
|
1541
|
+
var __defProps$9 = Object.defineProperties;
|
|
1542
|
+
var __getOwnPropDescs$9 = Object.getOwnPropertyDescriptors;
|
|
1543
|
+
var __getOwnPropSymbols$i = Object.getOwnPropertySymbols;
|
|
1544
|
+
var __hasOwnProp$i = Object.prototype.hasOwnProperty;
|
|
1545
|
+
var __propIsEnum$i = Object.prototype.propertyIsEnumerable;
|
|
1546
|
+
var __defNormalProp$h = (obj, key, value) => key in obj ? __defProp$h(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1547
|
+
var __spreadValues$h = (a, b) => {
|
|
1388
1548
|
for (var prop in b || (b = {}))
|
|
1389
|
-
if (__hasOwnProp$
|
|
1390
|
-
__defNormalProp$
|
|
1391
|
-
if (__getOwnPropSymbols$
|
|
1392
|
-
for (var prop of __getOwnPropSymbols$
|
|
1393
|
-
if (__propIsEnum$
|
|
1394
|
-
__defNormalProp$
|
|
1549
|
+
if (__hasOwnProp$i.call(b, prop))
|
|
1550
|
+
__defNormalProp$h(a, prop, b[prop]);
|
|
1551
|
+
if (__getOwnPropSymbols$i)
|
|
1552
|
+
for (var prop of __getOwnPropSymbols$i(b)) {
|
|
1553
|
+
if (__propIsEnum$i.call(b, prop))
|
|
1554
|
+
__defNormalProp$h(a, prop, b[prop]);
|
|
1395
1555
|
}
|
|
1396
1556
|
return a;
|
|
1397
1557
|
};
|
|
1398
|
-
var __spreadProps$
|
|
1558
|
+
var __spreadProps$9 = (a, b) => __defProps$9(a, __getOwnPropDescs$9(b));
|
|
1399
1559
|
class SceneDataTransformer extends SceneObjectBase {
|
|
1400
1560
|
constructor(state) {
|
|
1401
1561
|
super(state);
|
|
@@ -1452,7 +1612,7 @@ class SceneDataTransformer extends SceneObjectBase {
|
|
|
1452
1612
|
return sceneGraph.interpolate(this, value, (_a = data$1.request) == null ? void 0 : _a.scopedVars);
|
|
1453
1613
|
}
|
|
1454
1614
|
};
|
|
1455
|
-
this._transformSub = data.transformDataFrame(transformations, data$1.series, ctx).pipe(rxjs.map((series) => __spreadProps$
|
|
1615
|
+
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 }));
|
|
1456
1616
|
}
|
|
1457
1617
|
}
|
|
1458
1618
|
|
|
@@ -1536,12 +1696,18 @@ class SceneVariableSet extends SceneObjectBase {
|
|
|
1536
1696
|
this._updating = /* @__PURE__ */ new Map();
|
|
1537
1697
|
this._variableValueRecorder = new VariableValueRecorder();
|
|
1538
1698
|
this._onActivate = () => {
|
|
1699
|
+
const timeRange = sceneGraph.getTimeRange(this);
|
|
1539
1700
|
this._subs.add(
|
|
1540
1701
|
this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))
|
|
1541
1702
|
);
|
|
1542
|
-
this._subs.add(
|
|
1543
|
-
|
|
1544
|
-
|
|
1703
|
+
this._subs.add(
|
|
1704
|
+
timeRange.subscribeToState(() => {
|
|
1705
|
+
this._refreshTimeRangeBasedVariables();
|
|
1706
|
+
})
|
|
1707
|
+
);
|
|
1708
|
+
this._subs.add(this.subscribeToState(this._onStateChanged));
|
|
1709
|
+
this._checkForVariablesThatChangedWhileInactive();
|
|
1710
|
+
for (const variable of this.state.variables) {
|
|
1545
1711
|
if (this._variableNeedsUpdate(variable)) {
|
|
1546
1712
|
this._variablesToUpdate.add(variable);
|
|
1547
1713
|
}
|
|
@@ -1590,6 +1756,14 @@ class SceneVariableSet extends SceneObjectBase {
|
|
|
1590
1756
|
getByName(name) {
|
|
1591
1757
|
return this.state.variables.find((x) => x.state.name === name);
|
|
1592
1758
|
}
|
|
1759
|
+
_refreshTimeRangeBasedVariables() {
|
|
1760
|
+
for (const variable of this.state.variables) {
|
|
1761
|
+
if ("refresh" in variable.state && variable.state.refresh === data.VariableRefresh.onTimeRangeChanged) {
|
|
1762
|
+
this._variablesToUpdate.add(variable);
|
|
1763
|
+
}
|
|
1764
|
+
}
|
|
1765
|
+
this._updateNextBatch();
|
|
1766
|
+
}
|
|
1593
1767
|
_checkForVariablesThatChangedWhileInactive() {
|
|
1594
1768
|
if (!this._variableValueRecorder.hasValues()) {
|
|
1595
1769
|
return;
|
|
@@ -1679,7 +1853,7 @@ class SceneVariableSet extends SceneObjectBase {
|
|
|
1679
1853
|
for (const otherVariable of this.state.variables) {
|
|
1680
1854
|
if (otherVariable.variableDependency) {
|
|
1681
1855
|
if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {
|
|
1682
|
-
writeVariableTraceLog(otherVariable, "Added to update
|
|
1856
|
+
writeVariableTraceLog(otherVariable, "Added to update queue, dependant variable value changed");
|
|
1683
1857
|
this._variablesToUpdate.add(otherVariable);
|
|
1684
1858
|
}
|
|
1685
1859
|
}
|
|
@@ -1715,28 +1889,28 @@ function writeVariableTraceLog(variable, message, err) {
|
|
|
1715
1889
|
writeSceneLog("SceneVariableSet", `Variable[${variable.state.name}]: ${message}`, err);
|
|
1716
1890
|
}
|
|
1717
1891
|
|
|
1718
|
-
var __defProp$
|
|
1719
|
-
var __defProps$
|
|
1720
|
-
var __getOwnPropDescs$
|
|
1721
|
-
var __getOwnPropSymbols$
|
|
1722
|
-
var __hasOwnProp$
|
|
1723
|
-
var __propIsEnum$
|
|
1724
|
-
var __defNormalProp$
|
|
1725
|
-
var __spreadValues$
|
|
1892
|
+
var __defProp$g = Object.defineProperty;
|
|
1893
|
+
var __defProps$8 = Object.defineProperties;
|
|
1894
|
+
var __getOwnPropDescs$8 = Object.getOwnPropertyDescriptors;
|
|
1895
|
+
var __getOwnPropSymbols$h = Object.getOwnPropertySymbols;
|
|
1896
|
+
var __hasOwnProp$h = Object.prototype.hasOwnProperty;
|
|
1897
|
+
var __propIsEnum$h = Object.prototype.propertyIsEnumerable;
|
|
1898
|
+
var __defNormalProp$g = (obj, key, value) => key in obj ? __defProp$g(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1899
|
+
var __spreadValues$g = (a, b) => {
|
|
1726
1900
|
for (var prop in b || (b = {}))
|
|
1727
|
-
if (__hasOwnProp$
|
|
1728
|
-
__defNormalProp$
|
|
1729
|
-
if (__getOwnPropSymbols$
|
|
1730
|
-
for (var prop of __getOwnPropSymbols$
|
|
1731
|
-
if (__propIsEnum$
|
|
1732
|
-
__defNormalProp$
|
|
1901
|
+
if (__hasOwnProp$h.call(b, prop))
|
|
1902
|
+
__defNormalProp$g(a, prop, b[prop]);
|
|
1903
|
+
if (__getOwnPropSymbols$h)
|
|
1904
|
+
for (var prop of __getOwnPropSymbols$h(b)) {
|
|
1905
|
+
if (__propIsEnum$h.call(b, prop))
|
|
1906
|
+
__defNormalProp$g(a, prop, b[prop]);
|
|
1733
1907
|
}
|
|
1734
1908
|
return a;
|
|
1735
1909
|
};
|
|
1736
|
-
var __spreadProps$
|
|
1910
|
+
var __spreadProps$8 = (a, b) => __defProps$8(a, __getOwnPropDescs$8(b));
|
|
1737
1911
|
class ConstantVariable extends SceneObjectBase {
|
|
1738
1912
|
constructor(initialState) {
|
|
1739
|
-
super(__spreadProps$
|
|
1913
|
+
super(__spreadProps$8(__spreadValues$g({
|
|
1740
1914
|
type: "constant",
|
|
1741
1915
|
value: "",
|
|
1742
1916
|
name: ""
|
|
@@ -1985,25 +2159,25 @@ class CustomAllValue {
|
|
|
1985
2159
|
}
|
|
1986
2160
|
}
|
|
1987
2161
|
|
|
1988
|
-
var __defProp$
|
|
1989
|
-
var __getOwnPropSymbols$
|
|
1990
|
-
var __hasOwnProp$
|
|
1991
|
-
var __propIsEnum$
|
|
1992
|
-
var __defNormalProp$
|
|
1993
|
-
var __spreadValues$
|
|
2162
|
+
var __defProp$f = Object.defineProperty;
|
|
2163
|
+
var __getOwnPropSymbols$g = Object.getOwnPropertySymbols;
|
|
2164
|
+
var __hasOwnProp$g = Object.prototype.hasOwnProperty;
|
|
2165
|
+
var __propIsEnum$g = Object.prototype.propertyIsEnumerable;
|
|
2166
|
+
var __defNormalProp$f = (obj, key, value) => key in obj ? __defProp$f(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2167
|
+
var __spreadValues$f = (a, b) => {
|
|
1994
2168
|
for (var prop in b || (b = {}))
|
|
1995
|
-
if (__hasOwnProp$
|
|
1996
|
-
__defNormalProp$
|
|
1997
|
-
if (__getOwnPropSymbols$
|
|
1998
|
-
for (var prop of __getOwnPropSymbols$
|
|
1999
|
-
if (__propIsEnum$
|
|
2000
|
-
__defNormalProp$
|
|
2169
|
+
if (__hasOwnProp$g.call(b, prop))
|
|
2170
|
+
__defNormalProp$f(a, prop, b[prop]);
|
|
2171
|
+
if (__getOwnPropSymbols$g)
|
|
2172
|
+
for (var prop of __getOwnPropSymbols$g(b)) {
|
|
2173
|
+
if (__propIsEnum$g.call(b, prop))
|
|
2174
|
+
__defNormalProp$f(a, prop, b[prop]);
|
|
2001
2175
|
}
|
|
2002
2176
|
return a;
|
|
2003
2177
|
};
|
|
2004
2178
|
class CustomVariable extends MultiValueVariable {
|
|
2005
2179
|
constructor(initialState) {
|
|
2006
|
-
super(__spreadValues$
|
|
2180
|
+
super(__spreadValues$f({
|
|
2007
2181
|
type: "custom",
|
|
2008
2182
|
query: "",
|
|
2009
2183
|
value: "",
|
|
@@ -2036,25 +2210,25 @@ CustomVariable.Component = ({ model }) => {
|
|
|
2036
2210
|
return renderSelectForVariable(model);
|
|
2037
2211
|
};
|
|
2038
2212
|
|
|
2039
|
-
var __defProp$
|
|
2040
|
-
var __getOwnPropSymbols$
|
|
2041
|
-
var __hasOwnProp$
|
|
2042
|
-
var __propIsEnum$
|
|
2043
|
-
var __defNormalProp$
|
|
2044
|
-
var __spreadValues$
|
|
2213
|
+
var __defProp$e = Object.defineProperty;
|
|
2214
|
+
var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
|
|
2215
|
+
var __hasOwnProp$f = Object.prototype.hasOwnProperty;
|
|
2216
|
+
var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
|
|
2217
|
+
var __defNormalProp$e = (obj, key, value) => key in obj ? __defProp$e(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2218
|
+
var __spreadValues$e = (a, b) => {
|
|
2045
2219
|
for (var prop in b || (b = {}))
|
|
2046
|
-
if (__hasOwnProp$
|
|
2047
|
-
__defNormalProp$
|
|
2048
|
-
if (__getOwnPropSymbols$
|
|
2049
|
-
for (var prop of __getOwnPropSymbols$
|
|
2050
|
-
if (__propIsEnum$
|
|
2051
|
-
__defNormalProp$
|
|
2220
|
+
if (__hasOwnProp$f.call(b, prop))
|
|
2221
|
+
__defNormalProp$e(a, prop, b[prop]);
|
|
2222
|
+
if (__getOwnPropSymbols$f)
|
|
2223
|
+
for (var prop of __getOwnPropSymbols$f(b)) {
|
|
2224
|
+
if (__propIsEnum$f.call(b, prop))
|
|
2225
|
+
__defNormalProp$e(a, prop, b[prop]);
|
|
2052
2226
|
}
|
|
2053
2227
|
return a;
|
|
2054
2228
|
};
|
|
2055
2229
|
class DataSourceVariable extends MultiValueVariable {
|
|
2056
2230
|
constructor(initialState) {
|
|
2057
|
-
super(__spreadValues$
|
|
2231
|
+
super(__spreadValues$e({
|
|
2058
2232
|
type: "datasource",
|
|
2059
2233
|
value: "",
|
|
2060
2234
|
text: "",
|
|
@@ -2142,25 +2316,25 @@ const hasCustomVariableSupport = (datasource) => {
|
|
|
2142
2316
|
return "query" in variableSupport && "editor" in variableSupport && Boolean(variableSupport.query) && Boolean(variableSupport.editor);
|
|
2143
2317
|
};
|
|
2144
2318
|
|
|
2145
|
-
var __defProp$
|
|
2146
|
-
var __defProps$
|
|
2147
|
-
var __getOwnPropDescs$
|
|
2148
|
-
var __getOwnPropSymbols$
|
|
2149
|
-
var __hasOwnProp$
|
|
2150
|
-
var __propIsEnum$
|
|
2151
|
-
var __defNormalProp$
|
|
2152
|
-
var __spreadValues$
|
|
2319
|
+
var __defProp$d = Object.defineProperty;
|
|
2320
|
+
var __defProps$7 = Object.defineProperties;
|
|
2321
|
+
var __getOwnPropDescs$7 = Object.getOwnPropertyDescriptors;
|
|
2322
|
+
var __getOwnPropSymbols$e = Object.getOwnPropertySymbols;
|
|
2323
|
+
var __hasOwnProp$e = Object.prototype.hasOwnProperty;
|
|
2324
|
+
var __propIsEnum$e = Object.prototype.propertyIsEnumerable;
|
|
2325
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2326
|
+
var __spreadValues$d = (a, b) => {
|
|
2153
2327
|
for (var prop in b || (b = {}))
|
|
2154
|
-
if (__hasOwnProp$
|
|
2155
|
-
__defNormalProp$
|
|
2156
|
-
if (__getOwnPropSymbols$
|
|
2157
|
-
for (var prop of __getOwnPropSymbols$
|
|
2158
|
-
if (__propIsEnum$
|
|
2159
|
-
__defNormalProp$
|
|
2328
|
+
if (__hasOwnProp$e.call(b, prop))
|
|
2329
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
2330
|
+
if (__getOwnPropSymbols$e)
|
|
2331
|
+
for (var prop of __getOwnPropSymbols$e(b)) {
|
|
2332
|
+
if (__propIsEnum$e.call(b, prop))
|
|
2333
|
+
__defNormalProp$d(a, prop, b[prop]);
|
|
2160
2334
|
}
|
|
2161
2335
|
return a;
|
|
2162
2336
|
};
|
|
2163
|
-
var __spreadProps$
|
|
2337
|
+
var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
|
|
2164
2338
|
class StandardQueryRunner {
|
|
2165
2339
|
constructor(datasource, _runRequest = runtime.getRunRequest()) {
|
|
2166
2340
|
this.datasource = datasource;
|
|
@@ -2197,7 +2371,7 @@ class LegacyQueryRunner {
|
|
|
2197
2371
|
return getEmptyMetricFindValueObservable();
|
|
2198
2372
|
}
|
|
2199
2373
|
return rxjs.from(
|
|
2200
|
-
this.datasource.metricFindQuery(variable.state.query, __spreadProps$
|
|
2374
|
+
this.datasource.metricFindQuery(variable.state.query, __spreadProps$7(__spreadValues$d({}, request), {
|
|
2201
2375
|
variable: {
|
|
2202
2376
|
name: variable.state.name,
|
|
2203
2377
|
type: variable.state.type
|
|
@@ -2428,25 +2602,25 @@ function areMetricFindValues(data$1) {
|
|
|
2428
2602
|
return false;
|
|
2429
2603
|
}
|
|
2430
2604
|
|
|
2431
|
-
var __defProp$
|
|
2432
|
-
var __getOwnPropSymbols$
|
|
2433
|
-
var __hasOwnProp$
|
|
2434
|
-
var __propIsEnum$
|
|
2435
|
-
var __defNormalProp$
|
|
2436
|
-
var __spreadValues$
|
|
2605
|
+
var __defProp$c = Object.defineProperty;
|
|
2606
|
+
var __getOwnPropSymbols$d = Object.getOwnPropertySymbols;
|
|
2607
|
+
var __hasOwnProp$d = Object.prototype.hasOwnProperty;
|
|
2608
|
+
var __propIsEnum$d = Object.prototype.propertyIsEnumerable;
|
|
2609
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2610
|
+
var __spreadValues$c = (a, b) => {
|
|
2437
2611
|
for (var prop in b || (b = {}))
|
|
2438
|
-
if (__hasOwnProp$
|
|
2439
|
-
__defNormalProp$
|
|
2440
|
-
if (__getOwnPropSymbols$
|
|
2441
|
-
for (var prop of __getOwnPropSymbols$
|
|
2442
|
-
if (__propIsEnum$
|
|
2443
|
-
__defNormalProp$
|
|
2612
|
+
if (__hasOwnProp$d.call(b, prop))
|
|
2613
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
2614
|
+
if (__getOwnPropSymbols$d)
|
|
2615
|
+
for (var prop of __getOwnPropSymbols$d(b)) {
|
|
2616
|
+
if (__propIsEnum$d.call(b, prop))
|
|
2617
|
+
__defNormalProp$c(a, prop, b[prop]);
|
|
2444
2618
|
}
|
|
2445
2619
|
return a;
|
|
2446
2620
|
};
|
|
2447
2621
|
class QueryVariable extends MultiValueVariable {
|
|
2448
2622
|
constructor(initialState) {
|
|
2449
|
-
super(__spreadValues$
|
|
2623
|
+
super(__spreadValues$c({
|
|
2450
2624
|
type: "query",
|
|
2451
2625
|
name: "",
|
|
2452
2626
|
value: "",
|
|
@@ -2461,22 +2635,6 @@ class QueryVariable extends MultiValueVariable {
|
|
|
2461
2635
|
this._variableDependency = new VariableDependencyConfig(this, {
|
|
2462
2636
|
statePaths: ["regex", "query", "datasource"]
|
|
2463
2637
|
});
|
|
2464
|
-
this.addActivationHandler(() => this._onActivate());
|
|
2465
|
-
}
|
|
2466
|
-
_onActivate() {
|
|
2467
|
-
const timeRange = sceneGraph.getTimeRange(this);
|
|
2468
|
-
if (this.state.refresh === data.VariableRefresh.onTimeRangeChanged) {
|
|
2469
|
-
this._subs.add(
|
|
2470
|
-
timeRange.subscribeToState(() => {
|
|
2471
|
-
this.updateSubscription = this.validateAndUpdate().subscribe();
|
|
2472
|
-
})
|
|
2473
|
-
);
|
|
2474
|
-
}
|
|
2475
|
-
return () => {
|
|
2476
|
-
if (this.updateSubscription) {
|
|
2477
|
-
this.updateSubscription.unsubscribe();
|
|
2478
|
-
}
|
|
2479
|
-
};
|
|
2480
2638
|
}
|
|
2481
2639
|
getValueOptions(args) {
|
|
2482
2640
|
if (this.state.query === "" || !this.state.datasource) {
|
|
@@ -2595,31 +2753,32 @@ function queryMetricTree(query) {
|
|
|
2595
2753
|
return queryTree(children, query.split("."), 0);
|
|
2596
2754
|
}
|
|
2597
2755
|
|
|
2598
|
-
var __defProp$
|
|
2599
|
-
var __getOwnPropSymbols$
|
|
2600
|
-
var __hasOwnProp$
|
|
2601
|
-
var __propIsEnum$
|
|
2602
|
-
var __defNormalProp$
|
|
2603
|
-
var __spreadValues$
|
|
2756
|
+
var __defProp$b = Object.defineProperty;
|
|
2757
|
+
var __getOwnPropSymbols$c = Object.getOwnPropertySymbols;
|
|
2758
|
+
var __hasOwnProp$c = Object.prototype.hasOwnProperty;
|
|
2759
|
+
var __propIsEnum$c = Object.prototype.propertyIsEnumerable;
|
|
2760
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2761
|
+
var __spreadValues$b = (a, b) => {
|
|
2604
2762
|
for (var prop in b || (b = {}))
|
|
2605
|
-
if (__hasOwnProp$
|
|
2606
|
-
__defNormalProp$
|
|
2607
|
-
if (__getOwnPropSymbols$
|
|
2608
|
-
for (var prop of __getOwnPropSymbols$
|
|
2609
|
-
if (__propIsEnum$
|
|
2610
|
-
__defNormalProp$
|
|
2763
|
+
if (__hasOwnProp$c.call(b, prop))
|
|
2764
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
2765
|
+
if (__getOwnPropSymbols$c)
|
|
2766
|
+
for (var prop of __getOwnPropSymbols$c(b)) {
|
|
2767
|
+
if (__propIsEnum$c.call(b, prop))
|
|
2768
|
+
__defNormalProp$b(a, prop, b[prop]);
|
|
2611
2769
|
}
|
|
2612
2770
|
return a;
|
|
2613
2771
|
};
|
|
2614
2772
|
class TestVariable extends MultiValueVariable {
|
|
2615
2773
|
constructor(initialState) {
|
|
2616
|
-
super(__spreadValues$
|
|
2774
|
+
super(__spreadValues$b({
|
|
2617
2775
|
type: "custom",
|
|
2618
2776
|
name: "Test",
|
|
2619
2777
|
value: "Value",
|
|
2620
2778
|
text: "Text",
|
|
2621
2779
|
query: "Query",
|
|
2622
|
-
options: []
|
|
2780
|
+
options: [],
|
|
2781
|
+
refresh: data.VariableRefresh.onDashboardLoad
|
|
2623
2782
|
}, initialState));
|
|
2624
2783
|
this.completeUpdate = new rxjs.Subject();
|
|
2625
2784
|
this.isGettingValues = true;
|
|
@@ -2692,25 +2851,25 @@ function VariableValueInput({ model }) {
|
|
|
2692
2851
|
});
|
|
2693
2852
|
}
|
|
2694
2853
|
|
|
2695
|
-
var __defProp$
|
|
2696
|
-
var __getOwnPropSymbols$
|
|
2697
|
-
var __hasOwnProp$
|
|
2698
|
-
var __propIsEnum$
|
|
2699
|
-
var __defNormalProp$
|
|
2700
|
-
var __spreadValues$
|
|
2854
|
+
var __defProp$a = Object.defineProperty;
|
|
2855
|
+
var __getOwnPropSymbols$b = Object.getOwnPropertySymbols;
|
|
2856
|
+
var __hasOwnProp$b = Object.prototype.hasOwnProperty;
|
|
2857
|
+
var __propIsEnum$b = Object.prototype.propertyIsEnumerable;
|
|
2858
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
2859
|
+
var __spreadValues$a = (a, b) => {
|
|
2701
2860
|
for (var prop in b || (b = {}))
|
|
2702
|
-
if (__hasOwnProp$
|
|
2703
|
-
__defNormalProp$
|
|
2704
|
-
if (__getOwnPropSymbols$
|
|
2705
|
-
for (var prop of __getOwnPropSymbols$
|
|
2706
|
-
if (__propIsEnum$
|
|
2707
|
-
__defNormalProp$
|
|
2861
|
+
if (__hasOwnProp$b.call(b, prop))
|
|
2862
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
2863
|
+
if (__getOwnPropSymbols$b)
|
|
2864
|
+
for (var prop of __getOwnPropSymbols$b(b)) {
|
|
2865
|
+
if (__propIsEnum$b.call(b, prop))
|
|
2866
|
+
__defNormalProp$a(a, prop, b[prop]);
|
|
2708
2867
|
}
|
|
2709
2868
|
return a;
|
|
2710
2869
|
};
|
|
2711
2870
|
class TextBoxVariable extends SceneObjectBase {
|
|
2712
2871
|
constructor(initialState) {
|
|
2713
|
-
super(__spreadValues$
|
|
2872
|
+
super(__spreadValues$a({
|
|
2714
2873
|
type: "textbox",
|
|
2715
2874
|
value: "",
|
|
2716
2875
|
name: ""
|
|
@@ -2746,13 +2905,14 @@ TextBoxVariable.Component = ({ model }) => {
|
|
|
2746
2905
|
};
|
|
2747
2906
|
|
|
2748
2907
|
class UrlSyncManager {
|
|
2749
|
-
constructor(
|
|
2750
|
-
this.sceneRoot = sceneRoot;
|
|
2908
|
+
constructor() {
|
|
2751
2909
|
this.urlKeyMapper = new UniqueUrlKeyMapper();
|
|
2910
|
+
this._stateSub = null;
|
|
2911
|
+
this._locationSub = null;
|
|
2752
2912
|
this._onLocationUpdate = (location) => {
|
|
2753
2913
|
const urlParams = new URLSearchParams(location.search);
|
|
2754
|
-
this.urlKeyMapper.rebuldIndex(this.
|
|
2755
|
-
this._syncSceneStateFromUrl(this.
|
|
2914
|
+
this.urlKeyMapper.rebuldIndex(this._sceneRoot);
|
|
2915
|
+
this._syncSceneStateFromUrl(this._sceneRoot, urlParams);
|
|
2756
2916
|
};
|
|
2757
2917
|
this._onStateChanged = ({ payload }) => {
|
|
2758
2918
|
const changedObject = payload.changedObject;
|
|
@@ -2760,7 +2920,7 @@ class UrlSyncManager {
|
|
|
2760
2920
|
const newUrlState = changedObject.urlSync.getUrlState();
|
|
2761
2921
|
const searchParams = runtime.locationService.getSearch();
|
|
2762
2922
|
const mappedUpdated = {};
|
|
2763
|
-
this.urlKeyMapper.rebuldIndex(this.
|
|
2923
|
+
this.urlKeyMapper.rebuldIndex(this._sceneRoot);
|
|
2764
2924
|
for (const [key, newUrlValue] of Object.entries(newUrlState)) {
|
|
2765
2925
|
const uniqueKey = this.urlKeyMapper.getUniqueKey(key, changedObject);
|
|
2766
2926
|
const currentUrlValue = searchParams.getAll(uniqueKey);
|
|
@@ -2774,18 +2934,44 @@ class UrlSyncManager {
|
|
|
2774
2934
|
}
|
|
2775
2935
|
};
|
|
2776
2936
|
}
|
|
2777
|
-
initSync() {
|
|
2778
|
-
this.
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
}
|
|
2937
|
+
initSync(root) {
|
|
2938
|
+
if (!this._locationSub) {
|
|
2939
|
+
writeSceneLog("UrlSyncManager", "New location listen");
|
|
2940
|
+
this._locationSub = runtime.locationService.getHistory().listen(this._onLocationUpdate);
|
|
2941
|
+
}
|
|
2942
|
+
if (this._stateSub) {
|
|
2943
|
+
writeSceneLog("UrlSyncManager", "Unregister previous scene state subscription", this._sceneRoot.state.key);
|
|
2944
|
+
this._stateSub.unsubscribe();
|
|
2945
|
+
}
|
|
2946
|
+
this._sceneRoot = root;
|
|
2947
|
+
this._stateSub = root.subscribeToEvent(SceneObjectStateChangedEvent, this._onStateChanged);
|
|
2948
|
+
this.syncFrom(this._sceneRoot);
|
|
2949
|
+
}
|
|
2950
|
+
cleanUp(root) {
|
|
2951
|
+
if (this._sceneRoot !== root) {
|
|
2952
|
+
return;
|
|
2953
|
+
}
|
|
2954
|
+
writeSceneLog("UrlSyncManager", "Clean up");
|
|
2955
|
+
if (this._locationSub) {
|
|
2956
|
+
this._locationSub();
|
|
2957
|
+
writeSceneLog("UrlSyncManager", "Unregister history listen");
|
|
2958
|
+
this._locationSub = null;
|
|
2959
|
+
}
|
|
2960
|
+
if (this._stateSub) {
|
|
2961
|
+
this._stateSub.unsubscribe();
|
|
2962
|
+
this._stateSub = null;
|
|
2963
|
+
writeSceneLog(
|
|
2964
|
+
"UrlSyncManager",
|
|
2965
|
+
"Root deactived, unsub to state",
|
|
2966
|
+
"same key",
|
|
2967
|
+
this._sceneRoot.state.key === root.state.key
|
|
2968
|
+
);
|
|
2969
|
+
}
|
|
2970
|
+
}
|
|
2971
|
+
syncFrom(sceneObj) {
|
|
2786
2972
|
const urlParams = runtime.locationService.getSearch();
|
|
2787
|
-
this.urlKeyMapper.rebuldIndex(this.
|
|
2788
|
-
this._syncSceneStateFromUrl(
|
|
2973
|
+
this.urlKeyMapper.rebuldIndex(this._sceneRoot);
|
|
2974
|
+
this._syncSceneStateFromUrl(sceneObj, urlParams);
|
|
2789
2975
|
}
|
|
2790
2976
|
_syncSceneStateFromUrl(sceneObject, urlParams) {
|
|
2791
2977
|
if (sceneObject.urlSync) {
|
|
@@ -2861,13 +3047,23 @@ function isUrlValueEqual(currentUrlValue, newUrlValue) {
|
|
|
2861
3047
|
}
|
|
2862
3048
|
return lodash.isEqual(currentUrlValue, newUrlValue);
|
|
2863
3049
|
}
|
|
3050
|
+
let urlSyncManager;
|
|
3051
|
+
function getUrlSyncManager() {
|
|
3052
|
+
if (!urlSyncManager) {
|
|
3053
|
+
urlSyncManager = new UrlSyncManager();
|
|
3054
|
+
}
|
|
3055
|
+
return urlSyncManager;
|
|
3056
|
+
}
|
|
2864
3057
|
|
|
2865
3058
|
class EmbeddedScene extends SceneObjectBase {
|
|
3059
|
+
constructor(state) {
|
|
3060
|
+
super(state);
|
|
3061
|
+
this.addActivationHandler(() => {
|
|
3062
|
+
return () => getUrlSyncManager().cleanUp(this);
|
|
3063
|
+
});
|
|
3064
|
+
}
|
|
2866
3065
|
initUrlSync() {
|
|
2867
|
-
|
|
2868
|
-
this.urlSyncManager = new UrlSyncManager(this);
|
|
2869
|
-
}
|
|
2870
|
-
this.urlSyncManager.initSync();
|
|
3066
|
+
getUrlSyncManager().initSync(this);
|
|
2871
3067
|
}
|
|
2872
3068
|
}
|
|
2873
3069
|
EmbeddedScene.Component = EmbeddedSceneRenderer;
|
|
@@ -2910,17 +3106,17 @@ function getStyles$1(theme) {
|
|
|
2910
3106
|
};
|
|
2911
3107
|
}
|
|
2912
3108
|
|
|
2913
|
-
var __getOwnPropSymbols$
|
|
2914
|
-
var __hasOwnProp$
|
|
2915
|
-
var __propIsEnum$
|
|
2916
|
-
var __objRest = (source, exclude) => {
|
|
3109
|
+
var __getOwnPropSymbols$a = Object.getOwnPropertySymbols;
|
|
3110
|
+
var __hasOwnProp$a = Object.prototype.hasOwnProperty;
|
|
3111
|
+
var __propIsEnum$a = Object.prototype.propertyIsEnumerable;
|
|
3112
|
+
var __objRest$1 = (source, exclude) => {
|
|
2917
3113
|
var target = {};
|
|
2918
3114
|
for (var prop in source)
|
|
2919
|
-
if (__hasOwnProp$
|
|
3115
|
+
if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
2920
3116
|
target[prop] = source[prop];
|
|
2921
|
-
if (source != null && __getOwnPropSymbols$
|
|
2922
|
-
for (var prop of __getOwnPropSymbols$
|
|
2923
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$
|
|
3117
|
+
if (source != null && __getOwnPropSymbols$a)
|
|
3118
|
+
for (var prop of __getOwnPropSymbols$a(source)) {
|
|
3119
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$a.call(source, prop))
|
|
2924
3120
|
target[prop] = source[prop];
|
|
2925
3121
|
}
|
|
2926
3122
|
return target;
|
|
@@ -2938,7 +3134,7 @@ function VizPanelRenderer({ model }) {
|
|
|
2938
3134
|
displayMode,
|
|
2939
3135
|
hoverHeader,
|
|
2940
3136
|
menu
|
|
2941
|
-
} = _a, state = __objRest(_a, [
|
|
3137
|
+
} = _a, state = __objRest$1(_a, [
|
|
2942
3138
|
"title",
|
|
2943
3139
|
"description",
|
|
2944
3140
|
"options",
|
|
@@ -3034,25 +3230,25 @@ function getChromeStatusMessage(data, pluginLoadingError) {
|
|
|
3034
3230
|
return data.error ? data.error.message : void 0;
|
|
3035
3231
|
}
|
|
3036
3232
|
|
|
3037
|
-
var __defProp$
|
|
3038
|
-
var __defProps$
|
|
3039
|
-
var __getOwnPropDescs$
|
|
3040
|
-
var __getOwnPropSymbols$
|
|
3041
|
-
var __hasOwnProp$
|
|
3042
|
-
var __propIsEnum$
|
|
3043
|
-
var __defNormalProp$
|
|
3044
|
-
var __spreadValues$
|
|
3233
|
+
var __defProp$9 = Object.defineProperty;
|
|
3234
|
+
var __defProps$6 = Object.defineProperties;
|
|
3235
|
+
var __getOwnPropDescs$6 = Object.getOwnPropertyDescriptors;
|
|
3236
|
+
var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
|
|
3237
|
+
var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
|
|
3238
|
+
var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
|
|
3239
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3240
|
+
var __spreadValues$9 = (a, b) => {
|
|
3045
3241
|
for (var prop in b || (b = {}))
|
|
3046
|
-
if (__hasOwnProp$
|
|
3047
|
-
__defNormalProp$
|
|
3048
|
-
if (__getOwnPropSymbols$
|
|
3049
|
-
for (var prop of __getOwnPropSymbols$
|
|
3050
|
-
if (__propIsEnum$
|
|
3051
|
-
__defNormalProp$
|
|
3242
|
+
if (__hasOwnProp$9.call(b, prop))
|
|
3243
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
3244
|
+
if (__getOwnPropSymbols$9)
|
|
3245
|
+
for (var prop of __getOwnPropSymbols$9(b)) {
|
|
3246
|
+
if (__propIsEnum$9.call(b, prop))
|
|
3247
|
+
__defNormalProp$9(a, prop, b[prop]);
|
|
3052
3248
|
}
|
|
3053
3249
|
return a;
|
|
3054
3250
|
};
|
|
3055
|
-
var __spreadProps$
|
|
3251
|
+
var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
|
|
3056
3252
|
const displayOverrideRef = "hideSeriesFrom";
|
|
3057
3253
|
const isHideSeriesOverride = data.isSystemOverrideWithRef(displayOverrideRef);
|
|
3058
3254
|
function seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {
|
|
@@ -3062,13 +3258,13 @@ function seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {
|
|
|
3062
3258
|
if (currentIndex < 0) {
|
|
3063
3259
|
if (mode === ui.SeriesVisibilityChangeMode.ToggleSelection) {
|
|
3064
3260
|
const override3 = createOverride$1([displayName, ...getNamesOfHiddenFields(overrides, data)]);
|
|
3065
|
-
return __spreadProps$
|
|
3261
|
+
return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
|
|
3066
3262
|
overrides: [...fieldConfig.overrides, override3]
|
|
3067
3263
|
});
|
|
3068
3264
|
}
|
|
3069
3265
|
const displayNames = getDisplayNames(data, displayName);
|
|
3070
3266
|
const override2 = createOverride$1(displayNames);
|
|
3071
|
-
return __spreadProps$
|
|
3267
|
+
return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
|
|
3072
3268
|
overrides: [...fieldConfig.overrides, override2]
|
|
3073
3269
|
});
|
|
3074
3270
|
}
|
|
@@ -3081,22 +3277,22 @@ function seriesVisibilityConfigFactory(label, mode, fieldConfig, data) {
|
|
|
3081
3277
|
existing = existing.filter((el) => nameOfHiddenFields.indexOf(el) < 0);
|
|
3082
3278
|
}
|
|
3083
3279
|
if (existing[0] === displayName && existing.length === 1) {
|
|
3084
|
-
return __spreadProps$
|
|
3280
|
+
return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
|
|
3085
3281
|
overrides: overridesCopy
|
|
3086
3282
|
});
|
|
3087
3283
|
}
|
|
3088
3284
|
const override2 = createOverride$1([displayName, ...nameOfHiddenFields]);
|
|
3089
|
-
return __spreadProps$
|
|
3285
|
+
return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
|
|
3090
3286
|
overrides: [...overridesCopy, override2]
|
|
3091
3287
|
});
|
|
3092
3288
|
}
|
|
3093
3289
|
const override = createExtendedOverride(current, displayName);
|
|
3094
3290
|
if (allFieldsAreExcluded(override, data)) {
|
|
3095
|
-
return __spreadProps$
|
|
3291
|
+
return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
|
|
3096
3292
|
overrides: overridesCopy
|
|
3097
3293
|
});
|
|
3098
3294
|
}
|
|
3099
|
-
return __spreadProps$
|
|
3295
|
+
return __spreadProps$6(__spreadValues$9({}, fieldConfig), {
|
|
3100
3296
|
overrides: [...overridesCopy, override]
|
|
3101
3297
|
});
|
|
3102
3298
|
}
|
|
@@ -3121,7 +3317,7 @@ function createOverride$1(names, mode = data.ByNamesMatcherMode.exclude, propert
|
|
|
3121
3317
|
}
|
|
3122
3318
|
},
|
|
3123
3319
|
properties: [
|
|
3124
|
-
__spreadProps$
|
|
3320
|
+
__spreadProps$6(__spreadValues$9({}, property), {
|
|
3125
3321
|
value: {
|
|
3126
3322
|
viz: true,
|
|
3127
3323
|
legend: false,
|
|
@@ -3193,32 +3389,32 @@ const getNamesOfHiddenFields = (overrides, data$1) => {
|
|
|
3193
3389
|
return names;
|
|
3194
3390
|
};
|
|
3195
3391
|
|
|
3196
|
-
var __defProp$
|
|
3197
|
-
var __defProps$
|
|
3198
|
-
var __getOwnPropDescs$
|
|
3199
|
-
var __getOwnPropSymbols$
|
|
3200
|
-
var __hasOwnProp$
|
|
3201
|
-
var __propIsEnum$
|
|
3202
|
-
var __defNormalProp$
|
|
3203
|
-
var __spreadValues$
|
|
3392
|
+
var __defProp$8 = Object.defineProperty;
|
|
3393
|
+
var __defProps$5 = Object.defineProperties;
|
|
3394
|
+
var __getOwnPropDescs$5 = Object.getOwnPropertyDescriptors;
|
|
3395
|
+
var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
|
|
3396
|
+
var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
|
|
3397
|
+
var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
|
|
3398
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3399
|
+
var __spreadValues$8 = (a, b) => {
|
|
3204
3400
|
for (var prop in b || (b = {}))
|
|
3205
|
-
if (__hasOwnProp$
|
|
3206
|
-
__defNormalProp$
|
|
3207
|
-
if (__getOwnPropSymbols$
|
|
3208
|
-
for (var prop of __getOwnPropSymbols$
|
|
3209
|
-
if (__propIsEnum$
|
|
3210
|
-
__defNormalProp$
|
|
3401
|
+
if (__hasOwnProp$8.call(b, prop))
|
|
3402
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
3403
|
+
if (__getOwnPropSymbols$8)
|
|
3404
|
+
for (var prop of __getOwnPropSymbols$8(b)) {
|
|
3405
|
+
if (__propIsEnum$8.call(b, prop))
|
|
3406
|
+
__defNormalProp$8(a, prop, b[prop]);
|
|
3211
3407
|
}
|
|
3212
3408
|
return a;
|
|
3213
3409
|
};
|
|
3214
|
-
var __spreadProps$
|
|
3410
|
+
var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
|
|
3215
3411
|
const changeSeriesColorConfigFactory = (label, color, fieldConfig) => {
|
|
3216
3412
|
const { overrides } = fieldConfig;
|
|
3217
3413
|
const currentIndex = fieldConfig.overrides.findIndex((override) => {
|
|
3218
3414
|
return override.matcher.id === data.FieldMatcherID.byName && override.matcher.options === label;
|
|
3219
3415
|
});
|
|
3220
3416
|
if (currentIndex < 0) {
|
|
3221
|
-
return __spreadProps$
|
|
3417
|
+
return __spreadProps$5(__spreadValues$8({}, fieldConfig), {
|
|
3222
3418
|
overrides: [...fieldConfig.overrides, createOverride(label, color)]
|
|
3223
3419
|
});
|
|
3224
3420
|
}
|
|
@@ -3226,19 +3422,19 @@ const changeSeriesColorConfigFactory = (label, color, fieldConfig) => {
|
|
|
3226
3422
|
const existing = overridesCopy[currentIndex];
|
|
3227
3423
|
const propertyIndex = existing.properties.findIndex((p) => p.id === "color");
|
|
3228
3424
|
if (propertyIndex < 0) {
|
|
3229
|
-
overridesCopy[currentIndex] = __spreadProps$
|
|
3425
|
+
overridesCopy[currentIndex] = __spreadProps$5(__spreadValues$8({}, existing), {
|
|
3230
3426
|
properties: [...existing.properties, createProperty(color)]
|
|
3231
3427
|
});
|
|
3232
|
-
return __spreadProps$
|
|
3428
|
+
return __spreadProps$5(__spreadValues$8({}, fieldConfig), {
|
|
3233
3429
|
overrides: overridesCopy
|
|
3234
3430
|
});
|
|
3235
3431
|
}
|
|
3236
3432
|
const propertiesCopy = Array.from(existing.properties);
|
|
3237
3433
|
propertiesCopy[propertyIndex] = createProperty(color);
|
|
3238
|
-
overridesCopy[currentIndex] = __spreadProps$
|
|
3434
|
+
overridesCopy[currentIndex] = __spreadProps$5(__spreadValues$8({}, existing), {
|
|
3239
3435
|
properties: propertiesCopy
|
|
3240
3436
|
});
|
|
3241
|
-
return __spreadProps$
|
|
3437
|
+
return __spreadProps$5(__spreadValues$8({}, fieldConfig), {
|
|
3242
3438
|
overrides: overridesCopy
|
|
3243
3439
|
});
|
|
3244
3440
|
};
|
|
@@ -3261,28 +3457,28 @@ const createProperty = (color) => {
|
|
|
3261
3457
|
};
|
|
3262
3458
|
};
|
|
3263
3459
|
|
|
3264
|
-
var __defProp$
|
|
3265
|
-
var __defProps$
|
|
3266
|
-
var __getOwnPropDescs$
|
|
3267
|
-
var __getOwnPropSymbols$
|
|
3268
|
-
var __hasOwnProp$
|
|
3269
|
-
var __propIsEnum$
|
|
3270
|
-
var __defNormalProp$
|
|
3271
|
-
var __spreadValues$
|
|
3460
|
+
var __defProp$7 = Object.defineProperty;
|
|
3461
|
+
var __defProps$4 = Object.defineProperties;
|
|
3462
|
+
var __getOwnPropDescs$4 = Object.getOwnPropertyDescriptors;
|
|
3463
|
+
var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
|
|
3464
|
+
var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
|
|
3465
|
+
var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
|
|
3466
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3467
|
+
var __spreadValues$7 = (a, b) => {
|
|
3272
3468
|
for (var prop in b || (b = {}))
|
|
3273
|
-
if (__hasOwnProp$
|
|
3274
|
-
__defNormalProp$
|
|
3275
|
-
if (__getOwnPropSymbols$
|
|
3276
|
-
for (var prop of __getOwnPropSymbols$
|
|
3277
|
-
if (__propIsEnum$
|
|
3278
|
-
__defNormalProp$
|
|
3469
|
+
if (__hasOwnProp$7.call(b, prop))
|
|
3470
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
3471
|
+
if (__getOwnPropSymbols$7)
|
|
3472
|
+
for (var prop of __getOwnPropSymbols$7(b)) {
|
|
3473
|
+
if (__propIsEnum$7.call(b, prop))
|
|
3474
|
+
__defNormalProp$7(a, prop, b[prop]);
|
|
3279
3475
|
}
|
|
3280
3476
|
return a;
|
|
3281
3477
|
};
|
|
3282
|
-
var __spreadProps$
|
|
3478
|
+
var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
|
|
3283
3479
|
class VizPanel extends SceneObjectBase {
|
|
3284
3480
|
constructor(state) {
|
|
3285
|
-
super(__spreadValues$
|
|
3481
|
+
super(__spreadValues$7({
|
|
3286
3482
|
options: {},
|
|
3287
3483
|
fieldConfig: { defaults: {}, overrides: [] },
|
|
3288
3484
|
title: "Title",
|
|
@@ -3343,8 +3539,8 @@ class VizPanel extends SceneObjectBase {
|
|
|
3343
3539
|
sortDesc = !sortDesc;
|
|
3344
3540
|
sortBy = sortKey;
|
|
3345
3541
|
}
|
|
3346
|
-
this.onOptionsChange(__spreadProps$
|
|
3347
|
-
legend: __spreadProps$
|
|
3542
|
+
this.onOptionsChange(__spreadProps$4(__spreadValues$7({}, this.state.options), {
|
|
3543
|
+
legend: __spreadProps$4(__spreadValues$7({}, legendOptions), { sortBy, sortDesc })
|
|
3348
3544
|
}));
|
|
3349
3545
|
};
|
|
3350
3546
|
this._panelContext = {
|
|
@@ -3419,7 +3615,7 @@ class VizPanel extends SceneObjectBase {
|
|
|
3419
3615
|
if (rawData.structureRev == null && newFrames && prevFrames && !data.compareArrayValues(newFrames, prevFrames, data.compareDataFrameStructures)) {
|
|
3420
3616
|
this._structureRev++;
|
|
3421
3617
|
}
|
|
3422
|
-
this._dataWithFieldConfig = __spreadProps$
|
|
3618
|
+
this._dataWithFieldConfig = __spreadProps$4(__spreadValues$7({}, rawData), {
|
|
3423
3619
|
structureRev: this._structureRev,
|
|
3424
3620
|
series: data.applyFieldOverrides({
|
|
3425
3621
|
data: newFrames,
|
|
@@ -3635,30 +3831,30 @@ function SceneTimePickerRenderer({ model }) {
|
|
|
3635
3831
|
});
|
|
3636
3832
|
}
|
|
3637
3833
|
|
|
3638
|
-
var __defProp$
|
|
3639
|
-
var __defProps$
|
|
3640
|
-
var __getOwnPropDescs$
|
|
3641
|
-
var __getOwnPropSymbols$
|
|
3642
|
-
var __hasOwnProp$
|
|
3643
|
-
var __propIsEnum$
|
|
3644
|
-
var __defNormalProp$
|
|
3645
|
-
var __spreadValues$
|
|
3834
|
+
var __defProp$6 = Object.defineProperty;
|
|
3835
|
+
var __defProps$3 = Object.defineProperties;
|
|
3836
|
+
var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
|
|
3837
|
+
var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
|
|
3838
|
+
var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
|
|
3839
|
+
var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
|
|
3840
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3841
|
+
var __spreadValues$6 = (a, b) => {
|
|
3646
3842
|
for (var prop in b || (b = {}))
|
|
3647
|
-
if (__hasOwnProp$
|
|
3648
|
-
__defNormalProp$
|
|
3649
|
-
if (__getOwnPropSymbols$
|
|
3650
|
-
for (var prop of __getOwnPropSymbols$
|
|
3651
|
-
if (__propIsEnum$
|
|
3652
|
-
__defNormalProp$
|
|
3843
|
+
if (__hasOwnProp$6.call(b, prop))
|
|
3844
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
3845
|
+
if (__getOwnPropSymbols$6)
|
|
3846
|
+
for (var prop of __getOwnPropSymbols$6(b)) {
|
|
3847
|
+
if (__propIsEnum$6.call(b, prop))
|
|
3848
|
+
__defNormalProp$6(a, prop, b[prop]);
|
|
3653
3849
|
}
|
|
3654
3850
|
return a;
|
|
3655
3851
|
};
|
|
3656
|
-
var __spreadProps$
|
|
3852
|
+
var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
|
|
3657
3853
|
const DEFAULT_INTERVALS = ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"];
|
|
3658
3854
|
class SceneRefreshPicker extends SceneObjectBase {
|
|
3659
3855
|
constructor(state) {
|
|
3660
3856
|
var _a;
|
|
3661
|
-
super(__spreadProps$
|
|
3857
|
+
super(__spreadProps$3(__spreadValues$6({
|
|
3662
3858
|
refresh: ""
|
|
3663
3859
|
}, state), {
|
|
3664
3860
|
intervals: (_a = state.intervals) != null ? _a : DEFAULT_INTERVALS
|
|
@@ -3769,6 +3965,22 @@ SceneControlsSpacer.Component = (_props) => {
|
|
|
3769
3965
|
});
|
|
3770
3966
|
};
|
|
3771
3967
|
|
|
3968
|
+
var __defProp$5 = Object.defineProperty;
|
|
3969
|
+
var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
|
|
3970
|
+
var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
|
|
3971
|
+
var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
|
|
3972
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3973
|
+
var __spreadValues$5 = (a, b) => {
|
|
3974
|
+
for (var prop in b || (b = {}))
|
|
3975
|
+
if (__hasOwnProp$5.call(b, prop))
|
|
3976
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
3977
|
+
if (__getOwnPropSymbols$5)
|
|
3978
|
+
for (var prop of __getOwnPropSymbols$5(b)) {
|
|
3979
|
+
if (__propIsEnum$5.call(b, prop))
|
|
3980
|
+
__defNormalProp$5(a, prop, b[prop]);
|
|
3981
|
+
}
|
|
3982
|
+
return a;
|
|
3983
|
+
};
|
|
3772
3984
|
class SceneFlexLayout extends SceneObjectBase {
|
|
3773
3985
|
toggleDirection() {
|
|
3774
3986
|
this.setState({
|
|
@@ -3780,9 +3992,12 @@ class SceneFlexLayout extends SceneObjectBase {
|
|
|
3780
3992
|
}
|
|
3781
3993
|
}
|
|
3782
3994
|
SceneFlexLayout.Component = SceneFlexLayoutRenderer;
|
|
3783
|
-
function SceneFlexLayoutRenderer({ model }) {
|
|
3784
|
-
const { direction = "row", children, wrap } = model.useState();
|
|
3785
|
-
|
|
3995
|
+
function SceneFlexLayoutRenderer({ model, parentDirection }) {
|
|
3996
|
+
const { direction = "row", children, wrap, isHidden } = model.useState();
|
|
3997
|
+
if (isHidden) {
|
|
3998
|
+
return null;
|
|
3999
|
+
}
|
|
4000
|
+
let style = {
|
|
3786
4001
|
display: "flex",
|
|
3787
4002
|
flexGrow: 1,
|
|
3788
4003
|
flexDirection: direction,
|
|
@@ -3791,28 +4006,33 @@ function SceneFlexLayoutRenderer({ model }) {
|
|
|
3791
4006
|
alignContent: "baseline",
|
|
3792
4007
|
minHeight: 0
|
|
3793
4008
|
};
|
|
4009
|
+
if (parentDirection) {
|
|
4010
|
+
style = __spreadValues$5(__spreadValues$5({}, getFlexItemItemStyles(parentDirection || "row", model)), style);
|
|
4011
|
+
}
|
|
3794
4012
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
3795
4013
|
style
|
|
3796
|
-
}, children.map((item) =>
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
4014
|
+
}, children.map((item) => {
|
|
4015
|
+
const Component = item.Component;
|
|
4016
|
+
return /* @__PURE__ */ React__default["default"].createElement(Component, {
|
|
4017
|
+
key: item.state.key,
|
|
4018
|
+
model: item,
|
|
4019
|
+
parentDirection: direction
|
|
4020
|
+
});
|
|
4021
|
+
}));
|
|
3800
4022
|
}
|
|
3801
4023
|
class SceneFlexItem extends SceneObjectBase {
|
|
3802
4024
|
}
|
|
3803
4025
|
SceneFlexItem.Component = SceneFlexItemRenderer;
|
|
3804
|
-
function SceneFlexItemRenderer({ model }) {
|
|
3805
|
-
const { body } = model.useState();
|
|
3806
|
-
|
|
4026
|
+
function SceneFlexItemRenderer({ model, parentDirection }) {
|
|
4027
|
+
const { body, isHidden } = model.useState();
|
|
4028
|
+
if (!body || isHidden) {
|
|
4029
|
+
return null;
|
|
4030
|
+
}
|
|
3807
4031
|
let style = {};
|
|
3808
|
-
if (
|
|
3809
|
-
style = getFlexItemItemStyles(parent.state.direction || "row", model);
|
|
3810
|
-
} else {
|
|
4032
|
+
if (!parentDirection) {
|
|
3811
4033
|
throw new Error("SceneFlexItem must be a child of SceneFlexLayout");
|
|
3812
4034
|
}
|
|
3813
|
-
|
|
3814
|
-
return null;
|
|
3815
|
-
}
|
|
4035
|
+
style = getFlexItemItemStyles(parentDirection, model);
|
|
3816
4036
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
3817
4037
|
style
|
|
3818
4038
|
}, /* @__PURE__ */ React__default["default"].createElement(body.Component, {
|
|
@@ -3855,15 +4075,155 @@ function getFlexItemItemStyles(direction, item) {
|
|
|
3855
4075
|
}
|
|
3856
4076
|
return style;
|
|
3857
4077
|
}
|
|
3858
|
-
function isSceneFlexLayout(model) {
|
|
3859
|
-
return model instanceof SceneFlexLayout;
|
|
3860
|
-
}
|
|
3861
4078
|
|
|
3862
4079
|
const DEFAULT_PANEL_SPAN = 4;
|
|
3863
4080
|
const GRID_CELL_HEIGHT = 30;
|
|
3864
4081
|
const GRID_CELL_VMARGIN = 8;
|
|
3865
4082
|
const GRID_COLUMN_COUNT = 24;
|
|
3866
4083
|
|
|
4084
|
+
var __defProp$4 = Object.defineProperty;
|
|
4085
|
+
var __defProps$2 = Object.defineProperties;
|
|
4086
|
+
var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
|
|
4087
|
+
var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
|
|
4088
|
+
var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
|
|
4089
|
+
var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
|
|
4090
|
+
var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4091
|
+
var __spreadValues$4 = (a, b) => {
|
|
4092
|
+
for (var prop in b || (b = {}))
|
|
4093
|
+
if (__hasOwnProp$4.call(b, prop))
|
|
4094
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
4095
|
+
if (__getOwnPropSymbols$4)
|
|
4096
|
+
for (var prop of __getOwnPropSymbols$4(b)) {
|
|
4097
|
+
if (__propIsEnum$4.call(b, prop))
|
|
4098
|
+
__defNormalProp$4(a, prop, b[prop]);
|
|
4099
|
+
}
|
|
4100
|
+
return a;
|
|
4101
|
+
};
|
|
4102
|
+
var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
|
|
4103
|
+
var __objRest = (source, exclude) => {
|
|
4104
|
+
var target = {};
|
|
4105
|
+
for (var prop in source)
|
|
4106
|
+
if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
4107
|
+
target[prop] = source[prop];
|
|
4108
|
+
if (source != null && __getOwnPropSymbols$4)
|
|
4109
|
+
for (var prop of __getOwnPropSymbols$4(source)) {
|
|
4110
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))
|
|
4111
|
+
target[prop] = source[prop];
|
|
4112
|
+
}
|
|
4113
|
+
return target;
|
|
4114
|
+
};
|
|
4115
|
+
function useUniqueId() {
|
|
4116
|
+
var _a;
|
|
4117
|
+
const idRefLazy = React.useRef(void 0);
|
|
4118
|
+
(_a = idRefLazy.current) != null ? _a : idRefLazy.current = lodash.uniqueId();
|
|
4119
|
+
return idRefLazy.current;
|
|
4120
|
+
}
|
|
4121
|
+
function LazyLoader(_a) {
|
|
4122
|
+
var _b = _a, { children, width, height, onLoad, onChange, style } = _b, rest = __objRest(_b, ["children", "width", "height", "onLoad", "onChange", "style"]);
|
|
4123
|
+
const id = useUniqueId();
|
|
4124
|
+
const [loaded, setLoaded] = React.useState(false);
|
|
4125
|
+
const [isInView, setIsInView] = React.useState(false);
|
|
4126
|
+
const wrapperRef = React.useRef(null);
|
|
4127
|
+
reactUse.useEffectOnce(() => {
|
|
4128
|
+
LazyLoader.addCallback(id, (entry) => {
|
|
4129
|
+
if (!loaded && entry.isIntersecting) {
|
|
4130
|
+
setLoaded(true);
|
|
4131
|
+
onLoad == null ? void 0 : onLoad();
|
|
4132
|
+
}
|
|
4133
|
+
setIsInView(entry.isIntersecting);
|
|
4134
|
+
onChange == null ? void 0 : onChange(entry.isIntersecting);
|
|
4135
|
+
});
|
|
4136
|
+
const wrapperEl = wrapperRef.current;
|
|
4137
|
+
if (wrapperEl) {
|
|
4138
|
+
LazyLoader.observer.observe(wrapperEl);
|
|
4139
|
+
}
|
|
4140
|
+
return () => {
|
|
4141
|
+
delete LazyLoader.callbacks[id];
|
|
4142
|
+
wrapperEl && LazyLoader.observer.unobserve(wrapperEl);
|
|
4143
|
+
if (Object.keys(LazyLoader.callbacks).length === 0) {
|
|
4144
|
+
LazyLoader.observer.disconnect();
|
|
4145
|
+
}
|
|
4146
|
+
};
|
|
4147
|
+
});
|
|
4148
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", __spreadValues$4({
|
|
4149
|
+
id,
|
|
4150
|
+
ref: wrapperRef,
|
|
4151
|
+
style: __spreadProps$2(__spreadValues$4({}, style), { width, height })
|
|
4152
|
+
}, rest), loaded && (typeof children === "function" ? children({ isInView }) : children));
|
|
4153
|
+
}
|
|
4154
|
+
LazyLoader.callbacks = {};
|
|
4155
|
+
LazyLoader.addCallback = (id, c) => LazyLoader.callbacks[id] = c;
|
|
4156
|
+
LazyLoader.observer = new IntersectionObserver(
|
|
4157
|
+
(entries) => {
|
|
4158
|
+
for (const entry of entries) {
|
|
4159
|
+
LazyLoader.callbacks[entry.target.id](entry);
|
|
4160
|
+
}
|
|
4161
|
+
},
|
|
4162
|
+
{ rootMargin: "100px" }
|
|
4163
|
+
);
|
|
4164
|
+
|
|
4165
|
+
function SceneGridLayoutRenderer({ model }) {
|
|
4166
|
+
const { children, isLazy } = model.useState();
|
|
4167
|
+
const LazyWrapper = isLazy ? LazyLoader : ({ style, children: children2 }) => /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4168
|
+
style
|
|
4169
|
+
}, children2);
|
|
4170
|
+
validateChildrenSize(children);
|
|
4171
|
+
return /* @__PURE__ */ React__default["default"].createElement(AutoSizer__default["default"], {
|
|
4172
|
+
disableHeight: true
|
|
4173
|
+
}, ({ width }) => {
|
|
4174
|
+
if (width === 0) {
|
|
4175
|
+
return null;
|
|
4176
|
+
}
|
|
4177
|
+
const layout = model.buildGridLayout(width);
|
|
4178
|
+
const cellWidth = (width - (GRID_COLUMN_COUNT - 1) * GRID_CELL_VMARGIN) / GRID_COLUMN_COUNT;
|
|
4179
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4180
|
+
style: { width: `${width}px`, height: "100%" }
|
|
4181
|
+
}, /* @__PURE__ */ React__default["default"].createElement(ReactGridLayout__default["default"], {
|
|
4182
|
+
width,
|
|
4183
|
+
isDraggable: width > 768,
|
|
4184
|
+
isResizable: false,
|
|
4185
|
+
containerPadding: [0, 0],
|
|
4186
|
+
useCSSTransforms: false,
|
|
4187
|
+
margin: [GRID_CELL_VMARGIN, GRID_CELL_VMARGIN],
|
|
4188
|
+
cols: GRID_COLUMN_COUNT,
|
|
4189
|
+
rowHeight: GRID_CELL_HEIGHT,
|
|
4190
|
+
draggableHandle: `.grid-drag-handle-${model.state.key}`,
|
|
4191
|
+
draggableCancel: ".grid-drag-cancel",
|
|
4192
|
+
layout,
|
|
4193
|
+
onDragStop: model.onDragStop,
|
|
4194
|
+
onResizeStop: model.onResizeStop,
|
|
4195
|
+
onLayoutChange: model.onLayoutChange,
|
|
4196
|
+
isBounded: false
|
|
4197
|
+
}, layout.map((gridItem) => {
|
|
4198
|
+
var _a, _b;
|
|
4199
|
+
const sceneChild = model.getSceneLayoutChild(gridItem.i);
|
|
4200
|
+
const pixelWidth = cellToPixelSize((_a = sceneChild.state.width) != null ? _a : 0, cellWidth, GRID_CELL_VMARGIN);
|
|
4201
|
+
const pixelHeight = cellToPixelSize((_b = sceneChild.state.height) != null ? _b : 0, GRID_CELL_HEIGHT, GRID_CELL_VMARGIN);
|
|
4202
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4203
|
+
style: { display: "flex" },
|
|
4204
|
+
key: sceneChild.state.key
|
|
4205
|
+
}, /* @__PURE__ */ React__default["default"].createElement(LazyWrapper, {
|
|
4206
|
+
width: pixelWidth,
|
|
4207
|
+
height: pixelHeight,
|
|
4208
|
+
style: { display: "flex" }
|
|
4209
|
+
}, /* @__PURE__ */ React__default["default"].createElement(sceneChild.Component, {
|
|
4210
|
+
model: sceneChild,
|
|
4211
|
+
key: sceneChild.state.key
|
|
4212
|
+
})));
|
|
4213
|
+
})));
|
|
4214
|
+
});
|
|
4215
|
+
}
|
|
4216
|
+
function validateChildrenSize(children) {
|
|
4217
|
+
if (children.some(
|
|
4218
|
+
(c) => c.state.height === void 0 || c.state.width === void 0 || c.state.x === void 0 || c.state.y === void 0
|
|
4219
|
+
)) {
|
|
4220
|
+
throw new Error("All children must have a size specified");
|
|
4221
|
+
}
|
|
4222
|
+
}
|
|
4223
|
+
function cellToPixelSize(sizeInCells, sizeOfCellInPx, margin = 0) {
|
|
4224
|
+
return Math.max(Math.round(sizeInCells * (sizeOfCellInPx + margin) - margin), 0);
|
|
4225
|
+
}
|
|
4226
|
+
|
|
3867
4227
|
function SceneDragHandle({ className, dragClass }) {
|
|
3868
4228
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
3869
4229
|
className: `${className} ${dragClass}`,
|
|
@@ -4215,46 +4575,6 @@ const _SceneGridLayout = class extends SceneObjectBase {
|
|
|
4215
4575
|
};
|
|
4216
4576
|
let SceneGridLayout = _SceneGridLayout;
|
|
4217
4577
|
SceneGridLayout.Component = SceneGridLayoutRenderer;
|
|
4218
|
-
function SceneGridLayoutRenderer({ model }) {
|
|
4219
|
-
const { children } = model.useState();
|
|
4220
|
-
validateChildrenSize(children);
|
|
4221
|
-
return /* @__PURE__ */ React__default["default"].createElement(AutoSizer__default["default"], {
|
|
4222
|
-
disableHeight: true
|
|
4223
|
-
}, ({ width }) => {
|
|
4224
|
-
if (width === 0) {
|
|
4225
|
-
return null;
|
|
4226
|
-
}
|
|
4227
|
-
const layout = model.buildGridLayout(width);
|
|
4228
|
-
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4229
|
-
style: { width: `${width}px`, height: "100%" }
|
|
4230
|
-
}, /* @__PURE__ */ React__default["default"].createElement(ReactGridLayout__default["default"], {
|
|
4231
|
-
width,
|
|
4232
|
-
isDraggable: width > 768,
|
|
4233
|
-
isResizable: false,
|
|
4234
|
-
containerPadding: [0, 0],
|
|
4235
|
-
useCSSTransforms: false,
|
|
4236
|
-
margin: [GRID_CELL_VMARGIN, GRID_CELL_VMARGIN],
|
|
4237
|
-
cols: GRID_COLUMN_COUNT,
|
|
4238
|
-
rowHeight: GRID_CELL_HEIGHT,
|
|
4239
|
-
draggableHandle: `.grid-drag-handle-${model.state.key}`,
|
|
4240
|
-
draggableCancel: ".grid-drag-cancel",
|
|
4241
|
-
layout,
|
|
4242
|
-
onDragStop: model.onDragStop,
|
|
4243
|
-
onResizeStop: model.onResizeStop,
|
|
4244
|
-
onLayoutChange: model.onLayoutChange,
|
|
4245
|
-
isBounded: false
|
|
4246
|
-
}, layout.map((gridItem) => {
|
|
4247
|
-
const sceneChild = model.getSceneLayoutChild(gridItem.i);
|
|
4248
|
-
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4249
|
-
key: sceneChild.state.key,
|
|
4250
|
-
style: { display: "flex" }
|
|
4251
|
-
}, /* @__PURE__ */ React__default["default"].createElement(sceneChild.Component, {
|
|
4252
|
-
model: sceneChild,
|
|
4253
|
-
key: sceneChild.state.key
|
|
4254
|
-
}));
|
|
4255
|
-
})));
|
|
4256
|
-
});
|
|
4257
|
-
}
|
|
4258
4578
|
class SceneGridItem extends SceneObjectBase {
|
|
4259
4579
|
}
|
|
4260
4580
|
SceneGridItem.Component = SceneGridItemRenderer;
|
|
@@ -4271,13 +4591,6 @@ function SceneGridItemRenderer({ model }) {
|
|
|
4271
4591
|
model: body
|
|
4272
4592
|
});
|
|
4273
4593
|
}
|
|
4274
|
-
function validateChildrenSize(children) {
|
|
4275
|
-
if (children.find(
|
|
4276
|
-
(c) => c.state.height === void 0 || c.state.width === void 0 || c.state.x === void 0 || c.state.y === void 0
|
|
4277
|
-
)) {
|
|
4278
|
-
throw new Error("All children must have a size specified");
|
|
4279
|
-
}
|
|
4280
|
-
}
|
|
4281
4594
|
function isItemSizeEqual(a, b) {
|
|
4282
4595
|
return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
|
|
4283
4596
|
}
|
|
@@ -4296,22 +4609,6 @@ function isSceneGridLayout(child) {
|
|
|
4296
4609
|
return child instanceof SceneGridLayout;
|
|
4297
4610
|
}
|
|
4298
4611
|
|
|
4299
|
-
class SceneApp extends SceneObjectBase {
|
|
4300
|
-
}
|
|
4301
|
-
SceneApp.Component = ({ model }) => {
|
|
4302
|
-
const { pages } = model.useState();
|
|
4303
|
-
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
4304
|
-
key: page.state.url,
|
|
4305
|
-
exact: false,
|
|
4306
|
-
path: page.state.url,
|
|
4307
|
-
render: () => {
|
|
4308
|
-
return page && /* @__PURE__ */ React__default["default"].createElement(page.Component, {
|
|
4309
|
-
model: page
|
|
4310
|
-
});
|
|
4311
|
-
}
|
|
4312
|
-
})));
|
|
4313
|
-
};
|
|
4314
|
-
|
|
4315
4612
|
var __defProp$1 = Object.defineProperty;
|
|
4316
4613
|
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
|
|
4317
4614
|
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
|
|
@@ -4343,47 +4640,205 @@ function getLinkUrlWithAppUrlState(path, params, preserveParams) {
|
|
|
4343
4640
|
}
|
|
4344
4641
|
return data.urlUtil.renderUrl(path, paramsCopy);
|
|
4345
4642
|
}
|
|
4643
|
+
function renderSceneComponentWithRouteProps(sceneObject, routeProps) {
|
|
4644
|
+
return React__default["default"].createElement(sceneObject.Component, { model: sceneObject, routeProps });
|
|
4645
|
+
}
|
|
4646
|
+
|
|
4647
|
+
class SceneApp extends SceneObjectBase {
|
|
4648
|
+
}
|
|
4649
|
+
SceneApp.Component = ({ model }) => {
|
|
4650
|
+
const { pages } = model.useState();
|
|
4651
|
+
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
4652
|
+
key: page.state.url,
|
|
4653
|
+
exact: false,
|
|
4654
|
+
path: page.state.url,
|
|
4655
|
+
render: (props) => renderSceneComponentWithRouteProps(page, props)
|
|
4656
|
+
})));
|
|
4657
|
+
};
|
|
4658
|
+
|
|
4659
|
+
var __defProp = Object.defineProperty;
|
|
4660
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4661
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4662
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
4663
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4664
|
+
var __spreadValues = (a, b) => {
|
|
4665
|
+
for (var prop in b || (b = {}))
|
|
4666
|
+
if (__hasOwnProp.call(b, prop))
|
|
4667
|
+
__defNormalProp(a, prop, b[prop]);
|
|
4668
|
+
if (__getOwnPropSymbols)
|
|
4669
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
4670
|
+
if (__propIsEnum.call(b, prop))
|
|
4671
|
+
__defNormalProp(a, prop, b[prop]);
|
|
4672
|
+
}
|
|
4673
|
+
return a;
|
|
4674
|
+
};
|
|
4675
|
+
class SceneReactObject extends SceneObjectBase {
|
|
4676
|
+
}
|
|
4677
|
+
SceneReactObject.Component = ({ model }) => {
|
|
4678
|
+
const { component: Component, props, reactNode } = model.useState();
|
|
4679
|
+
if (Component) {
|
|
4680
|
+
return /* @__PURE__ */ React__default["default"].createElement(Component, __spreadValues({}, props));
|
|
4681
|
+
}
|
|
4682
|
+
if (reactNode) {
|
|
4683
|
+
return reactNode;
|
|
4684
|
+
}
|
|
4685
|
+
return null;
|
|
4686
|
+
};
|
|
4687
|
+
|
|
4688
|
+
function SceneAppPageView({ page, routeProps }) {
|
|
4689
|
+
const containerPage = getParentPageIfTab(page);
|
|
4690
|
+
const containerState = containerPage.useState();
|
|
4691
|
+
const params = useAppQueryParams();
|
|
4692
|
+
const scene = page.getScene(routeProps.match);
|
|
4693
|
+
const [initialized, setInitialized] = React.useState(false);
|
|
4694
|
+
React.useLayoutEffect(() => {
|
|
4695
|
+
if (!initialized) {
|
|
4696
|
+
containerPage.initializeScene(scene);
|
|
4697
|
+
setInitialized(true);
|
|
4698
|
+
}
|
|
4699
|
+
}, [initialized, scene, containerPage]);
|
|
4700
|
+
if (!initialized) {
|
|
4701
|
+
return null;
|
|
4702
|
+
}
|
|
4703
|
+
const pageNav = {
|
|
4704
|
+
text: containerState.title,
|
|
4705
|
+
subTitle: containerState.subTitle,
|
|
4706
|
+
img: containerState.titleImg,
|
|
4707
|
+
icon: containerState.titleIcon,
|
|
4708
|
+
url: getLinkUrlWithAppUrlState(containerState.url, params, containerState.preserveUrlKeys),
|
|
4709
|
+
hideFromBreadcrumbs: containerState.hideFromBreadcrumbs,
|
|
4710
|
+
parentItem: getParentBreadcrumbs(
|
|
4711
|
+
containerState.getParentPage ? containerState.getParentPage() : page.parent,
|
|
4712
|
+
params
|
|
4713
|
+
)
|
|
4714
|
+
};
|
|
4715
|
+
if (containerState.tabs) {
|
|
4716
|
+
pageNav.children = containerState.tabs.map((tab) => {
|
|
4717
|
+
return {
|
|
4718
|
+
text: tab.state.title,
|
|
4719
|
+
active: page === tab,
|
|
4720
|
+
url: getLinkUrlWithAppUrlState(tab.state.url, params, tab.state.preserveUrlKeys),
|
|
4721
|
+
parentItem: pageNav
|
|
4722
|
+
};
|
|
4723
|
+
});
|
|
4724
|
+
}
|
|
4725
|
+
let pageActions = void 0;
|
|
4726
|
+
if (containerState.controls) {
|
|
4727
|
+
pageActions = containerState.controls.map((control) => /* @__PURE__ */ React__default["default"].createElement(control.Component, {
|
|
4728
|
+
model: control,
|
|
4729
|
+
key: control.state.key
|
|
4730
|
+
}));
|
|
4731
|
+
}
|
|
4732
|
+
return /* @__PURE__ */ React__default["default"].createElement(runtime.PluginPage, {
|
|
4733
|
+
pageNav,
|
|
4734
|
+
actions: pageActions
|
|
4735
|
+
}, /* @__PURE__ */ React__default["default"].createElement(scene.Component, {
|
|
4736
|
+
model: scene
|
|
4737
|
+
}));
|
|
4738
|
+
}
|
|
4739
|
+
function getParentPageIfTab(page) {
|
|
4740
|
+
if (page.parent instanceof SceneAppPage) {
|
|
4741
|
+
return page.parent;
|
|
4742
|
+
}
|
|
4743
|
+
return page;
|
|
4744
|
+
}
|
|
4745
|
+
function getParentBreadcrumbs(parent, params) {
|
|
4746
|
+
if (parent instanceof SceneAppPage) {
|
|
4747
|
+
return {
|
|
4748
|
+
text: parent.state.title,
|
|
4749
|
+
url: getLinkUrlWithAppUrlState(parent.state.url, params, parent.state.preserveUrlKeys),
|
|
4750
|
+
hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,
|
|
4751
|
+
parentItem: getParentBreadcrumbs(
|
|
4752
|
+
parent.state.getParentPage ? parent.state.getParentPage() : parent.parent,
|
|
4753
|
+
params
|
|
4754
|
+
)
|
|
4755
|
+
};
|
|
4756
|
+
}
|
|
4757
|
+
return void 0;
|
|
4758
|
+
}
|
|
4759
|
+
function SceneAppDrilldownViewRender({ drilldown, parent, routeProps }) {
|
|
4760
|
+
return renderSceneComponentWithRouteProps(parent.getDrilldownPage(drilldown, routeProps.match), routeProps);
|
|
4761
|
+
}
|
|
4346
4762
|
|
|
4347
|
-
const sceneCache = /* @__PURE__ */ new Map();
|
|
4348
4763
|
class SceneAppPage extends SceneObjectBase {
|
|
4764
|
+
constructor(state) {
|
|
4765
|
+
super(state);
|
|
4766
|
+
this._sceneCache = /* @__PURE__ */ new Map();
|
|
4767
|
+
this._drilldownCache = /* @__PURE__ */ new Map();
|
|
4768
|
+
this.addActivationHandler(() => {
|
|
4769
|
+
return () => getUrlSyncManager().cleanUp(this);
|
|
4770
|
+
});
|
|
4771
|
+
}
|
|
4772
|
+
initializeScene(scene) {
|
|
4773
|
+
this.setState({ initializedScene: scene });
|
|
4774
|
+
getUrlSyncManager().initSync(this);
|
|
4775
|
+
}
|
|
4776
|
+
getScene(routeMatch) {
|
|
4777
|
+
let scene = this._sceneCache.get(routeMatch.url);
|
|
4778
|
+
if (scene) {
|
|
4779
|
+
return scene;
|
|
4780
|
+
}
|
|
4781
|
+
if (!this.state.getScene) {
|
|
4782
|
+
throw new Error("Missing getScene on SceneAppPage " + this.state.title);
|
|
4783
|
+
}
|
|
4784
|
+
scene = this.state.getScene(routeMatch);
|
|
4785
|
+
this._sceneCache.set(routeMatch.url, scene);
|
|
4786
|
+
return scene;
|
|
4787
|
+
}
|
|
4788
|
+
getDrilldownPage(drilldown, routeMatch) {
|
|
4789
|
+
let page = this._drilldownCache.get(routeMatch.url);
|
|
4790
|
+
if (page) {
|
|
4791
|
+
return page;
|
|
4792
|
+
}
|
|
4793
|
+
page = drilldown.getPage(routeMatch, this);
|
|
4794
|
+
this._drilldownCache.set(routeMatch.url, page);
|
|
4795
|
+
return page;
|
|
4796
|
+
}
|
|
4349
4797
|
}
|
|
4350
4798
|
SceneAppPage.Component = SceneAppPageRenderer;
|
|
4351
|
-
function SceneAppPageRenderer({ model }) {
|
|
4352
|
-
var _a;
|
|
4353
|
-
const { tabs, drilldowns
|
|
4799
|
+
function SceneAppPageRenderer({ model, routeProps }) {
|
|
4800
|
+
var _a, _b;
|
|
4801
|
+
const { tabs, drilldowns } = model.useState();
|
|
4354
4802
|
const routes = [];
|
|
4355
|
-
if (tabs) {
|
|
4356
|
-
for (
|
|
4803
|
+
if (tabs && tabs.length > 0) {
|
|
4804
|
+
for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {
|
|
4805
|
+
const tab = tabs[tabIndex];
|
|
4806
|
+
if (tabIndex === 0) {
|
|
4807
|
+
routes.push(
|
|
4808
|
+
/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
4809
|
+
exact: true,
|
|
4810
|
+
key: model.state.url,
|
|
4811
|
+
path: (_a = model.state.routePath) != null ? _a : model.state.url,
|
|
4812
|
+
render: (props) => renderSceneComponentWithRouteProps(tab, props)
|
|
4813
|
+
})
|
|
4814
|
+
);
|
|
4815
|
+
}
|
|
4357
4816
|
routes.push(
|
|
4358
4817
|
/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
4359
4818
|
exact: true,
|
|
4360
|
-
key:
|
|
4361
|
-
path: (
|
|
4362
|
-
render: () =>
|
|
4363
|
-
return /* @__PURE__ */ React__default["default"].createElement(page2.Component, {
|
|
4364
|
-
model: page2
|
|
4365
|
-
});
|
|
4366
|
-
}
|
|
4819
|
+
key: tab.state.url,
|
|
4820
|
+
path: (_b = tab.state.routePath) != null ? _b : tab.state.url,
|
|
4821
|
+
render: (props) => renderSceneComponentWithRouteProps(tab, props)
|
|
4367
4822
|
})
|
|
4368
4823
|
);
|
|
4369
|
-
if (
|
|
4370
|
-
for (const drilldown of
|
|
4824
|
+
if (tab.state.drilldowns) {
|
|
4825
|
+
for (const drilldown of tab.state.drilldowns) {
|
|
4371
4826
|
routes.push(
|
|
4372
4827
|
/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
4373
4828
|
exact: false,
|
|
4374
4829
|
key: drilldown.routePath,
|
|
4375
4830
|
path: drilldown.routePath,
|
|
4376
|
-
render: () => {
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
}
|
|
4831
|
+
render: (props) => /* @__PURE__ */ React__default["default"].createElement(SceneAppDrilldownViewRender, {
|
|
4832
|
+
drilldown,
|
|
4833
|
+
parent: tab,
|
|
4834
|
+
routeProps: props
|
|
4835
|
+
})
|
|
4382
4836
|
})
|
|
4383
4837
|
);
|
|
4384
4838
|
}
|
|
4385
4839
|
}
|
|
4386
4840
|
}
|
|
4841
|
+
routes.push(getFallbackRoute(model, routeProps));
|
|
4387
4842
|
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, routes);
|
|
4388
4843
|
}
|
|
4389
4844
|
if (drilldowns) {
|
|
@@ -4393,128 +4848,74 @@ function SceneAppPageRenderer({ model }) {
|
|
|
4393
4848
|
key: drilldown.routePath,
|
|
4394
4849
|
exact: false,
|
|
4395
4850
|
path: drilldown.routePath,
|
|
4396
|
-
render: () => {
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
}
|
|
4851
|
+
render: (props) => /* @__PURE__ */ React__default["default"].createElement(SceneAppDrilldownViewRender, {
|
|
4852
|
+
drilldown,
|
|
4853
|
+
parent: model,
|
|
4854
|
+
routeProps: props
|
|
4855
|
+
})
|
|
4402
4856
|
})
|
|
4403
4857
|
);
|
|
4404
4858
|
}
|
|
4405
4859
|
}
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
page = /* @__PURE__ */ React__default["default"].createElement(ScenePageRenderer, {
|
|
4411
|
-
page: model.parent,
|
|
4412
|
-
activeTab: model,
|
|
4413
|
-
tabs: model.parent.state.tabs
|
|
4860
|
+
if (isCurrentPageRouteMatch(model, routeProps.match)) {
|
|
4861
|
+
return /* @__PURE__ */ React__default["default"].createElement(SceneAppPageView, {
|
|
4862
|
+
page: model,
|
|
4863
|
+
routeProps
|
|
4414
4864
|
});
|
|
4415
4865
|
}
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
exact: true,
|
|
4419
|
-
path: routePath != null ? routePath : url,
|
|
4420
|
-
render: () => {
|
|
4421
|
-
return page;
|
|
4422
|
-
}
|
|
4423
|
-
}), routes);
|
|
4866
|
+
routes.push(getFallbackRoute(model, routeProps));
|
|
4867
|
+
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, routes);
|
|
4424
4868
|
}
|
|
4425
|
-
function
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
React.useEffect(() => {
|
|
4435
|
-
if (!isInitialized && scene) {
|
|
4436
|
-
scene.initUrlSync();
|
|
4437
|
-
setIsInitialized(true);
|
|
4869
|
+
function getFallbackRoute(page, routeProps) {
|
|
4870
|
+
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
|
4871
|
+
key: "fallback route",
|
|
4872
|
+
render: (props) => {
|
|
4873
|
+
const fallbackPage = getDefaultFallbackPage();
|
|
4874
|
+
return /* @__PURE__ */ React__default["default"].createElement(SceneAppPageView, {
|
|
4875
|
+
page: fallbackPage,
|
|
4876
|
+
routeProps
|
|
4877
|
+
});
|
|
4438
4878
|
}
|
|
4439
|
-
}, [isInitialized, scene]);
|
|
4440
|
-
if (!isInitialized) {
|
|
4441
|
-
return null;
|
|
4442
|
-
}
|
|
4443
|
-
const pageNav = {
|
|
4444
|
-
text: page.state.title,
|
|
4445
|
-
subTitle: page.state.subTitle,
|
|
4446
|
-
img: page.state.titleImg,
|
|
4447
|
-
icon: page.state.titleIcon,
|
|
4448
|
-
url: getLinkUrlWithAppUrlState(page.state.url, params, page.state.preserveUrlKeys),
|
|
4449
|
-
hideFromBreadcrumbs: page.state.hideFromBreadcrumbs,
|
|
4450
|
-
parentItem: getParentBreadcrumbs(page.state.getParentPage ? page.state.getParentPage() : page.parent, params)
|
|
4451
|
-
};
|
|
4452
|
-
if (tabs) {
|
|
4453
|
-
pageNav.children = tabs.map((tab) => {
|
|
4454
|
-
return {
|
|
4455
|
-
text: tab.state.title,
|
|
4456
|
-
active: activeTab === tab,
|
|
4457
|
-
url: getLinkUrlWithAppUrlState(tab.state.url, params, tab.state.preserveUrlKeys),
|
|
4458
|
-
parentItem: pageNav
|
|
4459
|
-
};
|
|
4460
|
-
});
|
|
4461
|
-
}
|
|
4462
|
-
return /* @__PURE__ */ React__default["default"].createElement(runtime.PluginPage, {
|
|
4463
|
-
pageNav
|
|
4464
|
-
}, /* @__PURE__ */ React__default["default"].createElement(scene.Component, {
|
|
4465
|
-
model: scene
|
|
4466
|
-
}));
|
|
4467
|
-
}
|
|
4468
|
-
function SceneAppDrilldownViewRender(props) {
|
|
4469
|
-
const routeMatch = reactRouterDom.useRouteMatch();
|
|
4470
|
-
const scene = props.drilldown.getPage(routeMatch, props.parent);
|
|
4471
|
-
return /* @__PURE__ */ React__default["default"].createElement(scene.Component, {
|
|
4472
|
-
model: scene
|
|
4473
4879
|
});
|
|
4474
4880
|
}
|
|
4475
|
-
function
|
|
4476
|
-
if (
|
|
4477
|
-
return
|
|
4478
|
-
text: parent.state.title,
|
|
4479
|
-
url: getLinkUrlWithAppUrlState(parent.state.url, params, parent.state.preserveUrlKeys),
|
|
4480
|
-
hideFromBreadcrumbs: parent.state.hideFromBreadcrumbs,
|
|
4481
|
-
parentItem: getParentBreadcrumbs(
|
|
4482
|
-
parent.state.getParentPage ? parent.state.getParentPage() : parent.parent,
|
|
4483
|
-
params
|
|
4484
|
-
)
|
|
4485
|
-
};
|
|
4881
|
+
function isCurrentPageRouteMatch(page, match) {
|
|
4882
|
+
if (!match.isExact) {
|
|
4883
|
+
return false;
|
|
4486
4884
|
}
|
|
4487
|
-
|
|
4885
|
+
if (match.url === page.state.url) {
|
|
4886
|
+
return true;
|
|
4887
|
+
}
|
|
4888
|
+
if (page.parent instanceof SceneAppPage && page.parent.state.tabs[0] === page && page.parent.state.url === match.url) {
|
|
4889
|
+
return true;
|
|
4890
|
+
}
|
|
4891
|
+
return false;
|
|
4488
4892
|
}
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4893
|
+
function getDefaultFallbackPage() {
|
|
4894
|
+
return new SceneAppPage({
|
|
4895
|
+
url: "",
|
|
4896
|
+
title: "Not found",
|
|
4897
|
+
subTitle: "The url did not match any page",
|
|
4898
|
+
getScene: () => {
|
|
4899
|
+
return new EmbeddedScene({
|
|
4900
|
+
body: new SceneFlexLayout({
|
|
4901
|
+
direction: "column",
|
|
4902
|
+
children: [
|
|
4903
|
+
new SceneFlexItem({
|
|
4904
|
+
flexGrow: 1,
|
|
4905
|
+
body: new SceneReactObject({
|
|
4906
|
+
component: () => {
|
|
4907
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
4908
|
+
"data-testid": "default-fallback-content"
|
|
4909
|
+
}, "If you found your way here using a link then there might be a bug in this application.");
|
|
4910
|
+
}
|
|
4911
|
+
})
|
|
4912
|
+
})
|
|
4913
|
+
]
|
|
4914
|
+
})
|
|
4915
|
+
});
|
|
4503
4916
|
}
|
|
4504
|
-
|
|
4505
|
-
};
|
|
4506
|
-
class SceneReactObject extends SceneObjectBase {
|
|
4917
|
+
});
|
|
4507
4918
|
}
|
|
4508
|
-
SceneReactObject.Component = ({ model }) => {
|
|
4509
|
-
const { component: Component, props, reactNode } = model.useState();
|
|
4510
|
-
if (Component) {
|
|
4511
|
-
return /* @__PURE__ */ React__default["default"].createElement(Component, __spreadValues({}, props));
|
|
4512
|
-
}
|
|
4513
|
-
if (reactNode) {
|
|
4514
|
-
return reactNode;
|
|
4515
|
-
}
|
|
4516
|
-
return null;
|
|
4517
|
-
};
|
|
4518
4919
|
|
|
4519
4920
|
exports.ConstantVariable = ConstantVariable;
|
|
4520
4921
|
exports.CustomVariable = CustomVariable;
|
|
@@ -4548,12 +4949,12 @@ exports.SceneVariableSet = SceneVariableSet;
|
|
|
4548
4949
|
exports.SceneVariableValueChangedEvent = SceneVariableValueChangedEvent;
|
|
4549
4950
|
exports.TestVariable = TestVariable;
|
|
4550
4951
|
exports.TextBoxVariable = TextBoxVariable;
|
|
4551
|
-
exports.UrlSyncManager = UrlSyncManager;
|
|
4552
4952
|
exports.VariableDependencyConfig = VariableDependencyConfig;
|
|
4553
4953
|
exports.VariableValueSelectors = VariableValueSelectors;
|
|
4554
4954
|
exports.VizPanel = VizPanel;
|
|
4555
4955
|
exports.VizPanelMenu = VizPanelMenu;
|
|
4556
4956
|
exports.formatRegistry = formatRegistry;
|
|
4957
|
+
exports.getUrlSyncManager = getUrlSyncManager;
|
|
4557
4958
|
exports.isCustomVariableValue = isCustomVariableValue;
|
|
4558
4959
|
exports.isSceneObject = isSceneObject;
|
|
4559
4960
|
exports.sceneGraph = sceneGraph;
|