@grafana/scenes 5.33.1--canary.996.12371059735.0 → 6.0.0--canary.979.12373078054.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/esm/components/SceneApp/SceneApp.js +6 -6
- package/dist/esm/components/SceneApp/SceneApp.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPage.js +30 -45
- package/dist/esm/components/SceneApp/SceneAppPage.js.map +1 -1
- package/dist/esm/components/SceneApp/SceneAppPageView.js +10 -5
- package/dist/esm/components/SceneApp/SceneAppPageView.js.map +1 -1
- package/dist/esm/components/SceneApp/utils.js +20 -5
- package/dist/esm/components/SceneApp/utils.js.map +1 -1
- package/dist/esm/querying/SceneQueryRunner.js +4 -4
- package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
- package/dist/esm/utils/utils.js.map +1 -1
- package/dist/esm/variables/adhoc/patchGetAdhocFilters.js +1 -2
- package/dist/esm/variables/adhoc/patchGetAdhocFilters.js.map +1 -1
- package/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +1 -3
- package/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js.map +1 -1
- package/dist/esm/variables/utils.js +2 -5
- package/dist/esm/variables/utils.js.map +1 -1
- package/dist/index.d.ts +125 -129
- package/dist/index.js +70 -65
- package/dist/index.js.map +1 -1
- package/package.json +6 -7
package/dist/index.js
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
var React = require('react');
|
6
5
|
var reactRouterDom = require('react-router-dom');
|
7
6
|
var data = require('@grafana/data');
|
8
7
|
var runtime = require('@grafana/runtime');
|
8
|
+
var React = require('react');
|
9
9
|
var rxjs = require('rxjs');
|
10
10
|
var uuid = require('uuid');
|
11
11
|
var lodash = require('lodash');
|
@@ -72,8 +72,24 @@ function getUrlWithAppState(path, searchObject, preserveParams) {
|
|
72
72
|
}
|
73
73
|
return data.urlUtil.renderUrl(data.locationUtil.assureBaseUrl(path), paramsCopy);
|
74
74
|
}
|
75
|
-
function
|
76
|
-
|
75
|
+
function useSceneRouteMatch(path) {
|
76
|
+
const params = reactRouterDom.useParams();
|
77
|
+
const location = reactRouterDom.useLocation();
|
78
|
+
const isExact = reactRouterDom.matchPath(
|
79
|
+
{
|
80
|
+
path,
|
81
|
+
caseSensitive: false,
|
82
|
+
end: true
|
83
|
+
},
|
84
|
+
location.pathname
|
85
|
+
);
|
86
|
+
const match = {
|
87
|
+
params,
|
88
|
+
isExact: isExact !== null,
|
89
|
+
path: location.pathname,
|
90
|
+
url: location.pathname
|
91
|
+
};
|
92
|
+
return match;
|
77
93
|
}
|
78
94
|
|
79
95
|
var __defProp$P = Object.defineProperty;
|
@@ -2481,7 +2497,7 @@ function patchGetAdhocFilters(filterVar) {
|
|
2481
2497
|
function findActiveAdHocFilterVariableByUid(dsUid) {
|
2482
2498
|
var _a;
|
2483
2499
|
for (const filter of allActiveFilterSets.values()) {
|
2484
|
-
if (
|
2500
|
+
if (((_a = filter.state.datasource) == null ? void 0 : _a.uid) === dsUid) {
|
2485
2501
|
return filter;
|
2486
2502
|
}
|
2487
2503
|
}
|
@@ -2527,7 +2543,7 @@ const allActiveGroupByVariables = /* @__PURE__ */ new Set();
|
|
2527
2543
|
function findActiveGroupByVariablesByUid(dsUid) {
|
2528
2544
|
var _a;
|
2529
2545
|
for (const groupByVariable of allActiveGroupByVariables.values()) {
|
2530
|
-
if (
|
2546
|
+
if (((_a = groupByVariable.state.datasource) == null ? void 0 : _a.uid) === dsUid) {
|
2531
2547
|
return groupByVariable;
|
2532
2548
|
}
|
2533
2549
|
}
|
@@ -5570,7 +5586,7 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5570
5586
|
try {
|
5571
5587
|
const datasource = (_c = this.state.datasource) != null ? _c : findFirstDatasource(queries);
|
5572
5588
|
const ds = await getDataSource(datasource, this._scopedVars);
|
5573
|
-
this.findAndSubscribeToAdHocFilters(
|
5589
|
+
this.findAndSubscribeToAdHocFilters(datasource == null ? void 0 : datasource.uid);
|
5574
5590
|
const runRequest = runtime.getRunRequest();
|
5575
5591
|
const { primary, secondaries, processors } = this.prepareRequests(timeRange, ds);
|
5576
5592
|
writeSceneLog("SceneQueryRunner", "Starting runRequest", this.state.key);
|
@@ -5699,13 +5715,13 @@ class SceneQueryRunner extends SceneObjectBase {
|
|
5699
5715
|
});
|
5700
5716
|
return Array.from(found.values());
|
5701
5717
|
}
|
5702
|
-
findAndSubscribeToAdHocFilters(
|
5703
|
-
const filtersVar = findActiveAdHocFilterVariableByUid(
|
5718
|
+
findAndSubscribeToAdHocFilters(uid) {
|
5719
|
+
const filtersVar = findActiveAdHocFilterVariableByUid(uid);
|
5704
5720
|
if (this._adhocFiltersVar !== filtersVar) {
|
5705
5721
|
this._adhocFiltersVar = filtersVar;
|
5706
5722
|
this._updateExplicitVariableDependencies();
|
5707
5723
|
}
|
5708
|
-
const groupByVar = findActiveGroupByVariablesByUid(
|
5724
|
+
const groupByVar = findActiveGroupByVariablesByUid(uid);
|
5709
5725
|
if (this._groupByVar !== groupByVar) {
|
5710
5726
|
this._groupByVar = groupByVar;
|
5711
5727
|
this._updateExplicitVariableDependencies();
|
@@ -5799,16 +5815,13 @@ function escapeLokiRegexp(value) {
|
|
5799
5815
|
return value.replace(RE2_METACHARACTERS, "\\$&");
|
5800
5816
|
}
|
5801
5817
|
function getQueriesForVariables(sourceObject) {
|
5802
|
-
var _a;
|
5803
5818
|
const runners = sceneGraph.findAllObjects(
|
5804
5819
|
sourceObject.getRoot(),
|
5805
5820
|
(o) => o instanceof SceneQueryRunner
|
5806
5821
|
);
|
5807
|
-
const interpolatedDsUuid = sceneGraph.interpolate(sourceObject, (_a = sourceObject.state.datasource) == null ? void 0 : _a.uid);
|
5808
5822
|
const applicableRunners = filterOutInactiveRunnerDuplicates(runners).filter((r) => {
|
5809
|
-
var
|
5810
|
-
|
5811
|
-
return interpolatedQueryDsUuid === interpolatedDsUuid;
|
5823
|
+
var _a, _b;
|
5824
|
+
return ((_a = r.state.datasource) == null ? void 0 : _a.uid) === ((_b = sourceObject.state.datasource) == null ? void 0 : _b.uid);
|
5812
5825
|
});
|
5813
5826
|
if (applicableRunners.length === 0) {
|
5814
5827
|
return [];
|
@@ -12441,11 +12454,12 @@ SceneApp.Component = ({ model }) => {
|
|
12441
12454
|
const { pages } = model.useState();
|
12442
12455
|
return /* @__PURE__ */ React__default["default"].createElement(SceneAppContext.Provider, {
|
12443
12456
|
value: model
|
12444
|
-
}, /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.
|
12457
|
+
}, /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Routes, null, pages.map((page) => /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12445
12458
|
key: page.state.url,
|
12446
|
-
|
12447
|
-
|
12448
|
-
|
12459
|
+
path: page.state.routePath,
|
12460
|
+
element: /* @__PURE__ */ React__default["default"].createElement(page.Component, {
|
12461
|
+
model: page
|
12462
|
+
})
|
12449
12463
|
}))));
|
12450
12464
|
};
|
12451
12465
|
const SceneAppContext = React.createContext(null);
|
@@ -12698,11 +12712,12 @@ function getStyles(theme) {
|
|
12698
12712
|
};
|
12699
12713
|
}
|
12700
12714
|
|
12701
|
-
function SceneAppPageView({ page
|
12715
|
+
function SceneAppPageView({ page }) {
|
12716
|
+
const routeMatch = useSceneRouteMatch(page.state.url);
|
12702
12717
|
const containerPage = getParentPageIfTab(page);
|
12703
12718
|
const containerState = containerPage.useState();
|
12704
12719
|
const params = useAppQueryParams();
|
12705
|
-
const scene = page.getScene(
|
12720
|
+
const scene = page.getScene(routeMatch);
|
12706
12721
|
const appContext = React.useContext(SceneAppContext);
|
12707
12722
|
const isInitialized = containerState.initializedScene === scene;
|
12708
12723
|
const { layout } = page.state;
|
@@ -12787,8 +12802,12 @@ function getParentBreadcrumbs(parent, params, searchObject) {
|
|
12787
12802
|
}
|
12788
12803
|
return void 0;
|
12789
12804
|
}
|
12790
|
-
function SceneAppDrilldownViewRender({ drilldown, parent
|
12791
|
-
|
12805
|
+
function SceneAppDrilldownViewRender({ drilldown, parent }) {
|
12806
|
+
const routeMatch = useSceneRouteMatch(drilldown.routePath);
|
12807
|
+
const page = parent.getDrilldownPage(drilldown, routeMatch);
|
12808
|
+
return /* @__PURE__ */ React__default["default"].createElement(page.Component, {
|
12809
|
+
model: page
|
12810
|
+
});
|
12792
12811
|
}
|
12793
12812
|
|
12794
12813
|
class SceneAppPage extends SceneObjectBase {
|
@@ -12836,42 +12855,40 @@ class SceneAppPage extends SceneObjectBase {
|
|
12836
12855
|
}
|
12837
12856
|
}
|
12838
12857
|
SceneAppPage.Component = SceneAppPageRenderer;
|
12839
|
-
function SceneAppPageRenderer({ model
|
12840
|
-
var _a, _b;
|
12858
|
+
function SceneAppPageRenderer({ model }) {
|
12841
12859
|
const { tabs, drilldowns } = model.useState();
|
12842
12860
|
const routes = [];
|
12861
|
+
routes.push(getFallbackRoute(model));
|
12843
12862
|
if (tabs && tabs.length > 0) {
|
12844
12863
|
for (let tabIndex = 0; tabIndex < tabs.length; tabIndex++) {
|
12845
12864
|
const tab = tabs[tabIndex];
|
12846
12865
|
if (tabIndex === 0) {
|
12847
|
-
routes.push(
|
12848
|
-
|
12849
|
-
|
12850
|
-
|
12851
|
-
|
12852
|
-
render: (props) => renderSceneComponentWithRouteProps(tab, props)
|
12866
|
+
routes.push(/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12867
|
+
key: model.state.routePath,
|
12868
|
+
path: "",
|
12869
|
+
element: /* @__PURE__ */ React__default["default"].createElement(tab.Component, {
|
12870
|
+
model: tab
|
12853
12871
|
})
|
12854
|
-
);
|
12872
|
+
}));
|
12855
12873
|
}
|
12856
12874
|
routes.push(
|
12857
12875
|
/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12858
|
-
exact: true,
|
12859
12876
|
key: tab.state.url,
|
12860
|
-
path:
|
12861
|
-
|
12877
|
+
path: tab.state.routePath,
|
12878
|
+
element: /* @__PURE__ */ React__default["default"].createElement(tab.Component, {
|
12879
|
+
model: tab
|
12880
|
+
})
|
12862
12881
|
})
|
12863
12882
|
);
|
12864
12883
|
if (tab.state.drilldowns) {
|
12865
12884
|
for (const drilldown of tab.state.drilldowns) {
|
12866
12885
|
routes.push(
|
12867
12886
|
/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12868
|
-
exact: false,
|
12869
12887
|
key: drilldown.routePath,
|
12870
12888
|
path: drilldown.routePath,
|
12871
|
-
|
12889
|
+
element: /* @__PURE__ */ React__default["default"].createElement(SceneAppDrilldownViewRender, {
|
12872
12890
|
drilldown,
|
12873
|
-
parent: tab
|
12874
|
-
routeProps: props
|
12891
|
+
parent: tab
|
12875
12892
|
})
|
12876
12893
|
})
|
12877
12894
|
);
|
@@ -12884,51 +12901,39 @@ function SceneAppPageRenderer({ model, routeProps }) {
|
|
12884
12901
|
routes.push(
|
12885
12902
|
/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12886
12903
|
key: drilldown.routePath,
|
12887
|
-
exact: false,
|
12888
12904
|
path: drilldown.routePath,
|
12889
|
-
|
12905
|
+
Component: () => /* @__PURE__ */ React__default["default"].createElement(SceneAppDrilldownViewRender, {
|
12890
12906
|
drilldown,
|
12891
|
-
parent: model
|
12892
|
-
routeProps: props
|
12907
|
+
parent: model
|
12893
12908
|
})
|
12894
12909
|
})
|
12895
12910
|
);
|
12896
12911
|
}
|
12897
12912
|
}
|
12898
|
-
if (!tabs
|
12899
|
-
|
12900
|
-
|
12901
|
-
|
12902
|
-
|
12913
|
+
if (!tabs) {
|
12914
|
+
routes.push(/* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12915
|
+
key: "home route",
|
12916
|
+
path: "/",
|
12917
|
+
element: /* @__PURE__ */ React__default["default"].createElement(SceneAppPageView, {
|
12918
|
+
page: model
|
12919
|
+
})
|
12920
|
+
}));
|
12903
12921
|
}
|
12904
|
-
|
12905
|
-
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Switch, null, routes);
|
12922
|
+
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Routes, null, routes);
|
12906
12923
|
}
|
12907
|
-
function getFallbackRoute(page
|
12924
|
+
function getFallbackRoute(page) {
|
12908
12925
|
return /* @__PURE__ */ React__default["default"].createElement(reactRouterDom.Route, {
|
12909
12926
|
key: "fallback route",
|
12910
|
-
|
12927
|
+
path: "*",
|
12928
|
+
Component: () => {
|
12911
12929
|
var _a, _b, _c;
|
12912
12930
|
const fallbackPage = (_c = (_b = (_a = page.state).getFallbackPage) == null ? void 0 : _b.call(_a)) != null ? _c : getDefaultFallbackPage();
|
12913
12931
|
return /* @__PURE__ */ React__default["default"].createElement(SceneAppPageView, {
|
12914
|
-
page: fallbackPage
|
12915
|
-
routeProps
|
12932
|
+
page: fallbackPage
|
12916
12933
|
});
|
12917
12934
|
}
|
12918
12935
|
});
|
12919
12936
|
}
|
12920
|
-
function isCurrentPageRouteMatch(page, match) {
|
12921
|
-
if (!match.isExact) {
|
12922
|
-
return false;
|
12923
|
-
}
|
12924
|
-
if (match.url === page.state.url) {
|
12925
|
-
return true;
|
12926
|
-
}
|
12927
|
-
if (page.parent instanceof SceneAppPage && page.parent.state.tabs[0] === page && page.parent.state.url === match.url) {
|
12928
|
-
return true;
|
12929
|
-
}
|
12930
|
-
return false;
|
12931
|
-
}
|
12932
12937
|
function getDefaultFallbackPage() {
|
12933
12938
|
return new SceneAppPage({
|
12934
12939
|
url: "",
|