@burdenoff/microfe-bigconsole 2026.804.2 → 2026.805.2
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/bigconsole/AdminRoot.js +21 -16
- package/dist/bigconsole/AdminRoot.js.map +1 -1
- package/dist/bigconsole/BigConsoleRoot.js +44 -39
- package/dist/bigconsole/BigConsoleRoot.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +115 -100
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +100 -98
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +164 -161
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js +20 -20
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +216 -49
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +96 -90
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.js +87 -76
- package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +120 -118
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.js +113 -104
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardViewPage.js +208 -199
- package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardsPage.js +376 -325
- package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
- package/dist/bigconsole/pages/DataParsersPage.js +135 -125
- package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +182 -172
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +233 -198
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +281 -268
- package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js +238 -223
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserViewPage.js +162 -144
- package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +212 -204
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineViewPage.js +191 -183
- package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelinesPage.js +128 -103
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js +238 -217
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +116 -102
- package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
- package/dist/bigconsole/utils/csv.js +91 -0
- package/dist/bigconsole/utils/csv.js.map +1 -0
- package/dist/constants/permissions.js +83 -0
- package/dist/constants/permissions.js.map +1 -0
- package/package.json +2 -2
|
@@ -6,58 +6,61 @@ import "../context/index.js";
|
|
|
6
6
|
import r from "../hooks/useWidgetOperations.js";
|
|
7
7
|
import i from "../hooks/useDashboardOperations.js";
|
|
8
8
|
import ee from "../hooks/useFilterUrlSync.js";
|
|
9
|
-
import
|
|
9
|
+
import a from "../hooks/usePageOperations.js";
|
|
10
10
|
import "../hooks/index.js";
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
11
|
+
import { BIGCONSOLE_PERMISSIONS as o } from "../../constants/permissions.js";
|
|
12
|
+
import s from "../components/dashboard/DashboardCanvas.js";
|
|
13
|
+
import te from "../components/dashboard/LiveCanvasToggle.js";
|
|
14
|
+
import ne from "../components/dashboard/ExportDashboardDialog.js";
|
|
15
|
+
import re from "../components/dashboard/DrilldownBreadcrumb.js";
|
|
16
|
+
import ie from "../components/dashboard/PublishToStoreDialog.js";
|
|
16
17
|
import "../components/dashboard/index.js";
|
|
17
|
-
import { memo as
|
|
18
|
-
import { useParams as
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
18
|
+
import { memo as c, useCallback as l, useEffect as u, useRef as ae, useState as d } from "react";
|
|
19
|
+
import { useParams as f } from "react-router";
|
|
20
|
+
import { AccessDenied as p } from "@burdenoff/fe-libs/shared/components";
|
|
21
|
+
import { usePermissions as m } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
22
|
+
import { ArrowLeft as oe } from "lucide-react";
|
|
23
|
+
import { Button as se, IllustratedEmptyState as h } from "@burdenoff/fe-libs/ui";
|
|
24
|
+
import { Fragment as ce, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
22
25
|
//#region src/bigconsole/pages/DashboardViewPage.tsx
|
|
23
|
-
var
|
|
24
|
-
let { dashboardId:
|
|
25
|
-
|
|
26
|
-
if (!
|
|
27
|
-
|
|
26
|
+
var v = c(function() {
|
|
27
|
+
let { dashboardId: c } = f(), v = n(), { hasPermission: y, isLoading: le } = m(), ue = y(o.DASHBOARD_READ), de = y(o.DASHBOARD_UPDATE), b = y(o.DASHBOARD_EXPORT), x = y(o.DASHBOARD_PUBLISH), [S, C] = d(null), [fe, w] = d(!1), [pe, T] = d(!1), [me, E] = d(!1), [D, he] = d(!1), { isInDrilldown: O, getContextFromUrl: k, getDrilldownMetadata: A } = ee(), j = t((e) => e.currentDashboard), M = t((e) => e.setCurrentDashboard), N = t((e) => e.setGlobalFilterValue), P = t((e) => e.clearAllGlobalFilters), F = e((e) => e.widgets), I = e((e) => e.clipboardWidgetId), L = e((e) => e.clipboardAction), R = e((e) => e.clearClipboard), z = e((e) => e.selectWidget), { loading: ge, error: B, fetchDashboard: V, updateDashboard: H } = i(), { createWidget: U, deleteWidget: W, duplicateWidget: G, batchUpdatePositions: K, refetch: q } = r(S || void 0, c), { createPage: J, updatePage: Y, deletePage: X, reorderPages: Z } = a();
|
|
28
|
+
u(() => {
|
|
29
|
+
if (!c) {
|
|
30
|
+
v("/dashboards");
|
|
28
31
|
return;
|
|
29
32
|
}
|
|
30
|
-
return
|
|
31
|
-
e ? e.pages && e.pages.length > 0 &&
|
|
33
|
+
return P(), T(!1), V(c).then((e) => {
|
|
34
|
+
e ? e.pages && e.pages.length > 0 && C(e.pages[0].id) : T(!0);
|
|
32
35
|
}), () => {
|
|
33
|
-
|
|
36
|
+
M(null), P(), T(!1);
|
|
34
37
|
};
|
|
35
38
|
}, [
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
]),
|
|
42
|
-
if (!
|
|
43
|
-
let e =
|
|
39
|
+
c,
|
|
40
|
+
v,
|
|
41
|
+
V,
|
|
42
|
+
M,
|
|
43
|
+
P
|
|
44
|
+
]), u(() => {
|
|
45
|
+
if (!O) return;
|
|
46
|
+
let e = k(), t = A();
|
|
44
47
|
Object.entries(e).forEach(([e, t]) => {
|
|
45
|
-
|
|
46
|
-
}), t.depth > 0 && (
|
|
48
|
+
N(`ctx_${e}`, t);
|
|
49
|
+
}), t.depth > 0 && (N("__drilldown_depth", t.depth), N("__drilldown_parent", t.parent), N("__drilldown_path", t.path)), Object.keys(e).length > 0 && console.debug("[DashboardViewPage] Loaded drilldown context:", {
|
|
47
50
|
context: e,
|
|
48
51
|
metadata: t
|
|
49
52
|
});
|
|
50
53
|
}, [
|
|
51
|
-
E,
|
|
52
|
-
D,
|
|
53
54
|
O,
|
|
54
|
-
|
|
55
|
+
k,
|
|
56
|
+
A,
|
|
57
|
+
N
|
|
55
58
|
]);
|
|
56
|
-
let
|
|
57
|
-
|
|
58
|
-
if (!
|
|
59
|
+
let Q = ae(q);
|
|
60
|
+
Q.current = q, u(() => {
|
|
61
|
+
if (!D || !c) return;
|
|
59
62
|
let e = () => {
|
|
60
|
-
typeof document < "u" && document.visibilityState !== "visible" || t.getState().viewMode !== "edit" && (
|
|
63
|
+
typeof document < "u" && document.visibilityState !== "visible" || t.getState().viewMode !== "edit" && (V(c, { silent: !0 }), Q.current());
|
|
61
64
|
};
|
|
62
65
|
e();
|
|
63
66
|
let n = window.setInterval(e, 3500), r = () => {
|
|
@@ -67,60 +70,60 @@ var g = a(function() {
|
|
|
67
70
|
window.clearInterval(n), document.removeEventListener("visibilitychange", r);
|
|
68
71
|
};
|
|
69
72
|
}, [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
D,
|
|
74
|
+
c,
|
|
75
|
+
V
|
|
73
76
|
]);
|
|
74
|
-
let
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
+
let _e = l(async () => {
|
|
78
|
+
if (c) {
|
|
79
|
+
w(!0);
|
|
77
80
|
try {
|
|
78
|
-
let e = Array.from(
|
|
79
|
-
e.length > 0 && await
|
|
81
|
+
let e = Array.from(F.values());
|
|
82
|
+
e.length > 0 && await K(e.map((e) => ({
|
|
80
83
|
id: e.id,
|
|
81
84
|
position: e.position
|
|
82
|
-
}))),
|
|
83
|
-
id:
|
|
84
|
-
name:
|
|
85
|
-
description:
|
|
85
|
+
}))), j && await H({
|
|
86
|
+
id: c,
|
|
87
|
+
name: j.name,
|
|
88
|
+
description: j.description
|
|
86
89
|
});
|
|
87
90
|
} catch {} finally {
|
|
88
|
-
|
|
91
|
+
w(!1);
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
94
|
}, [
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
]),
|
|
98
|
-
|
|
99
|
-
}, [
|
|
100
|
-
|
|
101
|
-
}, []),
|
|
102
|
-
let e =
|
|
103
|
-
if (!
|
|
104
|
-
let t =
|
|
95
|
+
c,
|
|
96
|
+
F,
|
|
97
|
+
j,
|
|
98
|
+
K,
|
|
99
|
+
H
|
|
100
|
+
]), ve = l(() => {
|
|
101
|
+
v("/dashboards");
|
|
102
|
+
}, [v]), ye = l((e) => {
|
|
103
|
+
C(e);
|
|
104
|
+
}, []), be = l(async () => {
|
|
105
|
+
let e = S || j?.pages?.[0]?.id;
|
|
106
|
+
if (!I || !c || !e) return;
|
|
107
|
+
let t = F.get(I);
|
|
105
108
|
if (!t) {
|
|
106
|
-
|
|
109
|
+
R();
|
|
107
110
|
return;
|
|
108
111
|
}
|
|
109
112
|
let n = {
|
|
110
113
|
x: 0,
|
|
111
|
-
y: Array.from(
|
|
114
|
+
y: Array.from(F.values()).reduce((e, t) => {
|
|
112
115
|
let n = (t.positionY ?? 0) + (t.positionHeight ?? 4);
|
|
113
116
|
return Math.max(e, n);
|
|
114
117
|
}, 0),
|
|
115
118
|
width: t.positionWidth ?? 4,
|
|
116
119
|
height: t.positionHeight ?? 4
|
|
117
|
-
}, r =
|
|
120
|
+
}, r = L === "copy" ? `${t.title} (Copy)` : t.title, i = null;
|
|
118
121
|
try {
|
|
119
|
-
i = await
|
|
122
|
+
i = await G(I, n, r);
|
|
120
123
|
} catch {}
|
|
121
|
-
i ||= await
|
|
124
|
+
i ||= await U({
|
|
122
125
|
pageId: e,
|
|
123
|
-
dashboardId:
|
|
126
|
+
dashboardId: c,
|
|
124
127
|
type: t.type,
|
|
125
128
|
title: r,
|
|
126
129
|
description: t.description,
|
|
@@ -132,235 +135,241 @@ var g = a(function() {
|
|
|
132
135
|
position: n,
|
|
133
136
|
refreshInterval: t.refreshInterval ?? void 0,
|
|
134
137
|
metadata: t.metadata
|
|
135
|
-
}), i && (
|
|
138
|
+
}), i && (z(i.id), L === "cut" && await W(I)), R();
|
|
136
139
|
}, [
|
|
137
|
-
|
|
140
|
+
I,
|
|
141
|
+
L,
|
|
142
|
+
c,
|
|
143
|
+
S,
|
|
144
|
+
j,
|
|
138
145
|
F,
|
|
139
|
-
|
|
140
|
-
_,
|
|
141
|
-
k,
|
|
142
|
-
N,
|
|
143
|
-
W,
|
|
144
|
-
H,
|
|
146
|
+
G,
|
|
145
147
|
U,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
W,
|
|
149
|
+
z,
|
|
150
|
+
R
|
|
151
|
+
]), xe = l(() => {
|
|
152
|
+
E(!0);
|
|
153
|
+
}, []), [Se, $] = d(!1), Ce = l(() => {
|
|
151
154
|
$(!0);
|
|
152
|
-
}, []),
|
|
155
|
+
}, []), we = l(() => {
|
|
153
156
|
$(!1);
|
|
154
|
-
}, []),
|
|
155
|
-
|
|
156
|
-
}, []),
|
|
157
|
-
if (!
|
|
158
|
-
let e = await
|
|
159
|
-
dashboardId:
|
|
160
|
-
name: `Page ${(
|
|
157
|
+
}, []), Te = l(() => {
|
|
158
|
+
E(!1);
|
|
159
|
+
}, []), Ee = l(async () => {
|
|
160
|
+
if (!j || !c) return;
|
|
161
|
+
let e = await J({
|
|
162
|
+
dashboardId: c,
|
|
163
|
+
name: `Page ${(j.pages?.length || 0) + 1}`
|
|
161
164
|
});
|
|
162
|
-
e && (
|
|
163
|
-
...
|
|
164
|
-
pages: [...
|
|
165
|
-
}),
|
|
165
|
+
e && (M({
|
|
166
|
+
...j,
|
|
167
|
+
pages: [...j.pages || [], e]
|
|
168
|
+
}), C(e.id));
|
|
166
169
|
}, [
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
]),
|
|
172
|
-
|
|
170
|
+
j,
|
|
171
|
+
c,
|
|
172
|
+
M,
|
|
173
|
+
J
|
|
174
|
+
]), De = l(async (e, t) => {
|
|
175
|
+
j && await Y({
|
|
173
176
|
id: e,
|
|
174
177
|
name: t
|
|
175
|
-
}) &&
|
|
176
|
-
...
|
|
177
|
-
pages:
|
|
178
|
+
}) && M({
|
|
179
|
+
...j,
|
|
180
|
+
pages: j.pages?.map((n) => n.id === e ? {
|
|
178
181
|
...n,
|
|
179
182
|
name: t
|
|
180
183
|
} : n)
|
|
181
184
|
});
|
|
182
185
|
}, [
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
]),
|
|
187
|
-
if (!
|
|
188
|
-
let t =
|
|
186
|
+
j,
|
|
187
|
+
M,
|
|
188
|
+
Y
|
|
189
|
+
]), Oe = l(async (e) => {
|
|
190
|
+
if (!j || !c) return;
|
|
191
|
+
let t = j.pages?.find((t) => t.id === e);
|
|
189
192
|
if (!t) return;
|
|
190
|
-
let n = await
|
|
191
|
-
dashboardId:
|
|
193
|
+
let n = await J({
|
|
194
|
+
dashboardId: c,
|
|
192
195
|
name: `${t.name} (Copy)`
|
|
193
196
|
});
|
|
194
|
-
n && (
|
|
195
|
-
...
|
|
196
|
-
pages: [...
|
|
197
|
-
}),
|
|
197
|
+
n && (M({
|
|
198
|
+
...j,
|
|
199
|
+
pages: [...j.pages || [], n]
|
|
200
|
+
}), C(n.id));
|
|
198
201
|
}, [
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
]),
|
|
204
|
-
if (!(!
|
|
205
|
-
let t =
|
|
202
|
+
j,
|
|
203
|
+
c,
|
|
204
|
+
M,
|
|
205
|
+
J
|
|
206
|
+
]), ke = l(async (e) => {
|
|
207
|
+
if (!(!j || (j.pages?.length || 0) <= 1) && await X(e)) {
|
|
208
|
+
let t = j.pages?.filter((t) => t.id !== e).map((e, t) => ({
|
|
206
209
|
...e,
|
|
207
210
|
order: t
|
|
208
211
|
}));
|
|
209
|
-
|
|
210
|
-
...
|
|
212
|
+
M({
|
|
213
|
+
...j,
|
|
211
214
|
pages: t
|
|
212
|
-
}),
|
|
215
|
+
}), S === e && C(t?.[0]?.id || null);
|
|
213
216
|
}
|
|
214
217
|
}, [
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
]),
|
|
220
|
-
!
|
|
221
|
-
...
|
|
218
|
+
j,
|
|
219
|
+
M,
|
|
220
|
+
S,
|
|
221
|
+
X
|
|
222
|
+
]), Ae = l(async (e) => {
|
|
223
|
+
!j || !c || (M({
|
|
224
|
+
...j,
|
|
222
225
|
pages: e.map((e, t) => ({
|
|
223
226
|
...e,
|
|
224
227
|
order: t
|
|
225
228
|
}))
|
|
226
|
-
}), await
|
|
229
|
+
}), await Z(c, e.map((e) => e.id)));
|
|
227
230
|
}, [
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
231
|
+
j,
|
|
232
|
+
c,
|
|
233
|
+
M,
|
|
234
|
+
Z
|
|
232
235
|
]);
|
|
233
|
-
return
|
|
236
|
+
return le ? /* @__PURE__ */ g("div", {
|
|
237
|
+
className: "flex items-center justify-center h-full",
|
|
238
|
+
children: /* @__PURE__ */ g("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" })
|
|
239
|
+
}) : ue ? B ? /* @__PURE__ */ g("div", {
|
|
234
240
|
className: "flex flex-col items-center justify-center h-full",
|
|
235
241
|
style: { padding: "var(--space-pagePadding)" },
|
|
236
|
-
children: /* @__PURE__ */
|
|
242
|
+
children: /* @__PURE__ */ _("div", {
|
|
237
243
|
className: "bg-status-error-bg border border-status-error-border rounded-lg p-6 w-full max-w-md",
|
|
238
244
|
children: [
|
|
239
|
-
/* @__PURE__ */
|
|
245
|
+
/* @__PURE__ */ g("h3", {
|
|
240
246
|
className: "text-lg font-medium text-status-error-text mb-2",
|
|
241
247
|
children: "Error loading dashboard"
|
|
242
248
|
}),
|
|
243
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ g("p", {
|
|
244
250
|
className: "text-sm text-text-secondary mb-4 break-words",
|
|
245
|
-
children:
|
|
251
|
+
children: B.message
|
|
246
252
|
}),
|
|
247
|
-
/* @__PURE__ */
|
|
253
|
+
/* @__PURE__ */ _("div", {
|
|
248
254
|
className: "flex flex-wrap gap-3",
|
|
249
|
-
children: [/* @__PURE__ */
|
|
255
|
+
children: [/* @__PURE__ */ g("button", {
|
|
250
256
|
type: "button",
|
|
251
|
-
onClick: () =>
|
|
257
|
+
onClick: () => V(c),
|
|
252
258
|
className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md",
|
|
253
259
|
children: "Retry"
|
|
254
|
-
}), /* @__PURE__ */
|
|
260
|
+
}), /* @__PURE__ */ g("button", {
|
|
255
261
|
type: "button",
|
|
256
|
-
onClick: () =>
|
|
262
|
+
onClick: () => v("/dashboards"),
|
|
257
263
|
className: "px-4 py-2 text-sm font-medium text-text-secondary bg-bg-sunken hover:bg-bg-sunken/80 rounded-md",
|
|
258
264
|
children: "Back to Dashboards"
|
|
259
265
|
})]
|
|
260
266
|
})
|
|
261
267
|
]
|
|
262
268
|
})
|
|
263
|
-
}) :
|
|
269
|
+
}) : pe ? /* @__PURE__ */ g("div", {
|
|
264
270
|
className: "flex flex-col items-center justify-center h-full",
|
|
265
271
|
style: { padding: "var(--space-pagePadding)" },
|
|
266
|
-
children: /* @__PURE__ */
|
|
272
|
+
children: /* @__PURE__ */ g(h, {
|
|
267
273
|
illustration: "empty-data",
|
|
268
274
|
title: "Dashboard not found",
|
|
269
|
-
description: /* @__PURE__ */
|
|
275
|
+
description: /* @__PURE__ */ _(ce, { children: ["The dashboard you're looking for doesn't exist or has been deleted.", /* @__PURE__ */ _("span", {
|
|
270
276
|
className: "mt-2 block font-mono text-xs text-text-tertiary break-all",
|
|
271
|
-
children: ["ID: ",
|
|
277
|
+
children: ["ID: ", c]
|
|
272
278
|
})] }),
|
|
273
|
-
action: /* @__PURE__ */
|
|
279
|
+
action: /* @__PURE__ */ g("button", {
|
|
274
280
|
type: "button",
|
|
275
|
-
onClick: () =>
|
|
281
|
+
onClick: () => v("/dashboards"),
|
|
276
282
|
className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md",
|
|
277
283
|
children: "Back to Dashboards"
|
|
278
284
|
})
|
|
279
285
|
})
|
|
280
|
-
}) :
|
|
286
|
+
}) : ge || !j ? /* @__PURE__ */ g("div", {
|
|
281
287
|
className: "flex items-center justify-center h-full",
|
|
282
|
-
children: /* @__PURE__ */
|
|
288
|
+
children: /* @__PURE__ */ _("div", {
|
|
283
289
|
className: "flex flex-col items-center gap-4",
|
|
284
|
-
children: [/* @__PURE__ */
|
|
290
|
+
children: [/* @__PURE__ */ g("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" }), /* @__PURE__ */ g("p", {
|
|
285
291
|
className: "text-sm text-text-secondary",
|
|
286
292
|
children: "Loading dashboard..."
|
|
287
293
|
})]
|
|
288
294
|
})
|
|
289
|
-
}) : /* @__PURE__ */
|
|
295
|
+
}) : /* @__PURE__ */ _("div", {
|
|
290
296
|
className: "h-full flex flex-col overflow-hidden",
|
|
291
297
|
children: [
|
|
292
|
-
/* @__PURE__ */
|
|
298
|
+
/* @__PURE__ */ _("div", {
|
|
293
299
|
className: "flex items-center gap-3 px-3 py-2 border-b border-border-default bg-bg-surface flex-shrink-0",
|
|
294
300
|
children: [
|
|
295
|
-
/* @__PURE__ */
|
|
296
|
-
onClick:
|
|
301
|
+
/* @__PURE__ */ _(se, {
|
|
302
|
+
onClick: ve,
|
|
297
303
|
variant: "ghost",
|
|
298
304
|
size: "sm",
|
|
299
305
|
title: "Back to Dashboards",
|
|
300
306
|
"aria-label": "Back to Dashboards",
|
|
301
|
-
children: [/* @__PURE__ */
|
|
307
|
+
children: [/* @__PURE__ */ g(oe, { className: "w-4 h-4 mr-2" }), "Back"]
|
|
302
308
|
}),
|
|
303
|
-
/* @__PURE__ */
|
|
309
|
+
/* @__PURE__ */ g("h2", {
|
|
304
310
|
className: "text-sm font-semibold text-text-primary truncate",
|
|
305
|
-
children:
|
|
311
|
+
children: j.name
|
|
306
312
|
}),
|
|
307
|
-
/* @__PURE__ */
|
|
313
|
+
/* @__PURE__ */ g("div", {
|
|
308
314
|
className: "ml-auto flex-shrink-0",
|
|
309
|
-
children: /* @__PURE__ */
|
|
310
|
-
isLive:
|
|
311
|
-
onToggle: () =>
|
|
315
|
+
children: /* @__PURE__ */ g(te, {
|
|
316
|
+
isLive: D,
|
|
317
|
+
onToggle: () => he((e) => !e)
|
|
312
318
|
})
|
|
313
319
|
})
|
|
314
320
|
]
|
|
315
321
|
}),
|
|
316
|
-
|
|
317
|
-
currentDashboardId:
|
|
318
|
-
currentDashboardName:
|
|
322
|
+
O && /* @__PURE__ */ g(re, {
|
|
323
|
+
currentDashboardId: j.id,
|
|
324
|
+
currentDashboardName: j.name,
|
|
319
325
|
basePath: "/bigconsole/dashboards"
|
|
320
326
|
}),
|
|
321
|
-
/* @__PURE__ */
|
|
327
|
+
/* @__PURE__ */ g("div", {
|
|
322
328
|
className: "flex-1 min-w-0 overflow-hidden",
|
|
323
|
-
children: /* @__PURE__ */
|
|
324
|
-
dashboardId:
|
|
325
|
-
pageId:
|
|
326
|
-
title:
|
|
327
|
-
onPaste:
|
|
328
|
-
onSave:
|
|
329
|
-
isSaving:
|
|
330
|
-
onExport:
|
|
331
|
-
onPublishTemplate:
|
|
332
|
-
pages: (
|
|
329
|
+
children: /* @__PURE__ */ g(s, {
|
|
330
|
+
dashboardId: j.id,
|
|
331
|
+
pageId: S || j.pages?.[0]?.id,
|
|
332
|
+
title: j.name,
|
|
333
|
+
onPaste: be,
|
|
334
|
+
onSave: de ? _e : void 0,
|
|
335
|
+
isSaving: fe,
|
|
336
|
+
onExport: b ? xe : void 0,
|
|
337
|
+
onPublishTemplate: x ? Ce : void 0,
|
|
338
|
+
pages: (j.pages || []).map((e, t) => ({
|
|
333
339
|
id: e.id,
|
|
334
340
|
name: e.name || `Page ${t + 1}`,
|
|
335
341
|
order: e.order ?? 0
|
|
336
342
|
})),
|
|
337
|
-
activePageId:
|
|
338
|
-
onPageChange:
|
|
339
|
-
onPageAdd:
|
|
340
|
-
onPageRename:
|
|
341
|
-
onPageDuplicate:
|
|
342
|
-
onPageDelete:
|
|
343
|
-
onPagesReorder:
|
|
343
|
+
activePageId: S || j.pages?.[0]?.id,
|
|
344
|
+
onPageChange: ye,
|
|
345
|
+
onPageAdd: Ee,
|
|
346
|
+
onPageRename: De,
|
|
347
|
+
onPageDuplicate: Oe,
|
|
348
|
+
onPageDelete: ke,
|
|
349
|
+
onPagesReorder: Ae,
|
|
344
350
|
showPageTabs: !0
|
|
345
351
|
})
|
|
346
352
|
}),
|
|
347
|
-
/* @__PURE__ */
|
|
348
|
-
isOpen:
|
|
349
|
-
dashboardId:
|
|
350
|
-
dashboardName:
|
|
351
|
-
onClose:
|
|
353
|
+
/* @__PURE__ */ g(ne, {
|
|
354
|
+
isOpen: me,
|
|
355
|
+
dashboardId: j.id,
|
|
356
|
+
dashboardName: j.name,
|
|
357
|
+
onClose: Te
|
|
352
358
|
}),
|
|
353
|
-
/* @__PURE__ */
|
|
354
|
-
isOpen:
|
|
355
|
-
dashboardId:
|
|
356
|
-
dashboardName:
|
|
357
|
-
dashboardDescription:
|
|
358
|
-
onClose:
|
|
359
|
+
/* @__PURE__ */ g(ie, {
|
|
360
|
+
isOpen: Se,
|
|
361
|
+
dashboardId: j.id,
|
|
362
|
+
dashboardName: j.name,
|
|
363
|
+
dashboardDescription: j.description,
|
|
364
|
+
onClose: we
|
|
359
365
|
})
|
|
360
366
|
]
|
|
367
|
+
}) : /* @__PURE__ */ g(p, {
|
|
368
|
+
title: "Access Denied",
|
|
369
|
+
description: "You don't have permission to view this dashboard."
|
|
361
370
|
});
|
|
362
371
|
});
|
|
363
372
|
//#endregion
|
|
364
|
-
export {
|
|
373
|
+
export { v as DashboardViewPage, v as default };
|
|
365
374
|
|
|
366
375
|
//# sourceMappingURL=DashboardViewPage.js.map
|