@dashadmin/dash-app-common 1.3.24 → 1.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DashApp.js +176 -1
- package/dist/DashAppLoader.js +348 -3
- package/dist/DashDefaultResources.js +10 -1
- package/dist/components/DashDefaultPrivateApp.js +150 -1
- package/dist/components/DashDefaultPrivateResources.js +10 -1
- package/dist/components/DashDefaultPublicApp.js +20 -1
- package/dist/components/DashResourceLoader.js +245 -1
- package/dist/defaults/extensions/bootstrap/DashDefaultErrorBoundary.js +78 -1
- package/dist/defaults/extensions/bootstrap/dashDefaultInitializeApp.js +59 -1
- package/dist/defaults/extensions/bootstrap/index.js +24 -1
- package/dist/defaults/extensions/components/DashDefaultLoader.js +43 -2
- package/dist/defaults/extensions/components/dashDefaultAutoAdminComponents.js +67 -1
- package/dist/defaults/extensions/components/dashDefaultNotification.js +28 -1
- package/dist/defaults/extensions/components/dashDefaultStaticComponents.js +15 -1
- package/dist/defaults/extensions/components/index.js +13 -1
- package/dist/defaults/extensions/electron/dashDefaultIpcListeners.js +38 -1
- package/dist/defaults/extensions/electron/index.js +5 -1
- package/dist/defaults/extensions/hooks/index.js +12 -1
- package/dist/defaults/extensions/hooks/useDashDefaultLazyAutoAdminComponents.js +17 -1
- package/dist/defaults/extensions/hooks/useDashDefaultLazyI18nProvider.js +51 -1
- package/dist/defaults/extensions/hooks/useDashDefaultLazyResources.js +19 -1
- package/dist/defaults/extensions/hooks/useDashDefaultMountTracker.js +22 -1
- package/dist/defaults/extensions/hooks/useDashDefaultRoutePath.js +17 -1
- package/dist/defaults/extensions/i18n/dashDefaultI18nProvider.js +44 -1
- package/dist/defaults/extensions/i18n/dashDefaultTranslations.js +87 -1
- package/dist/defaults/extensions/i18n/index.js +24 -1
- package/dist/defaults/extensions/index.js +190 -1
- package/dist/defaults/extensions/layout/dashDefaultDomainAppLayout.js +58 -1
- package/dist/defaults/extensions/layout/index.js +12 -1
- package/dist/defaults/extensions/managers/DashDefaultWSMessagesManager.js +84 -1
- package/dist/defaults/extensions/managers/index.js +5 -1
- package/dist/defaults/extensions/providers/dashDefaultAuthProvider.js +220 -1
- package/dist/defaults/extensions/providers/dashDefaultDataProvider.js +395 -1
- package/dist/defaults/extensions/providers/index.js +24 -1
- package/dist/defaults/extensions/router/DashDefaultLanding.js +46 -1
- package/dist/defaults/extensions/router/dashDefaultPrivateRoutes.js +38 -1
- package/dist/defaults/extensions/router/dashDefaultPublicRoutes.js +65 -1
- package/dist/defaults/extensions/router/dashDefaultRouter.js +39 -1
- package/dist/defaults/extensions/router/dashDefaultSharedRoutes.js +40 -1
- package/dist/defaults/extensions/router/index.js +12 -1
- package/dist/defaults/extensions/state/dashDefaultAppCommon.js +57 -1
- package/dist/defaults/extensions/state/dashDefaultAppSettings.js +38 -1
- package/dist/defaults/extensions/state/dashDefaultInitialAppState.js +31 -1
- package/dist/defaults/extensions/state/dashDefaultLayoutSettings.js +48 -1
- package/dist/defaults/extensions/state/dashDefaultQueryClient.js +58 -1
- package/dist/defaults/extensions/state/dashDefaultResourcesIcons.js +24 -1
- package/dist/defaults/extensions/state/index.js +29 -1
- package/dist/defaults/extensions/styles/index.js +2 -1
- package/dist/defaults/extensions/theme/dashDefaultThemeOptions.js +74 -1
- package/dist/defaults/extensions/theme/index.js +6 -1
- package/dist/defaults/extensions/utils/IPCMessageBrokerContext.js +12 -1
- package/dist/defaults/extensions/utils/dashDefaultAuthProviderUtils.js +29 -1
- package/dist/defaults/extensions/utils/dashDefaultDataProviderUtils.js +37 -1
- package/dist/defaults/extensions/utils/dashDefaultNotificationsProcessor.js +149 -1
- package/dist/defaults/extensions/utils/index.js +44 -1
- package/dist/defaults/filters/demo/dashDefaultDemoFilters.js +36 -1
- package/dist/defaults/filters/demo/index.js +4 -1
- package/dist/defaults/filters/index.js +5 -1
- package/dist/defaults/index.js +14 -1
- package/dist/defaults/pages/Account/DashDefaultRegister.js +282 -1
- package/dist/defaults/pages/Account/DashDefaultSignUp.js +420 -1
- package/dist/defaults/pages/Account/DashDefaultSignUpSuccess.js +101 -1
- package/dist/defaults/pages/Account/index.js +8 -1
- package/dist/defaults/pages/DashDefaultLogin.js +218 -1
- package/dist/defaults/pages/Misc/DashDefaultNotFound.js +74 -1
- package/dist/defaults/pages/Misc/DashDefaultServerError.js +79 -1
- package/dist/defaults/pages/Misc/DashDefaultUnauthorized.js +90 -1
- package/dist/defaults/pages/Misc/index.js +8 -1
- package/dist/defaults/pages/Static/DashDefaultPrivacyPage.js +48 -1
- package/dist/defaults/pages/Static/DashDefaultStaticPage.js +55 -1
- package/dist/defaults/pages/Static/DashDefaultTermsPage.js +52 -1
- package/dist/defaults/pages/Static/index.js +8 -1
- package/dist/defaults/pages/index.js +25 -1
- package/dist/defaults/schemas/dashDefaultSchema.js +14 -1
- package/dist/defaults/schemas/demo/dashDefaultTodoSchema.js +24 -1
- package/dist/defaults/schemas/demo/index.js +4 -1
- package/dist/defaults/schemas/index.js +7 -1
- package/dist/filters/demo/todoFilters.js +36 -1
- package/dist/index.js +56 -5975
- package/dist/resources/demo/todoResource.js +58 -1
- package/dist/schemas/defaultSchema.js +14 -1
- package/dist/schemas/demo/todoSchema.js +24 -1
- package/package.json +132 -77
- package/src/DashApp.tsx +294 -0
- package/src/DashAppLoader.tsx +717 -0
- package/src/DashDefaultResources.tsx +10 -0
- package/src/components/DashDefaultPrivateApp.tsx +358 -0
- package/src/components/DashDefaultPrivateResources.tsx +10 -0
- package/src/components/DashDefaultPublicApp.tsx +40 -0
- package/src/components/DashResourceLoader.tsx +564 -0
- package/src/defaults/extensions/bootstrap/DashDefaultErrorBoundary.tsx +113 -0
- package/src/defaults/extensions/bootstrap/dashDefaultInitializeApp.ts +81 -0
- package/src/defaults/extensions/bootstrap/index.ts +32 -0
- package/src/defaults/extensions/components/DashDefaultLoader.tsx +59 -0
- package/src/defaults/extensions/components/dashDefaultAutoAdminComponents.tsx +49 -0
- package/src/defaults/extensions/components/dashDefaultNotification.tsx +37 -0
- package/src/defaults/extensions/components/dashDefaultStaticComponents.tsx +34 -0
- package/src/defaults/extensions/components/index.ts +17 -0
- package/src/defaults/extensions/electron/dashDefaultIpcListeners.ts +62 -0
- package/src/defaults/extensions/electron/index.ts +7 -0
- package/src/defaults/extensions/hooks/index.ts +11 -0
- package/src/defaults/extensions/hooks/useDashDefaultLazyAutoAdminComponents.ts +25 -0
- package/src/defaults/extensions/hooks/useDashDefaultLazyI18nProvider.ts +38 -0
- package/src/defaults/extensions/hooks/useDashDefaultLazyResources.ts +29 -0
- package/src/defaults/extensions/hooks/useDashDefaultMountTracker.ts +28 -0
- package/src/defaults/extensions/hooks/useDashDefaultRoutePath.ts +27 -0
- package/src/defaults/extensions/i18n/dashDefaultI18nProvider.ts +66 -0
- package/src/defaults/extensions/i18n/dashDefaultTranslations.ts +82 -0
- package/src/defaults/extensions/i18n/index.ts +22 -0
- package/src/defaults/extensions/index.ts +177 -0
- package/src/defaults/extensions/layout/dashDefaultDomainAppLayout.tsx +126 -0
- package/src/defaults/extensions/layout/index.ts +12 -0
- package/src/defaults/extensions/managers/DashDefaultWSMessagesManager.tsx +99 -0
- package/src/defaults/extensions/managers/index.ts +7 -0
- package/src/defaults/extensions/providers/dashDefaultAuthProvider.ts +256 -0
- package/src/defaults/extensions/providers/dashDefaultDataProvider.ts +513 -0
- package/src/defaults/extensions/providers/index.ts +25 -0
- package/src/defaults/extensions/router/DashDefaultLanding.tsx +51 -0
- package/src/defaults/extensions/router/dashDefaultPrivateRoutes.tsx +50 -0
- package/src/defaults/extensions/router/dashDefaultPublicRoutes.tsx +86 -0
- package/src/defaults/extensions/router/dashDefaultRouter.tsx +54 -0
- package/src/defaults/extensions/router/dashDefaultSharedRoutes.tsx +56 -0
- package/src/defaults/extensions/router/index.ts +13 -0
- package/src/defaults/extensions/state/dashDefaultAppCommon.ts +54 -0
- package/src/defaults/extensions/state/dashDefaultAppSettings.ts +29 -0
- package/src/defaults/extensions/state/dashDefaultInitialAppState.ts +75 -0
- package/src/defaults/extensions/state/dashDefaultLayoutSettings.ts +59 -0
- package/src/defaults/extensions/state/dashDefaultQueryClient.ts +59 -0
- package/src/defaults/extensions/state/dashDefaultResourcesIcons.tsx +23 -0
- package/src/defaults/extensions/state/index.ts +29 -0
- package/src/defaults/extensions/styles/index.ts +17 -0
- package/src/defaults/extensions/theme/dashDefaultThemeOptions.ts +89 -0
- package/src/defaults/extensions/theme/index.ts +7 -0
- package/src/defaults/extensions/utils/IPCMessageBrokerContext.tsx +22 -0
- package/src/defaults/extensions/utils/dashDefaultAuthProviderUtils.ts +36 -0
- package/src/defaults/extensions/utils/dashDefaultDataProviderUtils.ts +46 -0
- package/src/defaults/extensions/utils/dashDefaultNotificationsProcessor.tsx +208 -0
- package/src/defaults/extensions/utils/index.ts +42 -0
- package/src/defaults/filters/demo/dashDefaultDemoFilters.tsx +50 -0
- package/src/defaults/filters/demo/index.ts +6 -0
- package/src/defaults/filters/index.ts +11 -0
- package/src/defaults/index.ts +27 -0
- package/src/defaults/pages/Account/DashDefaultRegister.tsx +281 -0
- package/src/defaults/pages/Account/DashDefaultSignUp.tsx +492 -0
- package/src/defaults/pages/Account/DashDefaultSignUpSuccess.tsx +113 -0
- package/src/defaults/pages/Account/index.ts +8 -0
- package/src/defaults/pages/DashDefaultLogin.tsx +224 -0
- package/src/defaults/pages/Misc/DashDefaultNotFound.tsx +96 -0
- package/src/defaults/pages/Misc/DashDefaultServerError.tsx +102 -0
- package/src/defaults/pages/Misc/DashDefaultUnauthorized.tsx +116 -0
- package/src/defaults/pages/Misc/index.ts +8 -0
- package/src/defaults/pages/Static/DashDefaultPrivacyPage.tsx +85 -0
- package/src/defaults/pages/Static/DashDefaultStaticPage.tsx +75 -0
- package/src/defaults/pages/Static/DashDefaultTermsPage.tsx +69 -0
- package/src/defaults/pages/Static/index.ts +8 -0
- package/src/defaults/pages/index.ts +28 -0
- package/src/defaults/schemas/dashDefaultSchema.tsx +25 -0
- package/src/defaults/schemas/demo/dashDefaultTodoSchema.tsx +39 -0
- package/src/defaults/schemas/demo/index.ts +6 -0
- package/src/defaults/schemas/index.ts +14 -0
- package/src/filters/demo/todoFilters.tsx +39 -0
- package/src/index.ts +131 -0
- package/src/resources/demo/todoResource.tsx +68 -0
- package/src/schemas/defaultSchema.tsx +14 -0
- package/src/schemas/demo/todoSchema.tsx +27 -0
|
@@ -1 +1,150 @@
|
|
|
1
|
-
import{Fragment
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { Suspense, useMemo } from "react";
|
|
3
|
+
import { Route } from "react-router-dom";
|
|
4
|
+
import { useSelector } from "react-redux";
|
|
5
|
+
import { DashRouterComponent, MinimalLayout } from "dash-utils";
|
|
6
|
+
import { NotFound } from "dash-components";
|
|
7
|
+
import AppLoadingFallback from "dash-components/src/components/theme/AppLoadingFallback";
|
|
8
|
+
import authProvider from "dash-admin/src/providers/authProvider";
|
|
9
|
+
import dataProvider from "dash-admin/src/providers/dataProvider";
|
|
10
|
+
import DefaultPrivateResources from "./DashDefaultPrivateResources";
|
|
11
|
+
import DomainAppLayout from "dash-admin/src/default-theme/DomainAppLayout";
|
|
12
|
+
const DASHAdmin = React.lazy(() => import("dash-admin").then((module) => ({ default: module.DASHAdmin })));
|
|
13
|
+
const DASHAppProviders = React.lazy(() => import("dash-admin").then((module) => ({ default: module.DASHAppProviders })));
|
|
14
|
+
const RoutingWrapper = React.lazy(() => import("dash-admin").then((module) => ({ default: module.RoutingWrapper })));
|
|
15
|
+
const AnimatedRoutesWrapper = React.lazy(() => import("dash-admin").then((module) => ({ default: module.AnimatedRoutesWrapper })));
|
|
16
|
+
const LoadingFallback = ({ message }) => /* @__PURE__ */ jsx(AppLoadingFallback, { message: message || "Loading..." });
|
|
17
|
+
const DefaultPrivateApp = ({
|
|
18
|
+
// App configuration props
|
|
19
|
+
appPath = null,
|
|
20
|
+
resources = DefaultPrivateResources,
|
|
21
|
+
useOwnRouter = true,
|
|
22
|
+
GlobalHook = () => /* @__PURE__ */ jsx(Fragment, {}),
|
|
23
|
+
// DASHAdmin props with defaults
|
|
24
|
+
AdminHook = (props) => props.children,
|
|
25
|
+
customLayout = DomainAppLayout,
|
|
26
|
+
customLoginPage,
|
|
27
|
+
customNotification,
|
|
28
|
+
customErrorPage = NotFound,
|
|
29
|
+
customDataProvider = null,
|
|
30
|
+
customAuthProvider = null,
|
|
31
|
+
customI18nProvider,
|
|
32
|
+
useCoreResources = false,
|
|
33
|
+
customProfilePage,
|
|
34
|
+
customRecoverPassword,
|
|
35
|
+
customChangePassword,
|
|
36
|
+
customVerifyAccount,
|
|
37
|
+
customThemeConfig,
|
|
38
|
+
customAuthRoutes,
|
|
39
|
+
customRoutes,
|
|
40
|
+
customPublicRoutes = null,
|
|
41
|
+
customPrivateRoutes = null,
|
|
42
|
+
customQueryClient,
|
|
43
|
+
customDict,
|
|
44
|
+
customReplacements,
|
|
45
|
+
history,
|
|
46
|
+
initialAppConstants,
|
|
47
|
+
wsMessagesManager,
|
|
48
|
+
children
|
|
49
|
+
}) => {
|
|
50
|
+
const common = useSelector((state) => (state == null ? void 0 : state.common) || {});
|
|
51
|
+
const routePath = useMemo(() => {
|
|
52
|
+
return appPath || (common == null ? void 0 : common.appPath) || "/";
|
|
53
|
+
}, [appPath, common == null ? void 0 : common.appPath]);
|
|
54
|
+
const RouterWrapper = useMemo(() => {
|
|
55
|
+
const Wrapper = ({ children: c }) => /* @__PURE__ */ jsx(DashRouterComponent, { basename: routePath, children: c });
|
|
56
|
+
return Wrapper;
|
|
57
|
+
}, [routePath]);
|
|
58
|
+
const resolvedCustomRoutes = useMemo(
|
|
59
|
+
() => customRoutes || (customPublicRoutes ? customPublicRoutes() : []),
|
|
60
|
+
[customRoutes, customPublicRoutes]
|
|
61
|
+
);
|
|
62
|
+
const resolvedAuthRoutes = useMemo(
|
|
63
|
+
() => customAuthRoutes || (customPrivateRoutes ? customPrivateRoutes() : []),
|
|
64
|
+
[customAuthRoutes, customPrivateRoutes]
|
|
65
|
+
);
|
|
66
|
+
const resolvedDataProvider = customDataProvider || dataProvider;
|
|
67
|
+
const resolvedAuthProvider = customAuthProvider || authProvider;
|
|
68
|
+
return /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingFallback, { message: "Loading admin providers..." }), children: /* @__PURE__ */ jsxs(DASHAppProviders, { wsMessagesManager, children: [
|
|
69
|
+
/* @__PURE__ */ jsx(GlobalHook, {}),
|
|
70
|
+
useOwnRouter ? /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingFallback, { message: "Loading routing..." }), children: /* @__PURE__ */ jsx(
|
|
71
|
+
RoutingWrapper,
|
|
72
|
+
{
|
|
73
|
+
BrowserRouterComponent: RouterWrapper,
|
|
74
|
+
Wrapper: AnimatedRoutesWrapper,
|
|
75
|
+
LayoutComponent: MinimalLayout,
|
|
76
|
+
children: /* @__PURE__ */ jsx(
|
|
77
|
+
Route,
|
|
78
|
+
{
|
|
79
|
+
path: routePath + "/*",
|
|
80
|
+
element: /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingFallback, { message: "Loading admin..." }), children: [
|
|
81
|
+
children,
|
|
82
|
+
/* @__PURE__ */ jsx(
|
|
83
|
+
DASHAdmin,
|
|
84
|
+
{
|
|
85
|
+
basePath: routePath,
|
|
86
|
+
customDataProvider: resolvedDataProvider,
|
|
87
|
+
customAuthProvider: resolvedAuthProvider,
|
|
88
|
+
customResources: resources,
|
|
89
|
+
useCoreResources,
|
|
90
|
+
customLayout,
|
|
91
|
+
customLoginPage,
|
|
92
|
+
customNotification,
|
|
93
|
+
customErrorPage,
|
|
94
|
+
customI18nProvider,
|
|
95
|
+
customProfilePage,
|
|
96
|
+
customRecoverPassword,
|
|
97
|
+
customChangePassword,
|
|
98
|
+
customVerifyAccount,
|
|
99
|
+
customThemeConfig,
|
|
100
|
+
customAuthRoutes: resolvedAuthRoutes,
|
|
101
|
+
customRoutes: resolvedCustomRoutes,
|
|
102
|
+
customQueryClient,
|
|
103
|
+
customDict,
|
|
104
|
+
customReplacements,
|
|
105
|
+
history,
|
|
106
|
+
initialAppConstants,
|
|
107
|
+
AdminHook
|
|
108
|
+
}
|
|
109
|
+
)
|
|
110
|
+
] })
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
) }) : /* @__PURE__ */ jsx(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingFallback, { message: "Loading layout..." }), children: /* @__PURE__ */ jsx(MinimalLayout, { children: /* @__PURE__ */ jsxs(Suspense, { fallback: /* @__PURE__ */ jsx(LoadingFallback, { message: "Loading admin..." }), children: [
|
|
115
|
+
children,
|
|
116
|
+
/* @__PURE__ */ jsx(
|
|
117
|
+
DASHAdmin,
|
|
118
|
+
{
|
|
119
|
+
basePath: routePath,
|
|
120
|
+
customDataProvider: resolvedDataProvider,
|
|
121
|
+
customAuthProvider: resolvedAuthProvider,
|
|
122
|
+
customResources: resources,
|
|
123
|
+
useCoreResources,
|
|
124
|
+
customLayout,
|
|
125
|
+
customLoginPage,
|
|
126
|
+
customNotification,
|
|
127
|
+
customErrorPage,
|
|
128
|
+
customI18nProvider,
|
|
129
|
+
customProfilePage,
|
|
130
|
+
customRecoverPassword,
|
|
131
|
+
customChangePassword,
|
|
132
|
+
customVerifyAccount,
|
|
133
|
+
customThemeConfig,
|
|
134
|
+
customAuthRoutes: resolvedAuthRoutes,
|
|
135
|
+
customRoutes: resolvedCustomRoutes,
|
|
136
|
+
customQueryClient,
|
|
137
|
+
customDict,
|
|
138
|
+
customReplacements,
|
|
139
|
+
history,
|
|
140
|
+
initialAppConstants,
|
|
141
|
+
AdminHook
|
|
142
|
+
}
|
|
143
|
+
)
|
|
144
|
+
] }) }) })
|
|
145
|
+
] }) });
|
|
146
|
+
};
|
|
147
|
+
var DashDefaultPrivateApp_default = DefaultPrivateApp;
|
|
148
|
+
export {
|
|
149
|
+
DashDefaultPrivateApp_default as default
|
|
150
|
+
};
|
|
@@ -1 +1,10 @@
|
|
|
1
|
-
import{systemResources
|
|
1
|
+
import { systemResources } from "dash-admin";
|
|
2
|
+
import todoResource from "../resources/demo/todoResource";
|
|
3
|
+
const DefaultPrivateResources = [
|
|
4
|
+
...systemResources,
|
|
5
|
+
todoResource
|
|
6
|
+
];
|
|
7
|
+
var DashDefaultPrivateResources_default = DefaultPrivateResources;
|
|
8
|
+
export {
|
|
9
|
+
DashDefaultPrivateResources_default as default
|
|
10
|
+
};
|
|
@@ -1 +1,20 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { DashRouterComponent } from "dash-utils";
|
|
3
|
+
import AppLoadingFallback from "dash-components/src/components/theme/AppLoadingFallback";
|
|
4
|
+
import defaultPublicRoutes from "../defaults/extensions/router/dashDefaultPublicRoutes";
|
|
5
|
+
const DefaultPublicApp = ({
|
|
6
|
+
customPublicRoutes
|
|
7
|
+
}) => {
|
|
8
|
+
const routesProvider = customPublicRoutes || defaultPublicRoutes;
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
DashRouterComponent,
|
|
11
|
+
{
|
|
12
|
+
loader: /* @__PURE__ */ jsx(AppLoadingFallback, { message: "Loading..." }),
|
|
13
|
+
publicRoutes: routesProvider
|
|
14
|
+
}
|
|
15
|
+
);
|
|
16
|
+
};
|
|
17
|
+
var DashDefaultPublicApp_default = DefaultPublicApp;
|
|
18
|
+
export {
|
|
19
|
+
DashDefaultPublicApp_default as default
|
|
20
|
+
};
|
|
@@ -1 +1,245 @@
|
|
|
1
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
32
|
+
var __async = (__this, __arguments, generator) => {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
var fulfilled = (value) => {
|
|
35
|
+
try {
|
|
36
|
+
step(generator.next(value));
|
|
37
|
+
} catch (e) {
|
|
38
|
+
reject(e);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var rejected = (value) => {
|
|
42
|
+
try {
|
|
43
|
+
step(generator.throw(value));
|
|
44
|
+
} catch (e) {
|
|
45
|
+
reject(e);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
49
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
53
|
+
import { useState, useEffect } from "react";
|
|
54
|
+
import AppLoadingFallback from "dash-components/src/components/theme/AppLoadingFallback";
|
|
55
|
+
import DashDefaultPrivateApp from "./DashDefaultPrivateApp";
|
|
56
|
+
const isResourceManifest = (resources) => {
|
|
57
|
+
if (!resources) return false;
|
|
58
|
+
if (Array.isArray(resources)) return false;
|
|
59
|
+
return typeof resources === "object" && Object.values(resources).every((val) => typeof val === "function");
|
|
60
|
+
};
|
|
61
|
+
const isResourceArray = (resources) => {
|
|
62
|
+
return Array.isArray(resources);
|
|
63
|
+
};
|
|
64
|
+
const resourceCache = /* @__PURE__ */ new WeakMap();
|
|
65
|
+
const loadResourcesFromManifest = (manifest) => __async(null, null, function* () {
|
|
66
|
+
if (resourceCache.has(manifest)) {
|
|
67
|
+
return resourceCache.get(manifest);
|
|
68
|
+
}
|
|
69
|
+
const entries = Object.entries(manifest);
|
|
70
|
+
const imports = yield Promise.all(
|
|
71
|
+
entries.map((_0) => __async(null, [_0], function* ([name, importFn]) {
|
|
72
|
+
try {
|
|
73
|
+
const module = yield importFn();
|
|
74
|
+
return module.default;
|
|
75
|
+
} catch (error) {
|
|
76
|
+
console.error(`\u274C Failed to load resource "${name}":`, error);
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
}))
|
|
80
|
+
);
|
|
81
|
+
const allResources = imports.filter((mod) => mod !== null).flatMap((mod) => Array.isArray(mod) ? mod : [mod]);
|
|
82
|
+
const resourceMap = /* @__PURE__ */ new Map();
|
|
83
|
+
for (const resource of allResources) {
|
|
84
|
+
if (resource.model) {
|
|
85
|
+
resourceMap.set(resource.model, resource);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const resources = Array.from(resourceMap.values());
|
|
89
|
+
resourceCache.set(manifest, resources);
|
|
90
|
+
return resources;
|
|
91
|
+
});
|
|
92
|
+
const clearResourceCache = (manifest) => {
|
|
93
|
+
resourceCache.delete(manifest);
|
|
94
|
+
};
|
|
95
|
+
const useDashResourceManifest = (manifest) => {
|
|
96
|
+
const [resources, setResources] = useState(null);
|
|
97
|
+
const [loading, setLoading] = useState(true);
|
|
98
|
+
const [error, setError] = useState(null);
|
|
99
|
+
const [reloadTrigger, setReloadTrigger] = useState(0);
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
let mounted = true;
|
|
102
|
+
const load = () => __async(null, null, function* () {
|
|
103
|
+
setLoading(true);
|
|
104
|
+
setError(null);
|
|
105
|
+
try {
|
|
106
|
+
const loadedResources = yield loadResourcesFromManifest(manifest);
|
|
107
|
+
if (mounted) {
|
|
108
|
+
console.log("\u{1F4E6} useDashResourceManifest: Loaded", loadedResources.length, "resources from manifest");
|
|
109
|
+
setResources(loadedResources);
|
|
110
|
+
setLoading(false);
|
|
111
|
+
}
|
|
112
|
+
} catch (err) {
|
|
113
|
+
if (mounted) {
|
|
114
|
+
const errorMessage = err instanceof Error ? err.message : "Failed to load resources";
|
|
115
|
+
console.error("\u274C useDashResourceManifest:", errorMessage);
|
|
116
|
+
setError(errorMessage);
|
|
117
|
+
setLoading(false);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
load();
|
|
122
|
+
return () => {
|
|
123
|
+
mounted = false;
|
|
124
|
+
};
|
|
125
|
+
}, [manifest, reloadTrigger]);
|
|
126
|
+
const reload = () => {
|
|
127
|
+
clearResourceCache(manifest);
|
|
128
|
+
setReloadTrigger((prev) => prev + 1);
|
|
129
|
+
};
|
|
130
|
+
return { resources, loading, error, reload };
|
|
131
|
+
};
|
|
132
|
+
const DefaultManifestLoader = ({ message }) => /* @__PURE__ */ jsx(AppLoadingFallback, { message: message || "Loading resources..." });
|
|
133
|
+
const DefaultManifestError = ({ error, onRetry }) => /* @__PURE__ */ jsxs("div", { style: {
|
|
134
|
+
display: "flex",
|
|
135
|
+
flexDirection: "column",
|
|
136
|
+
justifyContent: "center",
|
|
137
|
+
alignItems: "center",
|
|
138
|
+
height: "100vh",
|
|
139
|
+
backgroundColor: "var(--dash-background, #121212)",
|
|
140
|
+
color: "var(--dash-text, #ffffff)",
|
|
141
|
+
padding: "20px"
|
|
142
|
+
}, children: [
|
|
143
|
+
/* @__PURE__ */ jsx("h2", { style: { color: "#f44336", marginBottom: "16px" }, children: "Failed to load resources" }),
|
|
144
|
+
/* @__PURE__ */ jsx("p", { style: { marginBottom: "24px", opacity: 0.8, textAlign: "center", maxWidth: "500px" }, children: error }),
|
|
145
|
+
/* @__PURE__ */ jsx(
|
|
146
|
+
"button",
|
|
147
|
+
{
|
|
148
|
+
onClick: onRetry,
|
|
149
|
+
style: {
|
|
150
|
+
backgroundColor: "var(--dash-primary, #90caf9)",
|
|
151
|
+
color: "#000",
|
|
152
|
+
border: "none",
|
|
153
|
+
padding: "12px 24px",
|
|
154
|
+
borderRadius: "4px",
|
|
155
|
+
cursor: "pointer",
|
|
156
|
+
fontSize: "14px",
|
|
157
|
+
fontWeight: 500
|
|
158
|
+
},
|
|
159
|
+
children: "Retry"
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
] });
|
|
163
|
+
const DashPrivateAppWithManifest = (_a) => {
|
|
164
|
+
var _b = _a, {
|
|
165
|
+
manifest,
|
|
166
|
+
LoadingComponent = DefaultManifestLoader,
|
|
167
|
+
ErrorComponent = DefaultManifestError,
|
|
168
|
+
children
|
|
169
|
+
} = _b, privateAppProps = __objRest(_b, [
|
|
170
|
+
"manifest",
|
|
171
|
+
"LoadingComponent",
|
|
172
|
+
"ErrorComponent",
|
|
173
|
+
"children"
|
|
174
|
+
]);
|
|
175
|
+
const { resources, loading, error, reload } = useDashResourceManifest(manifest);
|
|
176
|
+
if (loading) {
|
|
177
|
+
return /* @__PURE__ */ jsx(LoadingComponent, { message: "Loading resources..." });
|
|
178
|
+
}
|
|
179
|
+
if (error) {
|
|
180
|
+
return /* @__PURE__ */ jsx(ErrorComponent, { error, onRetry: reload });
|
|
181
|
+
}
|
|
182
|
+
return /* @__PURE__ */ jsx(
|
|
183
|
+
DashDefaultPrivateApp,
|
|
184
|
+
__spreadProps(__spreadValues({
|
|
185
|
+
resources: resources || []
|
|
186
|
+
}, privateAppProps), {
|
|
187
|
+
children
|
|
188
|
+
})
|
|
189
|
+
);
|
|
190
|
+
};
|
|
191
|
+
const DashPrivateApp = (_c) => {
|
|
192
|
+
var _d = _c, {
|
|
193
|
+
resources,
|
|
194
|
+
LoadingComponent = DefaultManifestLoader,
|
|
195
|
+
ErrorComponent = DefaultManifestError,
|
|
196
|
+
children
|
|
197
|
+
} = _d, privateAppProps = __objRest(_d, [
|
|
198
|
+
"resources",
|
|
199
|
+
"LoadingComponent",
|
|
200
|
+
"ErrorComponent",
|
|
201
|
+
"children"
|
|
202
|
+
]);
|
|
203
|
+
if (isResourceArray(resources)) {
|
|
204
|
+
return /* @__PURE__ */ jsx(
|
|
205
|
+
DashDefaultPrivateApp,
|
|
206
|
+
__spreadProps(__spreadValues({
|
|
207
|
+
resources
|
|
208
|
+
}, privateAppProps), {
|
|
209
|
+
children
|
|
210
|
+
})
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
if (isResourceManifest(resources)) {
|
|
214
|
+
return /* @__PURE__ */ jsx(
|
|
215
|
+
DashPrivateAppWithManifest,
|
|
216
|
+
__spreadProps(__spreadValues({
|
|
217
|
+
manifest: resources,
|
|
218
|
+
LoadingComponent,
|
|
219
|
+
ErrorComponent
|
|
220
|
+
}, privateAppProps), {
|
|
221
|
+
children
|
|
222
|
+
})
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
console.warn("DashPrivateApp: No resources provided. Using empty resources array.");
|
|
226
|
+
return /* @__PURE__ */ jsx(
|
|
227
|
+
DashDefaultPrivateApp,
|
|
228
|
+
__spreadProps(__spreadValues({
|
|
229
|
+
resources: []
|
|
230
|
+
}, privateAppProps), {
|
|
231
|
+
children
|
|
232
|
+
})
|
|
233
|
+
);
|
|
234
|
+
};
|
|
235
|
+
var DashResourceLoader_default = DashPrivateAppWithManifest;
|
|
236
|
+
export {
|
|
237
|
+
DashPrivateApp,
|
|
238
|
+
DashPrivateAppWithManifest,
|
|
239
|
+
clearResourceCache,
|
|
240
|
+
DashResourceLoader_default as default,
|
|
241
|
+
isResourceArray,
|
|
242
|
+
isResourceManifest,
|
|
243
|
+
loadResourcesFromManifest,
|
|
244
|
+
useDashResourceManifest
|
|
245
|
+
};
|
|
@@ -1 +1,78 @@
|
|
|
1
|
-
var
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import React from "react";
|
|
6
|
+
const DefaultErrorDisplay = ({
|
|
7
|
+
error,
|
|
8
|
+
onReload
|
|
9
|
+
}) => /* @__PURE__ */ jsxs("div", { style: {
|
|
10
|
+
display: "flex",
|
|
11
|
+
justifyContent: "center",
|
|
12
|
+
alignItems: "center",
|
|
13
|
+
height: "100vh",
|
|
14
|
+
backgroundColor: "#121212",
|
|
15
|
+
color: "#ffffff",
|
|
16
|
+
flexDirection: "column",
|
|
17
|
+
gap: "20px"
|
|
18
|
+
}, children: [
|
|
19
|
+
/* @__PURE__ */ jsx("h2", { children: "Something went wrong" }),
|
|
20
|
+
error && /* @__PURE__ */ jsx("p", { style: {
|
|
21
|
+
color: "#ff6b6b",
|
|
22
|
+
maxWidth: "600px",
|
|
23
|
+
textAlign: "center",
|
|
24
|
+
padding: "0 20px"
|
|
25
|
+
}, children: error.message }),
|
|
26
|
+
/* @__PURE__ */ jsx(
|
|
27
|
+
"button",
|
|
28
|
+
{
|
|
29
|
+
onClick: onReload,
|
|
30
|
+
style: {
|
|
31
|
+
padding: "10px 20px",
|
|
32
|
+
backgroundColor: "#007bff",
|
|
33
|
+
color: "white",
|
|
34
|
+
border: "none",
|
|
35
|
+
borderRadius: "4px",
|
|
36
|
+
cursor: "pointer"
|
|
37
|
+
},
|
|
38
|
+
children: "Reload Page"
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
] });
|
|
42
|
+
class DashDefaultErrorBoundary extends React.Component {
|
|
43
|
+
constructor(props) {
|
|
44
|
+
super(props);
|
|
45
|
+
__publicField(this, "handleReload", () => {
|
|
46
|
+
window.location.reload();
|
|
47
|
+
});
|
|
48
|
+
this.state = { hasError: false };
|
|
49
|
+
}
|
|
50
|
+
static getDerivedStateFromError(error) {
|
|
51
|
+
return { hasError: true, error };
|
|
52
|
+
}
|
|
53
|
+
componentDidCatch(error, errorInfo) {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
console.error("DashDefaultErrorBoundary caught an error:", error, errorInfo);
|
|
56
|
+
(_b = (_a = this.props).onError) == null ? void 0 : _b.call(_a, error, errorInfo);
|
|
57
|
+
}
|
|
58
|
+
render() {
|
|
59
|
+
if (this.state.hasError) {
|
|
60
|
+
if (this.props.fallback) {
|
|
61
|
+
return this.props.fallback;
|
|
62
|
+
}
|
|
63
|
+
return /* @__PURE__ */ jsx(
|
|
64
|
+
DefaultErrorDisplay,
|
|
65
|
+
{
|
|
66
|
+
error: this.state.error,
|
|
67
|
+
onReload: this.handleReload
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
return this.props.children;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
var DashDefaultErrorBoundary_default = DashDefaultErrorBoundary;
|
|
75
|
+
export {
|
|
76
|
+
DashDefaultErrorBoundary,
|
|
77
|
+
DashDefaultErrorBoundary_default as default
|
|
78
|
+
};
|
|
@@ -1 +1,59 @@
|
|
|
1
|
-
|
|
1
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
2
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
3
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
4
|
+
var __objRest = (source, exclude) => {
|
|
5
|
+
var target = {};
|
|
6
|
+
for (var prop in source)
|
|
7
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
8
|
+
target[prop] = source[prop];
|
|
9
|
+
if (source != null && __getOwnPropSymbols)
|
|
10
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
11
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
12
|
+
target[prop] = source[prop];
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
var __async = (__this, __arguments, generator) => {
|
|
17
|
+
return new Promise((resolve, reject) => {
|
|
18
|
+
var fulfilled = (value) => {
|
|
19
|
+
try {
|
|
20
|
+
step(generator.next(value));
|
|
21
|
+
} catch (e) {
|
|
22
|
+
reject(e);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var rejected = (value) => {
|
|
26
|
+
try {
|
|
27
|
+
step(generator.throw(value));
|
|
28
|
+
} catch (e) {
|
|
29
|
+
reject(e);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
33
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
import {
|
|
37
|
+
dashInitializeApp,
|
|
38
|
+
dashBootstrapApp
|
|
39
|
+
} from "dash-utils";
|
|
40
|
+
import { injectTenantStyles } from "dash-admin/src/utils/injectTenantStyles";
|
|
41
|
+
const dashDefaultInitializeApp = (..._0) => __async(null, [..._0], function* (config = {}) {
|
|
42
|
+
const _a = config, { defaultTheme } = _a, restConfig = __objRest(_a, ["defaultTheme"]);
|
|
43
|
+
yield dashInitializeApp(restConfig);
|
|
44
|
+
if (defaultTheme) {
|
|
45
|
+
injectTenantStyles(defaultTheme);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const dashDefaultBootstrapApp = (defaultTheme) => {
|
|
49
|
+
dashBootstrapApp();
|
|
50
|
+
if (defaultTheme) {
|
|
51
|
+
injectTenantStyles(defaultTheme);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var dashDefaultInitializeApp_default = dashDefaultInitializeApp;
|
|
55
|
+
export {
|
|
56
|
+
dashDefaultBootstrapApp,
|
|
57
|
+
dashDefaultInitializeApp,
|
|
58
|
+
dashDefaultInitializeApp_default as default
|
|
59
|
+
};
|
|
@@ -1 +1,24 @@
|
|
|
1
|
-
import
|
|
1
|
+
import {
|
|
2
|
+
dashDefaultInitializeApp,
|
|
3
|
+
dashDefaultBootstrapApp
|
|
4
|
+
} from "./dashDefaultInitializeApp";
|
|
5
|
+
import {
|
|
6
|
+
DashDefaultLoader
|
|
7
|
+
} from "../components/DashDefaultLoader";
|
|
8
|
+
import {
|
|
9
|
+
DashDefaultErrorBoundary
|
|
10
|
+
} from "./DashDefaultErrorBoundary";
|
|
11
|
+
import {
|
|
12
|
+
createLazyAppComponent,
|
|
13
|
+
createSimpleLazyApp,
|
|
14
|
+
DefaultLoadFailedComponent
|
|
15
|
+
} from "dash-utils";
|
|
16
|
+
export {
|
|
17
|
+
DashDefaultErrorBoundary,
|
|
18
|
+
DashDefaultLoader,
|
|
19
|
+
DefaultLoadFailedComponent,
|
|
20
|
+
createLazyAppComponent,
|
|
21
|
+
createSimpleLazyApp,
|
|
22
|
+
dashDefaultBootstrapApp,
|
|
23
|
+
dashDefaultInitializeApp
|
|
24
|
+
};
|
|
@@ -1,6 +1,47 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const DashDefaultLoader = ({
|
|
3
|
+
message = "Loading...",
|
|
4
|
+
background = "linear-gradient(to bottom, var(--bodybg-primary), var(--bodybg-secondary))",
|
|
5
|
+
textColor = "var(--text-color, @text-color--dark)"
|
|
6
|
+
}) => /* @__PURE__ */ jsxs(
|
|
7
|
+
"div",
|
|
8
|
+
{
|
|
9
|
+
style: {
|
|
10
|
+
display: "flex",
|
|
11
|
+
flexDirection: "column",
|
|
12
|
+
justifyContent: "center",
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
minHeight: "100vh",
|
|
15
|
+
gap: "16px",
|
|
16
|
+
background,
|
|
17
|
+
color: textColor
|
|
18
|
+
},
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ jsx(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
style: {
|
|
24
|
+
width: "60px",
|
|
25
|
+
height: "60px",
|
|
26
|
+
border: "4px solid rgba(255, 255, 255, 0.3)",
|
|
27
|
+
borderTop: "4px solid #ffffff",
|
|
28
|
+
borderRadius: "50%",
|
|
29
|
+
animation: "spin 1s linear infinite"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
),
|
|
33
|
+
/* @__PURE__ */ jsx("div", { style: { fontSize: "16px" }, children: message }),
|
|
34
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
2
35
|
@keyframes spin {
|
|
3
36
|
0% { transform: rotate(0deg); }
|
|
4
37
|
100% { transform: rotate(360deg); }
|
|
5
38
|
}
|
|
6
|
-
`})
|
|
39
|
+
` })
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
var DashDefaultLoader_default = DashDefaultLoader;
|
|
44
|
+
export {
|
|
45
|
+
DashDefaultLoader,
|
|
46
|
+
DashDefaultLoader_default as default
|
|
47
|
+
};
|