opendash
Version:
open.DASH data visualization framework
50 lines • 2.42 kB
JavaScript
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
import * as React from "react";
import { useRoutes } from "react-router-dom";
import { useAppState, useOpenDashApp, useServicesSuspense } from "..";
import { Boundary, OpenDashAuth, OpenDashFrontpage, DashboardRoute, OpenDashDefaultRoute, OpenDashWidgetDevRoute, OpenDashProvider, DataExplorer, } from "..";
import Layout from "./layout";
var css = "\n .ant-table-wrapper {\n overflow: auto;\n }\n";
export function OpenDashApp(_a) {
var app = _a.app;
return (React.createElement(Boundary, null,
React.createElement(OpenDashProvider, { app: app },
React.createElement(Boundary, null,
React.createElement(Layout, null,
React.createElement(Boundary, null,
React.createElement(AppGuard, null))))),
React.createElement("style", { dangerouslySetInnerHTML: { __html: css } })));
}
function AppGuard() {
useServicesSuspense();
var user = useAppState(function (state) { return state.user.current; });
if (!user) {
return React.createElement(OpenDashAuth, null);
}
return React.createElement(AppRouter, null);
}
function AppRouter() {
var app = useOpenDashApp();
var routes = React.useMemo(function () {
return __spreadArrays(app.routes.map(function (route) {
return {
path: route.path,
element: React.createElement(React.lazy(route.component), route.props || {}),
};
}), [
{ path: "/", element: React.createElement(OpenDashFrontpage, null) },
{ path: "monitoring/dashboards", element: React.createElement(DashboardRoute, null) },
{ path: "monitoring/widget-dev", element: React.createElement(OpenDashWidgetDevRoute, null) },
{ path: "monitoring/explore", element: React.createElement(DataExplorer, null) },
{ path: "*", element: React.createElement(OpenDashDefaultRoute, null) },
]);
}, []);
return useRoutes(routes, "", false);
}
//# sourceMappingURL=OpenDashApp.js.map