@burdenoff/microfe-bigconsole 2026.1012.4 → 2026.1012.5
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/BigConsoleRoutes.js +149 -140
- package/dist/bigconsole/assistant/assistantProduct.js +4 -1
- package/dist/bigconsole/assistant/displayCopy.d.ts +32 -0
- package/dist/bigconsole/assistant/pageContext.d.ts +14 -0
- package/dist/bigconsole/assistant/pageContext.js +6 -1
- package/dist/bigconsole/assistant/pageControls.d.ts +81 -0
- package/dist/bigconsole/assistant/pageControls.js +169 -0
- package/dist/bigconsole/assistant/previewControl.d.ts +16 -0
- package/dist/bigconsole/assistant/previewControl.js +10 -0
- package/dist/bigconsole/assistant/recordAdapters.js +27 -26
- package/dist/bigconsole/assistant/usePreviewControl.d.ts +2 -0
- package/dist/bigconsole/assistant/usePreviewControl.js +20 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +9 -9
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
- package/dist/bigconsole/components/common/SortBySelect.d.ts +11 -0
- package/dist/bigconsole/components/common/SortBySelect.js +29 -0
- package/dist/bigconsole/components/common/index.d.ts +1 -0
- package/dist/bigconsole/components/common/index.js +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +153 -153
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +134 -134
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
- package/dist/bigconsole/components/datasink/DataSinkCard.js +51 -50
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
- package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
- package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
- package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +77 -76
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +96 -95
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +507 -499
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.js +14 -14
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.js +68 -67
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.d.ts +7 -0
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.js +12 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
- package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
- package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
- package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
- package/dist/bigconsole/constants/backendErrors.js +94 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +14 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +32 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +23 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +138 -113
- package/dist/bigconsole/hooks/useDrilldown.js +3 -3
- package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
- package/dist/bigconsole/pages/AdminPage.js +130 -130
- package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
- package/dist/bigconsole/pages/DashboardViewPage.js +244 -221
- package/dist/bigconsole/pages/DashboardsPage.js +269 -221
- package/dist/bigconsole/pages/DataParsersPage.js +180 -157
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +62 -55
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -234
- package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +335 -299
- package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
- package/dist/bigconsole/pages/InsightsPage.js +279 -265
- package/dist/bigconsole/pages/OverviewPage.js +47 -47
- package/dist/bigconsole/pages/ParserBuilderPage.js +229 -213
- package/dist/bigconsole/pages/ParserViewPage.js +97 -97
- package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
- package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
- package/dist/bigconsole/pages/PipelinesPage.js +107 -88
- package/dist/bigconsole/pages/SettingsPage.js +179 -173
- package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
- package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +69 -69
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
- package/dist/bigconsole/store/widgetStore.d.ts +12 -0
- package/dist/bigconsole/store/widgetStore.js +3 -1
- package/dist/bigconsole/utils/backendError.d.ts +18 -0
- package/dist/bigconsole/utils/backendError.js +42 -0
- package/dist/bigconsole/utils/dashboardList.d.ts +28 -0
- package/dist/bigconsole/utils/dashboardList.js +15 -0
- package/dist/bigconsole/utils/dataSinkList.d.ts +15 -0
- package/dist/bigconsole/utils/dataSinkList.js +15 -0
- package/dist/bigconsole/utils/formDirty.d.ts +82 -0
- package/dist/bigconsole/utils/formDirty.js +21 -0
- package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
- package/dist/bigconsole/utils/insightsDraft.js +8 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts +130 -0
- package/dist/bigconsole/utils/layoutBaseline.js +96 -0
- package/dist/bigconsole/utils/listSort.d.ts +80 -0
- package/dist/bigconsole/utils/listSort.js +85 -0
- package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
- package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
- package/dist/bigconsole/workflowOpen.js +15 -14
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e from "../../../hooks/useEventWebhooks.js";
|
|
2
2
|
import { memo as t, useCallback as n, useState as r } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
4
|
+
import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
5
|
//#region src/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.tsx
|
|
6
6
|
var c = {
|
|
7
7
|
container: {
|
|
@@ -229,43 +229,43 @@ var c = {
|
|
|
229
229
|
color: "var(--color-text-placeholder)",
|
|
230
230
|
marginTop: "4px"
|
|
231
231
|
}
|
|
232
|
-
}, l = t(function({ webhook: e, dashboardId: t, widgetId: n, onSave:
|
|
233
|
-
let { t: d } =
|
|
234
|
-
return /* @__PURE__ */
|
|
232
|
+
}, l = t(function({ webhook: e, dashboardId: t, widgetId: n, onSave: a, onCancel: l, loading: u }) {
|
|
233
|
+
let { t: d } = i(), [f, p] = r(e?.eventPattern || "widget:*:clicked"), [m, h] = r(e?.webhookUrl || ""), [g, _] = r(e?.method || "POST"), [v, y] = r(e?.headers ? JSON.stringify(e.headers, null, 2) : "");
|
|
234
|
+
return /* @__PURE__ */ s("form", {
|
|
235
235
|
style: c.form,
|
|
236
236
|
onSubmit: async (r) => {
|
|
237
237
|
r.preventDefault();
|
|
238
|
-
let
|
|
238
|
+
let i;
|
|
239
239
|
if (v.trim()) try {
|
|
240
|
-
|
|
240
|
+
i = JSON.parse(v);
|
|
241
241
|
} catch {
|
|
242
242
|
alert(d("bigconsole.widget.webhookConfig.invalidJson", "Invalid JSON in headers field"));
|
|
243
243
|
return;
|
|
244
244
|
}
|
|
245
|
-
e ? await
|
|
245
|
+
e ? await a({
|
|
246
246
|
id: e.id,
|
|
247
247
|
eventPattern: f,
|
|
248
248
|
webhookUrl: m,
|
|
249
249
|
method: g,
|
|
250
|
-
headers:
|
|
251
|
-
}) : await
|
|
250
|
+
headers: i || null
|
|
251
|
+
}) : await a({
|
|
252
252
|
dashboardId: t,
|
|
253
253
|
widgetId: n,
|
|
254
254
|
eventPattern: f,
|
|
255
255
|
webhookUrl: m,
|
|
256
256
|
method: g,
|
|
257
|
-
headers:
|
|
257
|
+
headers: i
|
|
258
258
|
});
|
|
259
259
|
},
|
|
260
260
|
children: [
|
|
261
|
-
/* @__PURE__ */
|
|
261
|
+
/* @__PURE__ */ s("div", {
|
|
262
262
|
style: c.formGroup,
|
|
263
263
|
children: [
|
|
264
|
-
/* @__PURE__ */
|
|
264
|
+
/* @__PURE__ */ o("label", {
|
|
265
265
|
style: c.label,
|
|
266
266
|
children: d("bigconsole.widget.webhookConfig.eventPatternLabel", "Event Pattern *")
|
|
267
267
|
}),
|
|
268
|
-
/* @__PURE__ */
|
|
268
|
+
/* @__PURE__ */ o("input", {
|
|
269
269
|
type: "text",
|
|
270
270
|
value: f,
|
|
271
271
|
onChange: (e) => p(e.target.value),
|
|
@@ -273,18 +273,18 @@ var c = {
|
|
|
273
273
|
style: c.input,
|
|
274
274
|
required: !0
|
|
275
275
|
}),
|
|
276
|
-
/* @__PURE__ */
|
|
276
|
+
/* @__PURE__ */ o("p", {
|
|
277
277
|
style: c.helpText,
|
|
278
278
|
children: d("bigconsole.widget.webhookConfig.eventPatternHelp", "Use * as wildcard. Examples: widget:*:clicked, *:submit, button:save:*")
|
|
279
279
|
})
|
|
280
280
|
]
|
|
281
281
|
}),
|
|
282
|
-
/* @__PURE__ */
|
|
282
|
+
/* @__PURE__ */ s("div", {
|
|
283
283
|
style: c.formGroup,
|
|
284
|
-
children: [/* @__PURE__ */
|
|
284
|
+
children: [/* @__PURE__ */ o("label", {
|
|
285
285
|
style: c.label,
|
|
286
286
|
children: d("bigconsole.widget.webhookConfig.webhookUrlLabel", "Webhook URL *")
|
|
287
|
-
}), /* @__PURE__ */
|
|
287
|
+
}), /* @__PURE__ */ o("input", {
|
|
288
288
|
type: "url",
|
|
289
289
|
value: m,
|
|
290
290
|
onChange: (e) => h(e.target.value),
|
|
@@ -293,59 +293,59 @@ var c = {
|
|
|
293
293
|
required: !0
|
|
294
294
|
})]
|
|
295
295
|
}),
|
|
296
|
-
/* @__PURE__ */
|
|
296
|
+
/* @__PURE__ */ s("div", {
|
|
297
297
|
style: c.formGroup,
|
|
298
|
-
children: [/* @__PURE__ */
|
|
298
|
+
children: [/* @__PURE__ */ o("label", {
|
|
299
299
|
style: c.label,
|
|
300
300
|
children: d("bigconsole.widget.webhookConfig.httpMethodLabel", "HTTP Method")
|
|
301
|
-
}), /* @__PURE__ */
|
|
301
|
+
}), /* @__PURE__ */ s("select", {
|
|
302
302
|
value: g,
|
|
303
303
|
onChange: (e) => _(e.target.value),
|
|
304
304
|
style: c.select,
|
|
305
305
|
children: [
|
|
306
|
-
/* @__PURE__ */
|
|
306
|
+
/* @__PURE__ */ o("option", {
|
|
307
307
|
value: "POST",
|
|
308
308
|
children: "POST"
|
|
309
309
|
}),
|
|
310
|
-
/* @__PURE__ */
|
|
310
|
+
/* @__PURE__ */ o("option", {
|
|
311
311
|
value: "PUT",
|
|
312
312
|
children: "PUT"
|
|
313
313
|
}),
|
|
314
|
-
/* @__PURE__ */
|
|
314
|
+
/* @__PURE__ */ o("option", {
|
|
315
315
|
value: "PATCH",
|
|
316
316
|
children: "PATCH"
|
|
317
317
|
}),
|
|
318
|
-
/* @__PURE__ */
|
|
318
|
+
/* @__PURE__ */ o("option", {
|
|
319
319
|
value: "GET",
|
|
320
320
|
children: "GET"
|
|
321
321
|
}),
|
|
322
|
-
/* @__PURE__ */
|
|
322
|
+
/* @__PURE__ */ o("option", {
|
|
323
323
|
value: "DELETE",
|
|
324
324
|
children: "DELETE"
|
|
325
325
|
})
|
|
326
326
|
]
|
|
327
327
|
})]
|
|
328
328
|
}),
|
|
329
|
-
/* @__PURE__ */
|
|
329
|
+
/* @__PURE__ */ s("div", {
|
|
330
330
|
style: c.formGroup,
|
|
331
|
-
children: [/* @__PURE__ */
|
|
331
|
+
children: [/* @__PURE__ */ o("label", {
|
|
332
332
|
style: c.label,
|
|
333
333
|
children: d("bigconsole.widget.webhookConfig.customHeadersLabel", "Custom Headers (JSON)")
|
|
334
|
-
}), /* @__PURE__ */
|
|
334
|
+
}), /* @__PURE__ */ o("textarea", {
|
|
335
335
|
value: v,
|
|
336
336
|
onChange: (e) => y(e.target.value),
|
|
337
337
|
placeholder: "{\n \"Authorization\": \"Bearer your-token\"\n}",
|
|
338
338
|
style: c.textarea
|
|
339
339
|
})]
|
|
340
340
|
}),
|
|
341
|
-
/* @__PURE__ */
|
|
341
|
+
/* @__PURE__ */ s("div", {
|
|
342
342
|
style: c.formActions,
|
|
343
|
-
children: [/* @__PURE__ */
|
|
343
|
+
children: [/* @__PURE__ */ o("button", {
|
|
344
344
|
type: "button",
|
|
345
345
|
onClick: l,
|
|
346
346
|
style: c.cancelButton,
|
|
347
347
|
children: d("bigconsole.widget.webhookConfig.cancel", "Cancel")
|
|
348
|
-
}), /* @__PURE__ */
|
|
348
|
+
}), /* @__PURE__ */ o("button", {
|
|
349
349
|
type: "submit",
|
|
350
350
|
disabled: u,
|
|
351
351
|
style: c.saveButton,
|
|
@@ -355,18 +355,18 @@ var c = {
|
|
|
355
355
|
]
|
|
356
356
|
});
|
|
357
357
|
}), u = t(function({ webhook: e, onEdit: t, onDelete: n, onToggle: r, onTest: l, testResult: u, testing: d }) {
|
|
358
|
-
let { t: f } =
|
|
359
|
-
return /* @__PURE__ */
|
|
358
|
+
let { t: f } = i();
|
|
359
|
+
return /* @__PURE__ */ s("div", {
|
|
360
360
|
style: c.webhookCard,
|
|
361
361
|
children: [
|
|
362
|
-
/* @__PURE__ */
|
|
362
|
+
/* @__PURE__ */ o("div", {
|
|
363
363
|
style: c.webhookHeader,
|
|
364
|
-
children: /* @__PURE__ */
|
|
364
|
+
children: /* @__PURE__ */ s("div", {
|
|
365
365
|
style: c.webhookTitle,
|
|
366
|
-
children: [/* @__PURE__ */
|
|
366
|
+
children: [/* @__PURE__ */ o("span", {
|
|
367
367
|
style: c.webhookName,
|
|
368
368
|
children: e.eventPattern
|
|
369
|
-
}), /* @__PURE__ */
|
|
369
|
+
}), /* @__PURE__ */ o("span", {
|
|
370
370
|
style: {
|
|
371
371
|
...c.statusBadge,
|
|
372
372
|
...e.isActive ? c.activeBadge : c.inactiveBadge
|
|
@@ -375,33 +375,33 @@ var c = {
|
|
|
375
375
|
})]
|
|
376
376
|
})
|
|
377
377
|
}),
|
|
378
|
-
/* @__PURE__ */
|
|
378
|
+
/* @__PURE__ */ s("div", {
|
|
379
379
|
style: c.webhookDetails,
|
|
380
380
|
children: [
|
|
381
381
|
f("bigconsole.widget.webhookConfig.methodLabel", "Method:"),
|
|
382
382
|
" ",
|
|
383
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ o("strong", { children: e.method })
|
|
384
384
|
]
|
|
385
385
|
}),
|
|
386
|
-
/* @__PURE__ */
|
|
386
|
+
/* @__PURE__ */ o("div", {
|
|
387
387
|
style: c.webhookUrl,
|
|
388
388
|
children: e.webhookUrl
|
|
389
389
|
}),
|
|
390
|
-
u && /* @__PURE__ */
|
|
390
|
+
u && /* @__PURE__ */ o("div", {
|
|
391
391
|
role: "status",
|
|
392
392
|
style: {
|
|
393
393
|
...c.testResult,
|
|
394
394
|
...u.success ? c.testSuccess : c.testFailure
|
|
395
395
|
},
|
|
396
|
-
children: u.success ? /* @__PURE__ */ a
|
|
396
|
+
children: u.success ? /* @__PURE__ */ o(a, { children: f("bigconsole.widget.webhookConfig.testSuccess", "Test successful! Status: {{statusCode}}, Latency: {{latencyMs}}ms", {
|
|
397
397
|
statusCode: u.statusCode ?? "",
|
|
398
398
|
latencyMs: u.latencyMs ?? ""
|
|
399
|
-
}) }) : /* @__PURE__ */ a
|
|
399
|
+
}) }) : /* @__PURE__ */ o(a, { children: f("bigconsole.widget.webhookConfig.testFailure", "Test failed: {{error}}", { error: u.errorMessage || f("bigconsole.widget.webhookConfig.unknownError", "Unknown error") }) })
|
|
400
400
|
}),
|
|
401
|
-
/* @__PURE__ */
|
|
401
|
+
/* @__PURE__ */ s("div", {
|
|
402
402
|
style: c.webhookActions,
|
|
403
403
|
children: [
|
|
404
|
-
/* @__PURE__ */
|
|
404
|
+
/* @__PURE__ */ o("button", {
|
|
405
405
|
onClick: t,
|
|
406
406
|
style: {
|
|
407
407
|
...c.actionButton,
|
|
@@ -409,7 +409,7 @@ var c = {
|
|
|
409
409
|
},
|
|
410
410
|
children: f("bigconsole.widget.webhookConfig.edit", "Edit")
|
|
411
411
|
}),
|
|
412
|
-
/* @__PURE__ */
|
|
412
|
+
/* @__PURE__ */ o("button", {
|
|
413
413
|
onClick: l,
|
|
414
414
|
disabled: d,
|
|
415
415
|
style: {
|
|
@@ -418,7 +418,7 @@ var c = {
|
|
|
418
418
|
},
|
|
419
419
|
children: d ? f("bigconsole.widget.webhookConfig.testing", "Testing...") : f("bigconsole.widget.webhookConfig.test", "Test")
|
|
420
420
|
}),
|
|
421
|
-
/* @__PURE__ */
|
|
421
|
+
/* @__PURE__ */ o("button", {
|
|
422
422
|
onClick: r,
|
|
423
423
|
style: {
|
|
424
424
|
...c.actionButton,
|
|
@@ -426,7 +426,7 @@ var c = {
|
|
|
426
426
|
},
|
|
427
427
|
children: e.isActive ? f("bigconsole.widget.webhookConfig.disable", "Disable") : f("bigconsole.widget.webhookConfig.enable", "Enable")
|
|
428
428
|
}),
|
|
429
|
-
/* @__PURE__ */
|
|
429
|
+
/* @__PURE__ */ o("button", {
|
|
430
430
|
onClick: n,
|
|
431
431
|
style: {
|
|
432
432
|
...c.actionButton,
|
|
@@ -438,10 +438,10 @@ var c = {
|
|
|
438
438
|
})
|
|
439
439
|
]
|
|
440
440
|
});
|
|
441
|
-
}), d = t(function({ dashboardId: t, widgetId:
|
|
442
|
-
let { t: p } =
|
|
441
|
+
}), d = t(function({ dashboardId: t, widgetId: a, onWebhookCreated: d, onWebhookDeleted: f }) {
|
|
442
|
+
let { t: p } = i(), [m, h] = r(!1), [g, _] = r(null), [v, y] = r({}), [b, x] = r(null), { webhooks: S, loading: C, createWebhook: w, updateWebhook: T, deleteWebhook: E, toggleWebhook: D, testWebhook: O } = e({
|
|
443
443
|
dashboardId: t,
|
|
444
|
-
widgetId:
|
|
444
|
+
widgetId: a
|
|
445
445
|
}), k = n(async (e) => {
|
|
446
446
|
if ("id" in e) await T(e) && (_(null), h(!1));
|
|
447
447
|
else {
|
|
@@ -472,50 +472,50 @@ var c = {
|
|
|
472
472
|
}, []), P = n(() => {
|
|
473
473
|
h(!1), _(null);
|
|
474
474
|
}, []);
|
|
475
|
-
return /* @__PURE__ */
|
|
475
|
+
return /* @__PURE__ */ s("div", {
|
|
476
476
|
style: c.container,
|
|
477
477
|
"data-testid": "webhook-config-panel",
|
|
478
478
|
children: [
|
|
479
|
-
!m && /* @__PURE__ */
|
|
479
|
+
!m && /* @__PURE__ */ o("div", {
|
|
480
480
|
style: c.header,
|
|
481
|
-
children: /* @__PURE__ */
|
|
481
|
+
children: /* @__PURE__ */ o("button", {
|
|
482
482
|
type: "button",
|
|
483
483
|
onClick: () => h(!0),
|
|
484
484
|
style: c.addButton,
|
|
485
485
|
children: p("bigconsole.widget.webhookConfig.addWebhook", "+ Add Webhook")
|
|
486
486
|
})
|
|
487
487
|
}),
|
|
488
|
-
m && /* @__PURE__ */
|
|
488
|
+
m && /* @__PURE__ */ o(l, {
|
|
489
489
|
webhook: g || void 0,
|
|
490
490
|
dashboardId: t,
|
|
491
|
-
widgetId:
|
|
491
|
+
widgetId: a,
|
|
492
492
|
onSave: k,
|
|
493
493
|
onCancel: P,
|
|
494
494
|
loading: C
|
|
495
495
|
}),
|
|
496
|
-
C && S.length === 0 ? /* @__PURE__ */
|
|
496
|
+
C && S.length === 0 ? /* @__PURE__ */ o("div", {
|
|
497
497
|
style: c.emptyState,
|
|
498
498
|
role: "status",
|
|
499
|
-
children: /* @__PURE__ */
|
|
499
|
+
children: /* @__PURE__ */ o("p", {
|
|
500
500
|
style: c.emptyTitle,
|
|
501
501
|
children: p("bigconsole.widget.webhookConfig.loading", "Loading...")
|
|
502
502
|
})
|
|
503
|
-
}) : S.length === 0 ? /* @__PURE__ */
|
|
503
|
+
}) : S.length === 0 ? /* @__PURE__ */ s("div", {
|
|
504
504
|
style: c.emptyState,
|
|
505
505
|
role: "status",
|
|
506
|
-
children: [/* @__PURE__ */
|
|
506
|
+
children: [/* @__PURE__ */ o("p", {
|
|
507
507
|
style: c.emptyTitle,
|
|
508
508
|
children: p("bigconsole.widget.webhookConfig.noWebhooks", "No webhooks configured")
|
|
509
|
-
}), /* @__PURE__ */
|
|
509
|
+
}), /* @__PURE__ */ o("p", {
|
|
510
510
|
style: {
|
|
511
511
|
fontSize: "var(--font-size-body-sm)",
|
|
512
512
|
marginTop: "8px"
|
|
513
513
|
},
|
|
514
514
|
children: p("bigconsole.widget.webhookConfig.noWebhooksHelp", "Add a webhook to receive events when actions are triggered.")
|
|
515
515
|
})]
|
|
516
|
-
}) : /* @__PURE__ */
|
|
516
|
+
}) : /* @__PURE__ */ o("div", {
|
|
517
517
|
style: c.webhookList,
|
|
518
|
-
children: S.map((e) => /* @__PURE__ */
|
|
518
|
+
children: S.map((e) => /* @__PURE__ */ o(u, {
|
|
519
519
|
webhook: e,
|
|
520
520
|
onEdit: () => N(e),
|
|
521
521
|
onDelete: () => A(e.id),
|
|
@@ -4,12 +4,12 @@ import { decideWorkflowOpenView as t, isCreateIntent as n, toLookupClient as r,
|
|
|
4
4
|
import { memo as a, useEffect as o, useState as s } from "react";
|
|
5
5
|
import { useLocation as c } from "react-router";
|
|
6
6
|
import { Spinner as l } from "@burdenoff/fe-libs/ui";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
7
|
+
import { useI18n as u } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
|
+
import { useApolloClient as d } from "@apollo/client/react";
|
|
9
|
+
import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
10
10
|
//#region src/bigconsole/components/workflow/WorkflowOpenGuard.tsx
|
|
11
11
|
var h = a(function({ workflowKey: a, children: h }) {
|
|
12
|
-
let { t: g } =
|
|
12
|
+
let { t: g } = u(), _ = e(), v = d(), y = n(c().state), [b, x] = s(null), [S, C] = s(null), [w, T] = s(null), [E, D] = s(0);
|
|
13
13
|
o(() => {
|
|
14
14
|
if (!a) return;
|
|
15
15
|
if (y) {
|
|
@@ -37,50 +37,50 @@ var h = a(function({ workflowKey: a, children: h }) {
|
|
|
37
37
|
absentKey: S,
|
|
38
38
|
failedKey: w
|
|
39
39
|
});
|
|
40
|
-
return O === "builder" ? /* @__PURE__ */ f
|
|
40
|
+
return O === "builder" ? /* @__PURE__ */ p(f, { children: h }) : O === "not-found" ? /* @__PURE__ */ m("div", {
|
|
41
41
|
className: "p-6 flex flex-col items-center justify-center min-h-[400px] text-center gap-4",
|
|
42
42
|
role: "alert",
|
|
43
43
|
children: [
|
|
44
|
-
/* @__PURE__ */
|
|
44
|
+
/* @__PURE__ */ p("p", {
|
|
45
45
|
className: "text-base font-medium text-text-primary",
|
|
46
46
|
children: g("bigconsole.workflows.builder.notFoundTitle", "Workflow not found")
|
|
47
47
|
}),
|
|
48
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ p("p", {
|
|
49
49
|
className: "text-sm text-text-secondary",
|
|
50
50
|
children: g("bigconsole.workflows.builder.notFoundDescription", "No workflow with this key exists in this workspace. Nothing was created.")
|
|
51
51
|
}),
|
|
52
|
-
/* @__PURE__ */
|
|
52
|
+
/* @__PURE__ */ p("button", {
|
|
53
53
|
type: "button",
|
|
54
54
|
onClick: () => _("/workflows"),
|
|
55
55
|
className: "px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors",
|
|
56
56
|
children: g("bigconsole.workflows.view.backToWorkflows", "Back to Workflows")
|
|
57
57
|
})
|
|
58
58
|
]
|
|
59
|
-
}) : O === "failed" ? /* @__PURE__ */
|
|
59
|
+
}) : O === "failed" ? /* @__PURE__ */ m("div", {
|
|
60
60
|
className: "p-6 flex flex-col items-center justify-center min-h-[400px] text-center gap-4",
|
|
61
61
|
role: "alert",
|
|
62
|
-
children: [/* @__PURE__ */
|
|
62
|
+
children: [/* @__PURE__ */ p("p", {
|
|
63
63
|
className: "text-sm text-text-secondary",
|
|
64
64
|
children: g("bigconsole.workflows.builder.loadFailed", "Couldn't load this workflow. Please try again.")
|
|
65
|
-
}), /* @__PURE__ */
|
|
65
|
+
}), /* @__PURE__ */ m("div", {
|
|
66
66
|
className: "flex items-center gap-2",
|
|
67
|
-
children: [/* @__PURE__ */
|
|
67
|
+
children: [/* @__PURE__ */ p("button", {
|
|
68
68
|
type: "button",
|
|
69
69
|
onClick: () => {
|
|
70
70
|
T(null), D((e) => e + 1);
|
|
71
71
|
},
|
|
72
72
|
className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors",
|
|
73
73
|
children: g("bigconsole.workflows.actions.tryAgain", "Try Again")
|
|
74
|
-
}), /* @__PURE__ */
|
|
74
|
+
}), /* @__PURE__ */ p("button", {
|
|
75
75
|
type: "button",
|
|
76
76
|
onClick: () => _("/workflows"),
|
|
77
77
|
className: "px-4 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors",
|
|
78
78
|
children: g("bigconsole.workflows.view.backToWorkflows", "Back to Workflows")
|
|
79
79
|
})]
|
|
80
80
|
})]
|
|
81
|
-
}) : /* @__PURE__ */
|
|
81
|
+
}) : /* @__PURE__ */ p("div", {
|
|
82
82
|
className: "flex items-center justify-center min-h-[400px]",
|
|
83
|
-
children: /* @__PURE__ */
|
|
83
|
+
children: /* @__PURE__ */ p(l, { className: "h-8 w-8" })
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
86
|
//#endregion
|
|
@@ -4,11 +4,11 @@ import "../common/index.js";
|
|
|
4
4
|
import n from "../../hooks/useDataSinkOperations.js";
|
|
5
5
|
import { useState as r } from "react";
|
|
6
6
|
import { Button as i } from "@burdenoff/fe-libs/ui";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { useI18n as a } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
9
9
|
//#region src/bigconsole/components/workflow/WorkflowSinkLinkForm.tsx
|
|
10
10
|
function c({ workflowId: c, linkedSinkIds: l, onLinked: u }) {
|
|
11
|
-
let { t: d } =
|
|
11
|
+
let { t: d } = a(), { dataSinks: f, loading: p, error: m } = n(), { linkDataSink: h } = e({ skipFetch: !0 }), [g, _] = r(""), [v, y] = r(0), [b, x] = r(""), [S, C] = r(!1), [w, T] = r(null), E = f.filter((e) => e.isActive && !l.includes(e.id)), D = async (e) => {
|
|
12
12
|
if (e.preventDefault(), !E.some((e) => e.key === g) || S) return;
|
|
13
13
|
let t;
|
|
14
14
|
if (b.trim()) try {
|
|
@@ -34,30 +34,30 @@ function c({ workflowId: c, linkedSinkIds: l, onLinked: u }) {
|
|
|
34
34
|
C(!1);
|
|
35
35
|
}
|
|
36
36
|
}, O = `w-full min-w-0 rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 text-sm text-text-primary ${t}`;
|
|
37
|
-
return /* @__PURE__ */
|
|
37
|
+
return /* @__PURE__ */ s("form", {
|
|
38
38
|
onSubmit: D,
|
|
39
39
|
className: "mb-form-gap flex min-w-0 flex-col gap-form-gap rounded-card border border-[var(--color-border-subtle)] bg-bg-sunken p-3",
|
|
40
40
|
children: [
|
|
41
|
-
/* @__PURE__ */
|
|
41
|
+
/* @__PURE__ */ s("label", {
|
|
42
42
|
className: "block text-sm font-medium text-text-primary",
|
|
43
|
-
children: [d("bigconsole.workflows.links.sinkLabel", "Data sink"), /* @__PURE__ */
|
|
43
|
+
children: [d("bigconsole.workflows.links.sinkLabel", "Data sink"), /* @__PURE__ */ s("select", {
|
|
44
44
|
value: g,
|
|
45
45
|
onChange: (e) => _(e.target.value),
|
|
46
46
|
disabled: p || S,
|
|
47
47
|
required: !0,
|
|
48
48
|
className: O,
|
|
49
|
-
children: [/* @__PURE__ */
|
|
49
|
+
children: [/* @__PURE__ */ o("option", {
|
|
50
50
|
value: "",
|
|
51
51
|
children: d("bigconsole.workflows.links.selectSink", "Select a data sink")
|
|
52
|
-
}), E.map((e) => /* @__PURE__ */
|
|
52
|
+
}), E.map((e) => /* @__PURE__ */ o("option", {
|
|
53
53
|
value: e.key,
|
|
54
54
|
children: e.name || e.key
|
|
55
55
|
}, e.id))]
|
|
56
56
|
})]
|
|
57
57
|
}),
|
|
58
|
-
/* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ s("label", {
|
|
59
59
|
className: "block text-sm font-medium text-text-primary",
|
|
60
|
-
children: [d("bigconsole.workflows.links.priorityLabel", "Priority"), /* @__PURE__ */
|
|
60
|
+
children: [d("bigconsole.workflows.links.priorityLabel", "Priority"), /* @__PURE__ */ o("input", {
|
|
61
61
|
type: "number",
|
|
62
62
|
min: 0,
|
|
63
63
|
step: 1,
|
|
@@ -67,9 +67,9 @@ function c({ workflowId: c, linkedSinkIds: l, onLinked: u }) {
|
|
|
67
67
|
className: O
|
|
68
68
|
})]
|
|
69
69
|
}),
|
|
70
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ s("label", {
|
|
71
71
|
className: "block text-sm font-medium text-text-primary",
|
|
72
|
-
children: [d("bigconsole.workflows.links.mappingLabel", "Data mapping (optional JSON)"), /* @__PURE__ */
|
|
72
|
+
children: [d("bigconsole.workflows.links.mappingLabel", "Data mapping (optional JSON)"), /* @__PURE__ */ o("textarea", {
|
|
73
73
|
value: b,
|
|
74
74
|
onChange: (e) => x(e.target.value),
|
|
75
75
|
disabled: S,
|
|
@@ -77,16 +77,16 @@ function c({ workflowId: c, linkedSinkIds: l, onLinked: u }) {
|
|
|
77
77
|
className: `${O} resize-y font-mono`
|
|
78
78
|
})]
|
|
79
79
|
}),
|
|
80
|
-
!p && !m && E.length === 0 && /* @__PURE__ */
|
|
80
|
+
!p && !m && E.length === 0 && /* @__PURE__ */ o("p", {
|
|
81
81
|
className: "text-sm text-text-secondary",
|
|
82
82
|
children: d("bigconsole.workflows.links.noAvailable", "No unlinked active data sinks are available in this workspace.")
|
|
83
83
|
}),
|
|
84
|
-
(m || w) && /* @__PURE__ */
|
|
84
|
+
(m || w) && /* @__PURE__ */ o("p", {
|
|
85
85
|
role: "alert",
|
|
86
86
|
className: "text-sm text-status-error-text",
|
|
87
87
|
children: w || d("bigconsole.workflows.links.loadError", "Data sinks could not be loaded. Close and reopen the form to retry.")
|
|
88
88
|
}),
|
|
89
|
-
/* @__PURE__ */
|
|
89
|
+
/* @__PURE__ */ o(i, {
|
|
90
90
|
type: "submit",
|
|
91
91
|
disabled: !g || S || p,
|
|
92
92
|
className: "w-full sm:w-auto",
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
//#region src/bigconsole/constants/backendErrors.ts
|
|
2
|
+
var e = {
|
|
3
|
+
DASHBOARD_NOT_FOUND: "That dashboard could not be found.",
|
|
4
|
+
DASHBOARD_NOT_FOUND_AFTER_CREATE: "The dashboard was created but could not be loaded. Refresh and try again.",
|
|
5
|
+
DASHBOARD_ARCHIVED_CANNOT_PUBLISH: "An archived dashboard cannot be published. Restore it first.",
|
|
6
|
+
DASHBOARD_INVALID_STATUS_TRANSITION: "That status change is not allowed for this dashboard.",
|
|
7
|
+
SOURCE_DASHBOARD_NOT_FOUND: "The source dashboard could not be found.",
|
|
8
|
+
DASHBOARD_IMPORT_INVALID_JSON: "The import file is not valid JSON.",
|
|
9
|
+
DASHBOARD_IMPORT_MISSING_DATA: "The import file is missing its dashboard data.",
|
|
10
|
+
DASHBOARD_LOCALE_REQUIRED: "A locale is required.",
|
|
11
|
+
DASHBOARD_NAME_REQUIRED: "A name is required.",
|
|
12
|
+
DASHBOARD_THRESHOLD_REQUIRED: "A threshold is required for the threshold method.",
|
|
13
|
+
DASHBOARD_VERSION_NOT_FOUND: "That dashboard version could not be found.",
|
|
14
|
+
DASHBOARD_COMMENT_BODY_REQUIRED: "A comment cannot be empty.",
|
|
15
|
+
DASHBOARD_PARENT_COMMENT_NOT_FOUND: "The comment you are replying to could not be found.",
|
|
16
|
+
DASHBOARD_COMMENT_NOT_FOUND: "That comment could not be found.",
|
|
17
|
+
RLS_POLICY_NOT_FOUND: "That row-level-security policy could not be found.",
|
|
18
|
+
RLS_POLICY_NOT_FOUND_IN_WORKSPACE: "That row-level-security policy is not in this workspace.",
|
|
19
|
+
TEMPLATE_NOT_FOUND: "That template could not be found.",
|
|
20
|
+
TEMPLATE_NOT_ACTIVE: "That template is not active.",
|
|
21
|
+
TEMPLATE_RATING_OUT_OF_RANGE: "Rating must be between 1 and 5.",
|
|
22
|
+
PAGE_NOT_FOUND: "That page could not be found.",
|
|
23
|
+
PAGE_NOT_FOUND_IN_DASHBOARD: "That page is not part of this dashboard.",
|
|
24
|
+
FILTER_PRESET_NOT_FOUND: "That filter preset could not be found.",
|
|
25
|
+
FILTER_PRESET_UPDATE_FORBIDDEN: "You don't have permission to update this preset.",
|
|
26
|
+
FILTER_PRESET_DELETE_FORBIDDEN: "You don't have permission to delete this preset.",
|
|
27
|
+
PARENT_FILTER_NOT_FOUND: "The parent filter could not be found.",
|
|
28
|
+
PARENT_FILTER_DASHBOARD_MISMATCH: "The parent filter must belong to the same dashboard.",
|
|
29
|
+
FILTER_CASCADE_DEPTH_EXCEEDED: "The filter cascade is too deep (maximum 5 levels).",
|
|
30
|
+
FILTER_NOT_FOUND: "That filter could not be found.",
|
|
31
|
+
FILTER_CIRCULAR_DEPENDENCY: "That change would create a circular filter dependency.",
|
|
32
|
+
FILTER_NOT_FOUND_IN_DASHBOARD: "That filter is not part of this dashboard.",
|
|
33
|
+
SHARE_NOT_FOUND: "That share could not be found.",
|
|
34
|
+
VIEW_NOT_FOUND: "That view could not be found.",
|
|
35
|
+
GENERATION_EMPTY_COMPLETION: "The AI returned an empty result. Try again.",
|
|
36
|
+
GENERATION_NOT_AUTHORIZED: "You don't have permission to use this generation.",
|
|
37
|
+
PROMPT_TOO_LONG: "Your prompt is too long (maximum 5000 characters).",
|
|
38
|
+
TOO_MANY_WIDGETS: "Cannot generate more than 50 widgets.",
|
|
39
|
+
GRID_COLUMNS_OUT_OF_RANGE: "Grid columns must be between 1 and 24.",
|
|
40
|
+
AUTO_CREATE_DISABLED: "Auto-create is disabled. Create the dashboard after generation completes.",
|
|
41
|
+
GENERATION_NOT_FOUND: "That generation could not be found.",
|
|
42
|
+
GENERATION_NO_SPEC: "That generation does not have a spec yet.",
|
|
43
|
+
GENERATION_NOT_FOUND_OR_NO_SPEC: "That generation could not be found or has no spec yet.",
|
|
44
|
+
WIDGET_INDEX_OUT_OF_BOUNDS: "That widget index is out of bounds.",
|
|
45
|
+
WIDGET_NOT_FOUND: "That widget could not be found.",
|
|
46
|
+
WIDGETS_NOT_FOUND: "One or more widgets could not be found.",
|
|
47
|
+
TARGET_PAGE_NOT_FOUND: "The target page could not be found.",
|
|
48
|
+
DRILLDOWN_ALREADY_EXISTS: "A drilldown already exists for this widget.",
|
|
49
|
+
DATA_SOURCE_HTTP_ERROR: "The data source returned an error.",
|
|
50
|
+
DATA_SOURCE_GRAPHQL_ERROR: "The GraphQL data source returned an error.",
|
|
51
|
+
WIDGET_ACTION_NOT_FOUND: "That action could not be found.",
|
|
52
|
+
WIDGET_ACTION_NOT_FOUND_IN_WIDGET: "That action is not part of this widget.",
|
|
53
|
+
EVENT_WEBHOOK_MAPPING_NOT_FOUND: "That webhook mapping could not be found.",
|
|
54
|
+
EVENT_LOG_NOT_FOUND: "That event could not be found.",
|
|
55
|
+
EVENT_NOT_IN_FAILED_STATUS: "Only failed events can be retried.",
|
|
56
|
+
EVENT_LOG_MISSING_WIDGET_ID: "This event has no widget and cannot be retried.",
|
|
57
|
+
NO_ACTIVE_WEBHOOK_MAPPINGS: "No active webhook mappings were found for this event.",
|
|
58
|
+
WIDGET_NOT_ASSOCIATED_WITH_DASHBOARD: "That widget is not associated with a dashboard.",
|
|
59
|
+
WIDGET_TYPE_NOT_REGISTERED: "That widget type is not registered. Register it before installing.",
|
|
60
|
+
INVALID_PUBLISH_TYPE: "That publish type is not valid.",
|
|
61
|
+
INVALID_REGISTRABLE_PUBLISH_TYPE: "That publish type cannot be registered.",
|
|
62
|
+
INVALID_WIDGET_RENDERER: "That widget renderer is not valid.",
|
|
63
|
+
INVALID_WIDGET_CONFIG_STATUS: "That widget status is not valid.",
|
|
64
|
+
WORKFLOW_WORKSPACE_ID_REQUIRED: "A workspace is required.",
|
|
65
|
+
WORKFLOW_WORKSPACE_AND_ACTOR_ID_REQUIRED: "A workspace and an actor are required.",
|
|
66
|
+
WORKFLOW_EXECUTION_TRIGGER_FAILED: "The workflow could not be triggered. Try again.",
|
|
67
|
+
WORKFLOW_GATEWAY_GRAPHQL_ERROR: "The workflow service returned an error.",
|
|
68
|
+
WORKFLOW_NOT_FOUND: "That workflow could not be found.",
|
|
69
|
+
WORKFLOW_KEY_EXISTS: "A workflow with that key already exists in this workspace.",
|
|
70
|
+
INVALID_INITIAL_WORKFLOW_STATUS: "That workflow status cannot be used when creating a workflow.",
|
|
71
|
+
EXTERNAL_WORKFLOW_CREATE_FAILED: "The workflow could not be created in the workflow builder. Retry, or create the definition first and link it.",
|
|
72
|
+
DATASINK_LINK_NOT_FOUND: "That DataSink link could not be found.",
|
|
73
|
+
VERSION_MISMATCH: "This record was changed elsewhere. Reload and try again.",
|
|
74
|
+
PARSER_NOT_FOUND: "That parser could not be found.",
|
|
75
|
+
PARSER_VERSION_MISMATCH: "This parser was changed elsewhere. Reload and try again.",
|
|
76
|
+
PARSER_TYPE_UNSUPPORTED: "Unsupported parser type. Only 'jq' and 'jsonata' are supported.",
|
|
77
|
+
PARSER_EXPRESSION_INVALID: "The parser expression is invalid.",
|
|
78
|
+
PARSER_DATASINK_NOT_FOUND: "The parser’s source DataSink could not be found.",
|
|
79
|
+
PIPELINE_ACTOR_REQUIRED: "A workspace and an actor are required.",
|
|
80
|
+
PIPELINE_STAGE_NO_PARSER: "A pipeline stage has no expression or parser.",
|
|
81
|
+
DATASINK_NOT_FOUND: "That data sink could not be found.",
|
|
82
|
+
E_PIPELINE_NOT_FOUND: "That pipeline could not be found.",
|
|
83
|
+
E_PIPELINE_STAGE_NOT_FOUND: "That pipeline stage could not be found.",
|
|
84
|
+
E_PIPELINE_EXECUTION: "The pipeline execution failed.",
|
|
85
|
+
E_PIPELINE_VERSION_MISMATCH: "This pipeline was changed elsewhere. Reload and try again.",
|
|
86
|
+
E_PIPELINE_INACTIVE: "That pipeline is not active.",
|
|
87
|
+
E_PIPELINE_EXECUTION_NOT_FOUND: "That pipeline execution could not be found.",
|
|
88
|
+
E_PIPELINE_NAME_EXISTS: "A pipeline with that name already exists for this console.",
|
|
89
|
+
E_PIPELINE_DUPLICATE_OUTPUT_KEY: "Each pipeline stage must have a unique output key.",
|
|
90
|
+
E_PIPELINE_VALIDATION_ERROR: "The pipeline input is not valid.",
|
|
91
|
+
BAD_USER_INPUT: "The request is not valid."
|
|
92
|
+
};
|
|
93
|
+
//#endregion
|
|
94
|
+
export { e as BACKEND_ERROR_MESSAGES };
|
|
@@ -9,9 +9,9 @@ import a from "./CustomWidgetProposalPanel.js";
|
|
|
9
9
|
import { loadDirectProposalPreview as o } from "./proposalPreview.js";
|
|
10
10
|
import { memo as s, useCallback as c, useMemo as l } from "react";
|
|
11
11
|
import { Sheet as u, SheetContent as d, SheetDescription as f, SheetHeader as p, SheetTitle as m } from "@burdenoff/fe-libs/ui";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
12
|
+
import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
13
|
+
import { useApolloClient as g } from "@apollo/client/react";
|
|
14
|
+
import { jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
15
15
|
//#region src/bigconsole/customWidget/CustomWidgetBuilderSheet.tsx
|
|
16
16
|
var y = {
|
|
17
17
|
x: 0,
|
|
@@ -19,7 +19,7 @@ var y = {
|
|
|
19
19
|
width: 6,
|
|
20
20
|
height: 4
|
|
21
21
|
}, b = "default", x = s(function({ isOpen: s, onClose: x, dashboardId: S, pageId: C, source: w }) {
|
|
22
|
-
let { t: T } =
|
|
22
|
+
let { t: T } = h(), E = g(), { workspaceId: D } = e(), { dataSinks: O } = n({ skipFetch: !s }), { createWidget: k } = t(C, S, { skipFetch: !0 }), A = S === b, { parsers: j, executeParser: M } = r({
|
|
23
23
|
consoleId: S,
|
|
24
24
|
skipFetch: !s
|
|
25
25
|
}), { parsers: N } = r({
|
|
@@ -66,10 +66,10 @@ var y = {
|
|
|
66
66
|
S,
|
|
67
67
|
T
|
|
68
68
|
]);
|
|
69
|
-
return /* @__PURE__ */
|
|
69
|
+
return /* @__PURE__ */ _(u, {
|
|
70
70
|
open: s,
|
|
71
71
|
onOpenChange: (e) => !e && x(),
|
|
72
|
-
children: /* @__PURE__ */
|
|
72
|
+
children: /* @__PURE__ */ v(d, {
|
|
73
73
|
style: {
|
|
74
74
|
width: "min(480px, 100vw)",
|
|
75
75
|
maxWidth: "100vw",
|
|
@@ -77,20 +77,20 @@ var y = {
|
|
|
77
77
|
display: "flex",
|
|
78
78
|
flexDirection: "column"
|
|
79
79
|
},
|
|
80
|
-
children: [/* @__PURE__ */
|
|
80
|
+
children: [/* @__PURE__ */ v(p, {
|
|
81
81
|
style: {
|
|
82
82
|
padding: "var(--space-cardPadding)",
|
|
83
83
|
borderBottom: "1px solid var(--color-border-subtle)",
|
|
84
84
|
backgroundColor: "var(--color-bg-surface)",
|
|
85
85
|
flexShrink: 0
|
|
86
86
|
},
|
|
87
|
-
children: [/* @__PURE__ */
|
|
88
|
-
}), /* @__PURE__ */
|
|
87
|
+
children: [/* @__PURE__ */ _(m, { children: T("bigconsole.widget.customWidget.sheet.title", "AI custom widget") }), /* @__PURE__ */ _(f, { children: T("bigconsole.widget.customWidget.sheet.description", "Describe a widget, review the proposal, then approve it onto the dashboard.") })]
|
|
88
|
+
}), /* @__PURE__ */ _("div", {
|
|
89
89
|
style: {
|
|
90
90
|
flex: 1,
|
|
91
91
|
minHeight: 0
|
|
92
92
|
},
|
|
93
|
-
children: /* @__PURE__ */
|
|
93
|
+
children: /* @__PURE__ */ _(a, {
|
|
94
94
|
sinks: P,
|
|
95
95
|
parsers: F,
|
|
96
96
|
resolvePreviewData: I,
|