@burdenoff/microfe-bigconsole 2026.805.2 → 2026.812.1
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/components/DrilldownDashboardRenderer.js +118 -106
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -1
- package/dist/bigconsole/components/DrilldownModal.js +54 -50
- package/dist/bigconsole/components/DrilldownModal.js.map +1 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.js +2 -2
- package/dist/bigconsole/components/builder/BuilderCanvas.js.map +1 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.js +3 -3
- package/dist/bigconsole/components/builder/BuilderTopbar.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +24 -25
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +40 -29
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +145 -111
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js +58 -44
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +1 -1
- package/dist/bigconsole/components/common/Section.js +70 -0
- package/dist/bigconsole/components/common/Section.js.map +1 -0
- package/dist/bigconsole/components/common/index.js +2 -0
- package/dist/bigconsole/components/common/sectionStyles.js +42 -0
- package/dist/bigconsole/components/common/sectionStyles.js.map +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +269 -251
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +214 -223
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.js +12 -18
- package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +110 -102
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +81 -68
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +125 -159
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +147 -144
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +154 -153
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +82 -79
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +171 -284
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +250 -273
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +45 -53
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +1 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +157 -148
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +75 -83
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +167 -161
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +181 -190
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -95
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +20 -18
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -0
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +26 -58
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +307 -229
- package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +128 -129
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js +78 -79
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +33 -34
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +79 -61
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +75 -64
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +1 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +20 -19
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +127 -171
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +113 -117
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +312 -307
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +65 -66
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +121 -127
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +194 -189
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.js +3 -3
- package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +95 -95
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.js +163 -131
- package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.js +3 -3
- package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.js +205 -260
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserCard.js +133 -114
- package/dist/bigconsole/components/parser/ParserCard.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserSelector.js +193 -174
- package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -2
- package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.js +4 -4
- package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.js +134 -89
- package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +77 -64
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +7 -10
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.js +31 -32
- package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +152 -103
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +193 -148
- package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
- package/dist/bigconsole/components/preview/previewShared.js +41 -23
- package/dist/bigconsole/components/preview/previewShared.js.map +1 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +405 -364
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +265 -237
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +764 -821
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +7 -5
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.js +7 -8
- package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +8 -7
- package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +1 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +46 -49
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +154 -147
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +118 -101
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +244 -191
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.js +167 -159
- package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +92 -76
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +1 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +89 -86
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +2 -2
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +64 -63
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +2 -2
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.js +65 -58
- package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js +1 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +1 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +79 -72
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +35 -34
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +20 -19
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +181 -180
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +100 -90
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +3 -3
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.js +6 -4
- package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.js +7 -5
- package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.js +5 -4
- package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.js +193 -172
- package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js +1 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js +1 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +1 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +3 -3
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +2 -2
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +1 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +283 -249
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +28 -20
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.js +92 -77
- package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +70 -51
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +16 -17
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +46 -42
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +372 -348
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.js +53 -0
- package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.js +153 -142
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardViewPage.js +230 -220
- package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardsPage.js +832 -790
- package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
- package/dist/bigconsole/pages/DataParsersPage.js +249 -304
- package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +324 -349
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +336 -323
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +356 -458
- package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSourcesPage.js +14 -8
- package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
- package/dist/bigconsole/pages/HomePage.js +186 -193
- package/dist/bigconsole/pages/HomePage.js.map +1 -1
- package/dist/bigconsole/pages/InsightsPage.js +901 -724
- package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js +769 -675
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserViewPage.js +382 -354
- package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +540 -420
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineViewPage.js +416 -384
- package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelinesPage.js +260 -309
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
- package/dist/bigconsole/pages/SettingsPage.js +177 -172
- package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
- package/dist/bigconsole/pages/WidgetDemoPage.js +278 -142
- package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js +382 -366
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +202 -316
- package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +111 -109
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +127 -126
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +103 -103
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,61 +1,65 @@
|
|
|
1
1
|
import { useDataSinkStore as e } from "../store/dataSinkStore.js";
|
|
2
2
|
import { useAppNavigate as t } from "../contexts/NavigationContext.js";
|
|
3
3
|
import "../contexts/index.js";
|
|
4
|
-
import
|
|
5
|
-
import ee from "../components/
|
|
6
|
-
import
|
|
4
|
+
import "../components/common/sectionStyles.js";
|
|
5
|
+
import { Section as n, SectionStack as ee } from "../components/common/Section.js";
|
|
6
|
+
import "../components/common/index.js";
|
|
7
|
+
import { newWorkflowPath as te } from "../BigConsoleRoutes.js";
|
|
8
|
+
import ne from "../components/datasink/DataSinkTableViewer.js";
|
|
9
|
+
import re from "../hooks/useDataSinkOperations.js";
|
|
7
10
|
import { BIGCONSOLE_PERMISSIONS as r } from "../../constants/permissions.js";
|
|
8
11
|
import i from "../components/datasink/DataSinkStatusBadge.js";
|
|
9
|
-
import { isNative as a, nativeConfirm as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import { memo as
|
|
18
|
-
import { useParams as
|
|
19
|
-
import { AccessDenied as
|
|
20
|
-
import { usePermissions as
|
|
21
|
-
import { AlertCircle as
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
12
|
+
import { isNative as a, nativeConfirm as ie, nativeImpact as ae, nativeNotify as o } from "../../utils/nativeBridge.js";
|
|
13
|
+
import oe from "../hooks/useDataSinkSubscription.js";
|
|
14
|
+
import se from "../components/datasink/DataSinkDataViewer.js";
|
|
15
|
+
import ce from "../components/datasink/LinkedWorkflowsPanel.js";
|
|
16
|
+
import s from "../components/datasink/LinkedParsersPanel.js";
|
|
17
|
+
import le from "../components/datasink/WorkflowStatusPanel.js";
|
|
18
|
+
import ue from "../components/datasink/ExportDataSinkDialog.js";
|
|
19
|
+
import de from "../components/datasink/ImportDataGuideDialog.js";
|
|
20
|
+
import { memo as c, useCallback as l, useEffect as fe, useState as u } from "react";
|
|
21
|
+
import { useParams as pe } from "react-router";
|
|
22
|
+
import { AccessDenied as me, PermissionButton as d } from "@burdenoff/fe-libs/shared/components";
|
|
23
|
+
import { usePermissions as he } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
24
|
+
import { AlertCircle as ge, ArrowLeft as f, Code as _e, Database as p, Download as ve, Edit as ye, Eye as be, EyeOff as xe, Grid3X3 as Se, Loader2 as m, RefreshCw as Ce, Trash2 as we, Upload as h } from "lucide-react";
|
|
25
|
+
import { useI18n as Te } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
26
|
+
import { Button as g, IllustratedEmptyState as Ee, NextSteps as De, PagePurpose as Oe } from "@burdenoff/fe-libs/ui";
|
|
27
|
+
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
28
|
+
import { formatDistanceToNow as b } from "date-fns";
|
|
25
29
|
//#region src/bigconsole/pages/DataSinkViewPage.tsx
|
|
26
|
-
var
|
|
27
|
-
let { dataSinkId:
|
|
28
|
-
|
|
29
|
-
dataSinkId:
|
|
30
|
-
enabled: !!
|
|
31
|
-
}),
|
|
32
|
-
|
|
33
|
-
}, [
|
|
34
|
-
let J =
|
|
35
|
-
|
|
36
|
-
}, [
|
|
37
|
-
|
|
38
|
-
}, [
|
|
39
|
-
if (
|
|
30
|
+
var x = "focus-visible:ring-inset focus-visible:ring-offset-0", S = c(function() {
|
|
31
|
+
let { dataSinkId: c } = pe(), S = t(), { t: C } = Te(), { hasPermission: ke, isLoading: w } = he(), Ae = ke(r.DATASINK_READ), [T, E] = u(!1), [D, O] = u(!1), [k, A] = u(!1), [je, j] = u(!1), [Me, M] = u(!1), [N, Ne] = u(null), [P, F] = u(!1), [I, L] = u("table"), [R, Pe] = u(100), [z, Fe] = u(0), [B, Ie] = u(null), [Le, Re] = u(!1), V = e((e) => c ? e.dataSinks.get(c) : void 0), { loading: ze, error: H, fetchDataSink: U, getDataSinkData: W, refreshDataSink: G, updateDataSink: K, deleteDataSink: q } = re({ skipFetch: !0 });
|
|
32
|
+
oe({
|
|
33
|
+
dataSinkId: c,
|
|
34
|
+
enabled: !!c
|
|
35
|
+
}), fe(() => {
|
|
36
|
+
c && U(c);
|
|
37
|
+
}, [c, U]);
|
|
38
|
+
let J = l(() => {
|
|
39
|
+
S("/datasinks");
|
|
40
|
+
}, [S]), Be = l(() => {
|
|
41
|
+
S(`/datasinks/${c}/edit`);
|
|
42
|
+
}, [S, c]), Y = l(async () => {
|
|
43
|
+
if (c) {
|
|
40
44
|
O(!0);
|
|
41
45
|
try {
|
|
42
|
-
await G({ id:
|
|
46
|
+
await G({ id: c });
|
|
43
47
|
} catch {} finally {
|
|
44
48
|
O(!1);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
|
-
}, [
|
|
48
|
-
if (!
|
|
49
|
-
let e = await
|
|
50
|
-
title: "Delete DataSink?",
|
|
51
|
-
message: "Are you sure you want to delete this DataSink?",
|
|
52
|
-
okButtonTitle: "Delete",
|
|
53
|
-
cancelButtonTitle: "Cancel"
|
|
51
|
+
}, [c, G]), Ve = l(async () => {
|
|
52
|
+
if (!c) return;
|
|
53
|
+
let e = await ie({
|
|
54
|
+
title: C("bigconsole.dataSinks.view.deleteConfirmTitle", "Delete DataSink?"),
|
|
55
|
+
message: C("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?"),
|
|
56
|
+
okButtonTitle: C("bigconsole.dataSinks.view.delete", "Delete"),
|
|
57
|
+
cancelButtonTitle: C("bigconsole.dataSinks.view.cancel", "Cancel")
|
|
54
58
|
});
|
|
55
|
-
if (e === null ? window.confirm("Are you sure you want to delete this DataSink?") : e) {
|
|
56
|
-
|
|
59
|
+
if (e === null ? window.confirm(C("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?")) : e) {
|
|
60
|
+
ae("medium"), A(!0);
|
|
57
61
|
try {
|
|
58
|
-
await q(
|
|
62
|
+
await q(c), a() && o("success"), S("/datasinks");
|
|
59
63
|
} catch {
|
|
60
64
|
a() && o("error");
|
|
61
65
|
} finally {
|
|
@@ -63,14 +67,15 @@ var w = s(function() {
|
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
}, [
|
|
66
|
-
|
|
70
|
+
c,
|
|
67
71
|
q,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
S,
|
|
73
|
+
C
|
|
74
|
+
]), X = l(async (e, t) => {
|
|
75
|
+
if (c) {
|
|
71
76
|
F(!0);
|
|
72
77
|
try {
|
|
73
|
-
let n = await W({ id:
|
|
78
|
+
let n = await W({ id: c }, {
|
|
74
79
|
limit: t,
|
|
75
80
|
offset: e
|
|
76
81
|
});
|
|
@@ -79,8 +84,8 @@ var w = s(function() {
|
|
|
79
84
|
F(!1);
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
|
-
}, [
|
|
83
|
-
if (
|
|
87
|
+
}, [c, W]), Z = l(async () => {
|
|
88
|
+
if (c) {
|
|
84
89
|
if (T) {
|
|
85
90
|
E(!1);
|
|
86
91
|
return;
|
|
@@ -88,23 +93,23 @@ var w = s(function() {
|
|
|
88
93
|
await X(0, R), E(!0);
|
|
89
94
|
}
|
|
90
95
|
}, [
|
|
91
|
-
|
|
96
|
+
c,
|
|
92
97
|
T,
|
|
93
98
|
X,
|
|
94
99
|
R
|
|
95
|
-
]), He =
|
|
100
|
+
]), He = l((e) => {
|
|
96
101
|
Pe(e), X(0, e);
|
|
97
|
-
}, [X]), Q =
|
|
102
|
+
}, [X]), Q = l(() => {
|
|
98
103
|
j(!0);
|
|
99
|
-
}, []), Ue =
|
|
104
|
+
}, []), Ue = l(() => {
|
|
100
105
|
j(!1);
|
|
101
|
-
}, []), $ =
|
|
106
|
+
}, []), $ = l(() => {
|
|
102
107
|
M(!0);
|
|
103
|
-
}, []), We =
|
|
108
|
+
}, []), We = l(() => {
|
|
104
109
|
M(!1);
|
|
105
|
-
}, []), Ge =
|
|
106
|
-
M(!1),
|
|
107
|
-
}, [
|
|
110
|
+
}, []), Ge = l(() => {
|
|
111
|
+
M(!1), S(te());
|
|
112
|
+
}, [S]), Ke = l(async (e) => {
|
|
108
113
|
if (!V || !await K({
|
|
109
114
|
id: V.id,
|
|
110
115
|
version: V.version,
|
|
@@ -120,342 +125,350 @@ var w = s(function() {
|
|
|
120
125
|
X,
|
|
121
126
|
R
|
|
122
127
|
]);
|
|
123
|
-
return ze && !V ? /* @__PURE__ */
|
|
124
|
-
className: "flex items-center justify-center
|
|
125
|
-
children: /* @__PURE__ */
|
|
126
|
-
}) : H && !V ? /* @__PURE__ */
|
|
127
|
-
className: "
|
|
128
|
-
children: /* @__PURE__ */
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
/* @__PURE__ */ S(g, {
|
|
141
|
-
onClick: J,
|
|
142
|
-
variant: "ghost",
|
|
143
|
-
size: "sm",
|
|
144
|
-
children: [/* @__PURE__ */ x(f, { className: "w-4 h-4 mr-2" }), "Go back"]
|
|
145
|
-
})
|
|
146
|
-
]
|
|
128
|
+
return ze && !V ? /* @__PURE__ */ v("div", {
|
|
129
|
+
className: "flex min-h-[240px] items-center justify-center p-card-padding",
|
|
130
|
+
children: /* @__PURE__ */ v(m, { className: "h-icon-lg w-icon-lg animate-spin text-text-secondary" })
|
|
131
|
+
}) : H && !V ? /* @__PURE__ */ v("div", {
|
|
132
|
+
className: "p-card-padding",
|
|
133
|
+
children: /* @__PURE__ */ v(n, {
|
|
134
|
+
tone: "danger",
|
|
135
|
+
headingLevel: 2,
|
|
136
|
+
title: C("bigconsole.dataSinks.view.loadError", "Failed to load DataSink"),
|
|
137
|
+
description: H.message,
|
|
138
|
+
icon: /* @__PURE__ */ v(ge, { className: "h-icon-sm w-icon-sm" }),
|
|
139
|
+
actions: /* @__PURE__ */ y(g, {
|
|
140
|
+
onClick: J,
|
|
141
|
+
variant: "secondary",
|
|
142
|
+
size: "sm",
|
|
143
|
+
children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.goBack", "Go back")]
|
|
144
|
+
})
|
|
147
145
|
})
|
|
148
|
-
}) : !
|
|
149
|
-
title: "Access Denied",
|
|
150
|
-
description: "You don't have permission to view this data sink."
|
|
151
|
-
}) : V ? /* @__PURE__ */
|
|
152
|
-
className: "p-card-padding
|
|
146
|
+
}) : !w && !Ae ? /* @__PURE__ */ v(me, {
|
|
147
|
+
title: C("bigconsole.dataSinks.view.accessDeniedTitle", "Access Denied"),
|
|
148
|
+
description: C("bigconsole.dataSinks.view.accessDeniedDescription", "You don't have permission to view this data sink.")
|
|
149
|
+
}) : V ? /* @__PURE__ */ y("div", {
|
|
150
|
+
className: "min-w-0 p-card-padding",
|
|
153
151
|
children: [
|
|
154
|
-
/* @__PURE__ */
|
|
155
|
-
className: "flex flex-col sm:flex-row sm:items-start sm:justify-between
|
|
156
|
-
children: [/* @__PURE__ */
|
|
157
|
-
className: "flex-1",
|
|
152
|
+
/* @__PURE__ */ y("header", {
|
|
153
|
+
className: "mb-section-gap flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between",
|
|
154
|
+
children: [/* @__PURE__ */ y("div", {
|
|
155
|
+
className: "min-w-0 flex-1",
|
|
158
156
|
children: [
|
|
159
|
-
/* @__PURE__ */
|
|
157
|
+
/* @__PURE__ */ y(g, {
|
|
160
158
|
onClick: J,
|
|
161
159
|
variant: "ghost",
|
|
162
160
|
size: "sm",
|
|
163
161
|
className: "mb-4",
|
|
164
|
-
children: [/* @__PURE__ */
|
|
162
|
+
children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.backToDataSinks", "Back to DataSinks")]
|
|
165
163
|
}),
|
|
166
|
-
/* @__PURE__ */
|
|
167
|
-
className: "flex items-center gap-2
|
|
168
|
-
children: [/* @__PURE__ */
|
|
169
|
-
className: "text-
|
|
170
|
-
children: V.name || "Untitled"
|
|
171
|
-
}), /* @__PURE__ */
|
|
164
|
+
/* @__PURE__ */ y("div", {
|
|
165
|
+
className: "flex flex-wrap items-center gap-2",
|
|
166
|
+
children: [/* @__PURE__ */ v("h1", {
|
|
167
|
+
className: "text-2xl font-bold text-text-primary",
|
|
168
|
+
children: V.name || C("bigconsole.dataSinks.view.untitled", "Untitled")
|
|
169
|
+
}), /* @__PURE__ */ v(i, { status: V.status })]
|
|
172
170
|
}),
|
|
173
|
-
/* @__PURE__ */
|
|
174
|
-
className: "
|
|
171
|
+
/* @__PURE__ */ v("p", {
|
|
172
|
+
className: "mt-1 break-all font-mono text-sm text-text-muted",
|
|
175
173
|
children: V.key
|
|
176
174
|
}),
|
|
177
|
-
V.description && /* @__PURE__ */
|
|
178
|
-
className: "text-
|
|
175
|
+
V.description && /* @__PURE__ */ v("p", {
|
|
176
|
+
className: "mt-2 text-sm text-text-secondary",
|
|
179
177
|
children: V.description
|
|
180
178
|
})
|
|
181
179
|
]
|
|
182
|
-
}), /* @__PURE__ */
|
|
183
|
-
className: "flex items-center gap-2
|
|
180
|
+
}), /* @__PURE__ */ y("div", {
|
|
181
|
+
className: "flex flex-wrap items-center gap-2",
|
|
184
182
|
children: [
|
|
185
|
-
/* @__PURE__ */
|
|
183
|
+
/* @__PURE__ */ v(d, {
|
|
186
184
|
permission: r.DATASINK_EXECUTE,
|
|
187
185
|
deniedBehavior: "disable",
|
|
188
|
-
children: /* @__PURE__ */
|
|
186
|
+
children: /* @__PURE__ */ y(g, {
|
|
189
187
|
onClick: Y,
|
|
190
188
|
disabled: D,
|
|
191
|
-
variant: "
|
|
189
|
+
variant: "default",
|
|
192
190
|
size: "default",
|
|
193
|
-
children: [/* @__PURE__ */
|
|
191
|
+
children: [/* @__PURE__ */ v(Ce, { className: `w-4 h-4 mr-2 ${D ? "animate-spin" : ""}` }), D ? C("bigconsole.dataSinks.view.refreshing", "Refreshing...") : C("bigconsole.dataSinks.view.refresh", "Refresh")]
|
|
194
192
|
})
|
|
195
193
|
}),
|
|
196
|
-
/* @__PURE__ */
|
|
194
|
+
/* @__PURE__ */ y(g, {
|
|
197
195
|
onClick: $,
|
|
198
196
|
variant: "secondary",
|
|
199
197
|
size: "default",
|
|
200
|
-
children: [/* @__PURE__ */
|
|
198
|
+
children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
|
|
201
199
|
}),
|
|
202
|
-
/* @__PURE__ */
|
|
200
|
+
/* @__PURE__ */ y(g, {
|
|
203
201
|
onClick: Q,
|
|
204
202
|
variant: "secondary",
|
|
205
203
|
size: "default",
|
|
206
|
-
children: [/* @__PURE__ */
|
|
204
|
+
children: [/* @__PURE__ */ v(ve, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.export", "Export")]
|
|
207
205
|
}),
|
|
208
|
-
/* @__PURE__ */
|
|
206
|
+
/* @__PURE__ */ v(d, {
|
|
209
207
|
permission: r.DATASINK_UPDATE,
|
|
210
208
|
deniedBehavior: "disable",
|
|
211
|
-
children: /* @__PURE__ */
|
|
209
|
+
children: /* @__PURE__ */ y(g, {
|
|
212
210
|
onClick: Be,
|
|
213
211
|
variant: "secondary",
|
|
214
212
|
size: "default",
|
|
215
|
-
children: [/* @__PURE__ */
|
|
213
|
+
children: [/* @__PURE__ */ v(ye, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.edit", "Edit")]
|
|
216
214
|
})
|
|
217
215
|
}),
|
|
218
|
-
/* @__PURE__ */
|
|
216
|
+
/* @__PURE__ */ v(d, {
|
|
219
217
|
permission: r.DATASINK_DELETE,
|
|
220
218
|
deniedBehavior: "hide",
|
|
221
|
-
children: /* @__PURE__ */
|
|
219
|
+
children: /* @__PURE__ */ y(g, {
|
|
222
220
|
onClick: Ve,
|
|
223
221
|
disabled: k,
|
|
224
222
|
variant: "destructive",
|
|
225
223
|
size: "default",
|
|
226
|
-
children: [/* @__PURE__ */
|
|
224
|
+
children: [/* @__PURE__ */ v(we, { className: "w-4 h-4 mr-2" }), k ? C("bigconsole.dataSinks.view.deleting", "Deleting...") : C("bigconsole.dataSinks.view.delete", "Delete")]
|
|
227
225
|
})
|
|
228
226
|
})
|
|
229
227
|
]
|
|
230
228
|
})]
|
|
231
229
|
}),
|
|
232
|
-
/* @__PURE__ */
|
|
233
|
-
|
|
230
|
+
/* @__PURE__ */ v(Oe, {
|
|
231
|
+
className: "mb-section-gap",
|
|
232
|
+
children: C("bigconsole.dataSinks.view.pagePurpose", "A data sink is a structured store that holds your processed data and serves it to dashboards. From here you can inspect its schema and stats, preview the cached rows, refresh it from its linked workflow, or export it.")
|
|
233
|
+
}),
|
|
234
|
+
/* @__PURE__ */ v(De, {
|
|
234
235
|
storageKey: "bigconsole-datasink-view",
|
|
235
236
|
steps: [
|
|
236
237
|
{
|
|
237
238
|
id: "preview",
|
|
238
|
-
label: "Preview the data",
|
|
239
|
-
description: "Open the cached rows to confirm the sink holds what you expect.",
|
|
239
|
+
label: C("bigconsole.dataSinks.view.nextSteps.previewLabel", "Preview the data"),
|
|
240
|
+
description: C("bigconsole.dataSinks.view.nextSteps.previewDescription", "Open the cached rows to confirm the sink holds what you expect."),
|
|
240
241
|
onClick: Z
|
|
241
242
|
},
|
|
242
243
|
{
|
|
243
244
|
id: "refresh",
|
|
244
|
-
label: "Refresh from source",
|
|
245
|
-
description: "Re-run the linked workflow to pull the latest data.",
|
|
245
|
+
label: C("bigconsole.dataSinks.view.nextSteps.refreshLabel", "Refresh from source"),
|
|
246
|
+
description: C("bigconsole.dataSinks.view.nextSteps.refreshDescription", "Re-run the linked workflow to pull the latest data."),
|
|
246
247
|
onClick: Y
|
|
247
248
|
},
|
|
248
249
|
{
|
|
249
250
|
id: "build-dashboard",
|
|
250
|
-
label: "Visualize it on a dashboard",
|
|
251
|
-
description: "Add widgets that query this sink to see your data live.",
|
|
252
|
-
onClick: () =>
|
|
251
|
+
label: C("bigconsole.dataSinks.view.nextSteps.dashboardLabel", "Visualize it on a dashboard"),
|
|
252
|
+
description: C("bigconsole.dataSinks.view.nextSteps.dashboardDescription", "Add widgets that query this sink to see your data live."),
|
|
253
|
+
onClick: () => S("/dashboards")
|
|
253
254
|
},
|
|
254
255
|
{
|
|
255
256
|
id: "export",
|
|
256
|
-
label: "Export the data",
|
|
257
|
-
description: "Download the contents for use elsewhere.",
|
|
257
|
+
label: C("bigconsole.dataSinks.view.nextSteps.exportLabel", "Export the data"),
|
|
258
|
+
description: C("bigconsole.dataSinks.view.nextSteps.exportDescription", "Download the contents for use elsewhere."),
|
|
258
259
|
onClick: Q
|
|
259
260
|
}
|
|
260
261
|
]
|
|
261
262
|
}),
|
|
262
|
-
/* @__PURE__ */
|
|
263
|
-
className: "
|
|
264
|
-
children: [
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
263
|
+
/* @__PURE__ */ y(ee, {
|
|
264
|
+
className: "mt-section-gap",
|
|
265
|
+
children: [/* @__PURE__ */ y("div", {
|
|
266
|
+
className: "grid min-w-0 gap-section-gap md:grid-cols-2",
|
|
267
|
+
children: [
|
|
268
|
+
/* @__PURE__ */ v(n, {
|
|
269
|
+
headingLevel: 2,
|
|
270
|
+
title: C("bigconsole.dataSinks.view.details", "Details"),
|
|
271
|
+
description: "Cache, refresh and storage settings for this sink.",
|
|
272
|
+
children: /* @__PURE__ */ y("dl", {
|
|
273
|
+
className: "divide-y divide-[var(--color-border-subtle)] text-sm",
|
|
274
|
+
children: [
|
|
275
|
+
/* @__PURE__ */ y("div", {
|
|
276
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2 first:pt-0",
|
|
277
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
278
|
+
className: "min-w-0 text-text-secondary",
|
|
279
|
+
children: C("bigconsole.dataSinks.view.status", "Status")
|
|
280
|
+
}), /* @__PURE__ */ v("dd", { children: /* @__PURE__ */ v(i, {
|
|
281
|
+
status: V.status,
|
|
282
|
+
size: "sm"
|
|
283
|
+
}) })]
|
|
284
|
+
}),
|
|
285
|
+
/* @__PURE__ */ y("div", {
|
|
286
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
|
|
287
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
288
|
+
className: "min-w-0 text-text-secondary",
|
|
289
|
+
children: C("bigconsole.dataSinks.view.cacheTtl", "Cache TTL")
|
|
290
|
+
}), /* @__PURE__ */ v("dd", {
|
|
291
|
+
className: "font-medium text-text-primary",
|
|
292
|
+
children: V.ttl ? `${V.ttl}s` : C("bigconsole.dataSinks.view.none", "None")
|
|
293
|
+
})]
|
|
294
|
+
}),
|
|
295
|
+
/* @__PURE__ */ y("div", {
|
|
296
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
|
|
297
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
298
|
+
className: "min-w-0 text-text-secondary",
|
|
299
|
+
children: C("bigconsole.dataSinks.view.refreshType", "Refresh Type")
|
|
300
|
+
}), /* @__PURE__ */ v("dd", {
|
|
301
|
+
className: "font-medium capitalize text-text-primary",
|
|
302
|
+
children: V.refresh?.type || C("bigconsole.dataSinks.view.manual", "Manual")
|
|
303
|
+
})]
|
|
304
|
+
}),
|
|
305
|
+
/* @__PURE__ */ y("div", {
|
|
306
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
|
|
307
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
308
|
+
className: "min-w-0 text-text-secondary",
|
|
309
|
+
children: C("bigconsole.dataSinks.view.size", "Size")
|
|
310
|
+
}), /* @__PURE__ */ v("dd", {
|
|
311
|
+
className: "font-medium text-text-primary",
|
|
312
|
+
children: V.sizeBytes ? `${(V.sizeBytes / 1024).toFixed(2)} KB` : "0 KB"
|
|
313
|
+
})]
|
|
314
|
+
}),
|
|
315
|
+
/* @__PURE__ */ y("div", {
|
|
316
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
|
|
317
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
318
|
+
className: "min-w-0 text-text-secondary",
|
|
319
|
+
children: C("bigconsole.dataSinks.view.version", "Version")
|
|
320
|
+
}), /* @__PURE__ */ v("dd", {
|
|
321
|
+
className: "font-medium text-text-primary",
|
|
322
|
+
children: V.version || 1
|
|
323
|
+
})]
|
|
324
|
+
}),
|
|
325
|
+
/* @__PURE__ */ y("div", {
|
|
326
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
|
|
327
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
328
|
+
className: "min-w-0 text-text-secondary",
|
|
329
|
+
children: C("bigconsole.dataSinks.view.lastRefreshed", "Last Refreshed")
|
|
330
|
+
}), /* @__PURE__ */ v("dd", {
|
|
331
|
+
className: "font-medium text-text-primary",
|
|
332
|
+
children: V.lastRefreshedAt ? b(new Date(V.lastRefreshedAt), { addSuffix: !0 }) : C("bigconsole.dataSinks.view.never", "Never")
|
|
333
|
+
})]
|
|
334
|
+
}),
|
|
335
|
+
/* @__PURE__ */ y("div", {
|
|
336
|
+
className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2 last:pb-0",
|
|
337
|
+
children: [/* @__PURE__ */ v("dt", {
|
|
338
|
+
className: "min-w-0 text-text-secondary",
|
|
339
|
+
children: C("bigconsole.dataSinks.view.created", "Created")
|
|
340
|
+
}), /* @__PURE__ */ v("dd", {
|
|
341
|
+
className: "font-medium text-text-primary",
|
|
342
|
+
children: b(new Date(V.createdAt), { addSuffix: !0 })
|
|
343
|
+
})]
|
|
344
|
+
})
|
|
345
|
+
]
|
|
346
|
+
})
|
|
347
|
+
}),
|
|
348
|
+
V.fluidGridsWorkflowId && /* @__PURE__ */ v(le, {
|
|
349
|
+
workflowId: V.fluidGridsWorkflowId,
|
|
350
|
+
executionId: V.fluidGridsWorkflowExecutionId || void 0,
|
|
351
|
+
lastRefreshedAt: V.lastRefreshedAt || void 0,
|
|
352
|
+
setupState: V.setupState,
|
|
353
|
+
status: V.status,
|
|
354
|
+
onRerunWorkflow: Y,
|
|
355
|
+
disabled: D,
|
|
356
|
+
isRerunning: D
|
|
357
|
+
}),
|
|
358
|
+
/* @__PURE__ */ v(ce, { workflowLinks: V.workflowLinks }),
|
|
359
|
+
/* @__PURE__ */ v(s, { dataSinkKey: V.key })
|
|
360
|
+
]
|
|
361
|
+
}), /* @__PURE__ */ y(n, {
|
|
362
|
+
emphasis: "primary",
|
|
363
|
+
headingLevel: 2,
|
|
364
|
+
title: C("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
|
|
365
|
+
description: "The rows this sink is currently serving to dashboards.",
|
|
366
|
+
icon: /* @__PURE__ */ v(p, { className: "h-icon-sm w-icon-sm" }),
|
|
367
|
+
actions: /* @__PURE__ */ y(_, { children: [T && /* @__PURE__ */ y("div", {
|
|
368
|
+
role: "group",
|
|
369
|
+
"aria-label": C("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
|
|
370
|
+
className: "flex items-center overflow-hidden rounded-button border border-[var(--color-border-default)]",
|
|
371
|
+
children: [/* @__PURE__ */ v("button", {
|
|
372
|
+
type: "button",
|
|
373
|
+
onClick: () => L("table"),
|
|
374
|
+
"aria-pressed": I === "table",
|
|
375
|
+
className: `flex h-control-md w-[var(--size-controlHeight-md)] items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${x} ${I === "table" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
|
|
376
|
+
title: C("bigconsole.dataSinks.view.tableView", "Table view"),
|
|
377
|
+
children: /* @__PURE__ */ v(Se, { className: "w-4 h-4" })
|
|
378
|
+
}), /* @__PURE__ */ v("button", {
|
|
379
|
+
type: "button",
|
|
380
|
+
onClick: () => L("json"),
|
|
381
|
+
"aria-pressed": I === "json",
|
|
382
|
+
className: `flex h-control-md w-[var(--size-controlHeight-md)] items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${x} ${I === "json" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
|
|
383
|
+
title: C("bigconsole.dataSinks.view.jsonView", "JSON view"),
|
|
384
|
+
children: /* @__PURE__ */ v(_e, { className: "w-4 h-4" })
|
|
385
|
+
})]
|
|
386
|
+
}), /* @__PURE__ */ v(g, {
|
|
387
|
+
onClick: Z,
|
|
388
|
+
disabled: P,
|
|
389
|
+
variant: T ? "secondary" : "default",
|
|
390
|
+
size: "sm",
|
|
391
|
+
children: P ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(m, { className: "w-4 h-4 mr-2 animate-spin" }), C("bigconsole.dataSinks.view.loading", "Loading...")] }) : T ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(xe, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.hideData", "Hide Data")] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(be, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.showData", "Show Data")] })
|
|
392
|
+
})] }),
|
|
393
|
+
children: [T && N && /* @__PURE__ */ y(_, { children: [v(I === "table" ? ne : se, {
|
|
394
|
+
data: N,
|
|
395
|
+
maxHeight: "400px"
|
|
396
|
+
}), B !== null && /* @__PURE__ */ y("div", {
|
|
397
|
+
className: "mt-form-gap flex flex-wrap items-center justify-between gap-form-gap border-t border-[var(--color-border-subtle)] pt-form-gap",
|
|
398
|
+
children: [/* @__PURE__ */ y("label", {
|
|
399
|
+
className: "flex items-center gap-2 text-sm text-text-secondary",
|
|
400
|
+
children: [/* @__PURE__ */ v("span", { children: C("bigconsole.dataSinks.view.rowsPerPage", "Rows per page") }), /* @__PURE__ */ v("select", {
|
|
401
|
+
"aria-label": C("bigconsole.dataSinks.view.rowsPerPage", "Rows per page"),
|
|
402
|
+
className: "h-control-md rounded-input border border-[var(--color-border-default)] bg-bg-canvas px-2 text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
|
|
403
|
+
value: R,
|
|
404
|
+
onChange: (e) => He(Number(e.target.value)),
|
|
405
|
+
children: [
|
|
406
|
+
100,
|
|
407
|
+
500,
|
|
408
|
+
1e3
|
|
409
|
+
].map((e) => /* @__PURE__ */ v("option", {
|
|
410
|
+
value: e,
|
|
411
|
+
children: e
|
|
412
|
+
}, e))
|
|
413
|
+
})]
|
|
414
|
+
}), /* @__PURE__ */ y("div", {
|
|
415
|
+
className: "flex flex-wrap items-center gap-control-gap text-sm text-text-secondary",
|
|
270
416
|
children: [
|
|
271
|
-
/* @__PURE__ */
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
children: "Cache TTL"
|
|
283
|
-
}), /* @__PURE__ */ x("dd", {
|
|
284
|
-
className: "text-text-primary font-medium",
|
|
285
|
-
children: V.ttl ? `${V.ttl}s` : "None"
|
|
286
|
-
})]
|
|
287
|
-
}),
|
|
288
|
-
/* @__PURE__ */ S("div", {
|
|
289
|
-
className: "flex justify-between items-center",
|
|
290
|
-
children: [/* @__PURE__ */ x("dt", {
|
|
291
|
-
className: "text-text-secondary",
|
|
292
|
-
children: "Refresh Type"
|
|
293
|
-
}), /* @__PURE__ */ x("dd", {
|
|
294
|
-
className: "text-text-primary font-medium capitalize",
|
|
295
|
-
children: V.refresh?.type || "Manual"
|
|
296
|
-
})]
|
|
417
|
+
/* @__PURE__ */ v("span", { children: B === 0 ? C("bigconsole.dataSinks.view.zeroRows", "0 rows") : C("bigconsole.dataSinks.view.rowRange", "{{start}}–{{end}} of {{total}}", {
|
|
418
|
+
start: z + 1,
|
|
419
|
+
end: Math.min(z + R, B),
|
|
420
|
+
total: B
|
|
421
|
+
}) }),
|
|
422
|
+
/* @__PURE__ */ v(g, {
|
|
423
|
+
variant: "secondary",
|
|
424
|
+
size: "sm",
|
|
425
|
+
disabled: z === 0 || P,
|
|
426
|
+
onClick: () => void X(Math.max(0, z - R), R),
|
|
427
|
+
children: C("bigconsole.dataSinks.view.previous", "Previous")
|
|
297
428
|
}),
|
|
298
|
-
/* @__PURE__ */
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
className: "text-text-primary font-medium",
|
|
305
|
-
children: V.sizeBytes ? `${(V.sizeBytes / 1024).toFixed(2)} KB` : "0 KB"
|
|
306
|
-
})]
|
|
307
|
-
}),
|
|
308
|
-
/* @__PURE__ */ S("div", {
|
|
309
|
-
className: "flex justify-between items-center",
|
|
310
|
-
children: [/* @__PURE__ */ x("dt", {
|
|
311
|
-
className: "text-text-secondary",
|
|
312
|
-
children: "Version"
|
|
313
|
-
}), /* @__PURE__ */ x("dd", {
|
|
314
|
-
className: "text-text-primary font-medium",
|
|
315
|
-
children: V.version || 1
|
|
316
|
-
})]
|
|
317
|
-
}),
|
|
318
|
-
/* @__PURE__ */ S("div", {
|
|
319
|
-
className: "flex justify-between items-center",
|
|
320
|
-
children: [/* @__PURE__ */ x("dt", {
|
|
321
|
-
className: "text-text-secondary",
|
|
322
|
-
children: "Last Refreshed"
|
|
323
|
-
}), /* @__PURE__ */ x("dd", {
|
|
324
|
-
className: "text-text-primary font-medium",
|
|
325
|
-
children: V.lastRefreshedAt ? C(new Date(V.lastRefreshedAt), { addSuffix: !0 }) : "Never"
|
|
326
|
-
})]
|
|
327
|
-
}),
|
|
328
|
-
/* @__PURE__ */ S("div", {
|
|
329
|
-
className: "flex justify-between items-center",
|
|
330
|
-
children: [/* @__PURE__ */ x("dt", {
|
|
331
|
-
className: "text-text-secondary",
|
|
332
|
-
children: "Created"
|
|
333
|
-
}), /* @__PURE__ */ x("dd", {
|
|
334
|
-
className: "text-text-primary font-medium",
|
|
335
|
-
children: C(new Date(V.createdAt), { addSuffix: !0 })
|
|
336
|
-
})]
|
|
429
|
+
/* @__PURE__ */ v(g, {
|
|
430
|
+
variant: "secondary",
|
|
431
|
+
size: "sm",
|
|
432
|
+
disabled: !Le || P,
|
|
433
|
+
onClick: () => void X(z + R, R),
|
|
434
|
+
children: C("bigconsole.dataSinks.view.next", "Next")
|
|
337
435
|
})
|
|
338
436
|
]
|
|
339
|
-
}) })]
|
|
340
|
-
}),
|
|
341
|
-
V.fluidGridsWorkflowId && /* @__PURE__ */ x(ce, {
|
|
342
|
-
workflowId: V.fluidGridsWorkflowId,
|
|
343
|
-
executionId: V.fluidGridsWorkflowExecutionId || void 0,
|
|
344
|
-
lastRefreshedAt: V.lastRefreshedAt || void 0,
|
|
345
|
-
setupState: V.setupState,
|
|
346
|
-
status: V.status,
|
|
347
|
-
onRerunWorkflow: Y,
|
|
348
|
-
disabled: D,
|
|
349
|
-
isRerunning: D
|
|
350
|
-
}),
|
|
351
|
-
/* @__PURE__ */ x(oe, { workflowLinks: V.workflowLinks }),
|
|
352
|
-
/* @__PURE__ */ x(se, { dataSinkKey: V.key })
|
|
353
|
-
]
|
|
354
|
-
}),
|
|
355
|
-
/* @__PURE__ */ S(Ce, { children: [
|
|
356
|
-
/* @__PURE__ */ S(v, {
|
|
357
|
-
className: "flex flex-row items-center justify-between space-y-0",
|
|
358
|
-
children: [/* @__PURE__ */ S(y, {
|
|
359
|
-
className: "flex items-center gap-2",
|
|
360
|
-
children: [/* @__PURE__ */ x(p, { className: "w-4 h-4 text-text-secondary" }), "Data Preview"]
|
|
361
|
-
}), /* @__PURE__ */ S("div", {
|
|
362
|
-
className: "flex items-center gap-2",
|
|
363
|
-
children: [T && /* @__PURE__ */ S("div", {
|
|
364
|
-
className: "flex items-center border border-border-default rounded-md overflow-hidden",
|
|
365
|
-
children: [/* @__PURE__ */ x("button", {
|
|
366
|
-
type: "button",
|
|
367
|
-
onClick: () => L("table"),
|
|
368
|
-
className: `p-1.5 ${I === "table" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
|
|
369
|
-
title: "Table view",
|
|
370
|
-
children: /* @__PURE__ */ x(be, { className: "w-4 h-4" })
|
|
371
|
-
}), /* @__PURE__ */ x("button", {
|
|
372
|
-
type: "button",
|
|
373
|
-
onClick: () => L("json"),
|
|
374
|
-
className: `p-1.5 ${I === "json" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
|
|
375
|
-
title: "JSON view",
|
|
376
|
-
children: /* @__PURE__ */ x(he, { className: "w-4 h-4" })
|
|
377
|
-
})]
|
|
378
|
-
}), /* @__PURE__ */ x(g, {
|
|
379
|
-
onClick: Z,
|
|
380
|
-
disabled: P,
|
|
381
|
-
variant: T ? "secondary" : "default",
|
|
382
|
-
size: "sm",
|
|
383
|
-
children: P ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(m, { className: "w-4 h-4 mr-2 animate-spin" }), "Loading..."] }) : T ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(ye, { className: "w-4 h-4 mr-2" }), "Hide Data"] }) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(ve, { className: "w-4 h-4 mr-2" }), "Show Data"] })
|
|
384
|
-
})]
|
|
385
|
-
})]
|
|
386
|
-
}),
|
|
387
|
-
T && N && /* @__PURE__ */ S(_, { children: [x(I === "table" ? ee : ae, {
|
|
388
|
-
data: N,
|
|
389
|
-
maxHeight: "400px"
|
|
390
|
-
}), B !== null && /* @__PURE__ */ S("div", {
|
|
391
|
-
className: "flex items-center justify-between gap-4 mt-4 pt-4 border-t border-border-subtle",
|
|
392
|
-
children: [/* @__PURE__ */ S("div", {
|
|
393
|
-
className: "flex items-center gap-2 text-body-sm text-text-secondary",
|
|
394
|
-
children: [/* @__PURE__ */ x("span", { children: "Rows per page" }), /* @__PURE__ */ x("select", {
|
|
395
|
-
"aria-label": "Rows per page",
|
|
396
|
-
className: "bg-bg-canvas border border-border-default rounded px-2 py-0.5 text-text-primary",
|
|
397
|
-
value: R,
|
|
398
|
-
onChange: (e) => He(Number(e.target.value)),
|
|
399
|
-
children: [
|
|
400
|
-
100,
|
|
401
|
-
500,
|
|
402
|
-
1e3
|
|
403
|
-
].map((e) => /* @__PURE__ */ x("option", {
|
|
404
|
-
value: e,
|
|
405
|
-
children: e
|
|
406
|
-
}, e))
|
|
407
437
|
})]
|
|
408
|
-
}), /* @__PURE__ */
|
|
409
|
-
className: "flex items-center gap-
|
|
438
|
+
})] }), !T && (V.data && Object.keys(V.data).length > 0 ? /* @__PURE__ */ y("p", {
|
|
439
|
+
className: "flex items-center gap-icon-gap text-sm text-text-secondary",
|
|
440
|
+
children: [/* @__PURE__ */ v(p, {
|
|
441
|
+
"aria-hidden": "true",
|
|
442
|
+
className: "h-icon-sm w-icon-sm shrink-0 text-text-muted"
|
|
443
|
+
}), C("bigconsole.dataSinks.view.showDataHint", "Click \"Show Data\" to preview the cached data.")]
|
|
444
|
+
}) : /* @__PURE__ */ y("div", {
|
|
445
|
+
className: "flex flex-col items-center gap-form-gap py-form-gap text-center",
|
|
410
446
|
children: [
|
|
411
|
-
/* @__PURE__ */
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
size: "sm",
|
|
415
|
-
disabled: z === 0 || P,
|
|
416
|
-
onClick: () => void X(Math.max(0, z - R), R),
|
|
417
|
-
children: "Previous"
|
|
447
|
+
/* @__PURE__ */ v(p, {
|
|
448
|
+
"aria-hidden": "true",
|
|
449
|
+
className: "h-icon-lg w-icon-lg text-text-muted"
|
|
418
450
|
}),
|
|
419
|
-
/* @__PURE__ */
|
|
420
|
-
|
|
451
|
+
/* @__PURE__ */ v("p", {
|
|
452
|
+
className: "text-sm text-text-secondary",
|
|
453
|
+
children: C("bigconsole.dataSinks.view.noDataYet", "This data sink has no data yet. Upload a CSV or build a workflow to import data.")
|
|
454
|
+
}),
|
|
455
|
+
/* @__PURE__ */ y(g, {
|
|
456
|
+
onClick: $,
|
|
457
|
+
variant: "default",
|
|
421
458
|
size: "sm",
|
|
422
|
-
|
|
423
|
-
onClick: () => void X(z + R, R),
|
|
424
|
-
children: "Next"
|
|
459
|
+
children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
|
|
425
460
|
})
|
|
426
461
|
]
|
|
427
|
-
})]
|
|
428
|
-
})]
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
children: [/* @__PURE__ */ x(p, { className: "w-10 h-10 text-text-tertiary mx-auto mb-4" }), /* @__PURE__ */ x("p", {
|
|
432
|
-
className: "text-body-sm text-text-secondary",
|
|
433
|
-
children: "Click \"Show Data\" to preview the cached data."
|
|
434
|
-
})]
|
|
435
|
-
}) : /* @__PURE__ */ S(_, {
|
|
436
|
-
className: "text-center p-8",
|
|
437
|
-
children: [
|
|
438
|
-
/* @__PURE__ */ x(p, { className: "w-10 h-10 text-text-tertiary mx-auto mb-4" }),
|
|
439
|
-
/* @__PURE__ */ x("p", {
|
|
440
|
-
className: "text-body-sm text-text-secondary mb-4",
|
|
441
|
-
children: "This data sink has no data yet. Upload a CSV or build a workflow to import data."
|
|
442
|
-
}),
|
|
443
|
-
/* @__PURE__ */ S(g, {
|
|
444
|
-
onClick: $,
|
|
445
|
-
variant: "default",
|
|
446
|
-
size: "sm",
|
|
447
|
-
children: [/* @__PURE__ */ x(h, { className: "w-4 h-4 mr-2" }), "Import Data"]
|
|
448
|
-
})
|
|
449
|
-
]
|
|
450
|
-
}))
|
|
451
|
-
] }),
|
|
452
|
-
/* @__PURE__ */ x(le, {
|
|
462
|
+
}))]
|
|
463
|
+
})]
|
|
464
|
+
}),
|
|
465
|
+
/* @__PURE__ */ v(ue, {
|
|
453
466
|
isOpen: je,
|
|
454
|
-
dataSinkId:
|
|
467
|
+
dataSinkId: c || null,
|
|
455
468
|
dataSinkName: V.name || V.key,
|
|
456
469
|
onClose: Ue
|
|
457
470
|
}),
|
|
458
|
-
/* @__PURE__ */
|
|
471
|
+
/* @__PURE__ */ v(de, {
|
|
459
472
|
isOpen: Me,
|
|
460
473
|
dataSinkName: V.name || V.key,
|
|
461
474
|
hasExistingData: !!(V.data && Object.keys(V.data).length > 0),
|
|
@@ -464,22 +477,22 @@ var w = s(function() {
|
|
|
464
477
|
onImportCsv: Ke
|
|
465
478
|
})
|
|
466
479
|
]
|
|
467
|
-
}) : /* @__PURE__ */
|
|
468
|
-
className: "flex items-center justify-center
|
|
469
|
-
children: /* @__PURE__ */
|
|
480
|
+
}) : /* @__PURE__ */ v("div", {
|
|
481
|
+
className: "flex min-h-[240px] items-center justify-center p-card-padding",
|
|
482
|
+
children: /* @__PURE__ */ v(Ee, {
|
|
470
483
|
illustration: "empty-data",
|
|
471
|
-
title: "DataSink not found",
|
|
472
|
-
description: "The DataSink you're looking for doesn't exist or has been deleted.",
|
|
473
|
-
action: /* @__PURE__ */
|
|
484
|
+
title: C("bigconsole.dataSinks.view.notFoundTitle", "DataSink not found"),
|
|
485
|
+
description: C("bigconsole.dataSinks.view.notFoundDescription", "The DataSink you're looking for doesn't exist or has been deleted."),
|
|
486
|
+
action: /* @__PURE__ */ y(g, {
|
|
474
487
|
onClick: J,
|
|
475
488
|
variant: "default",
|
|
476
489
|
size: "default",
|
|
477
|
-
children: [/* @__PURE__ */
|
|
490
|
+
children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.goBackToDataSinks", "Go back to DataSinks")]
|
|
478
491
|
})
|
|
479
492
|
})
|
|
480
493
|
});
|
|
481
494
|
});
|
|
482
495
|
//#endregion
|
|
483
|
-
export {
|
|
496
|
+
export { S as DataSinkViewPage, S as default };
|
|
484
497
|
|
|
485
498
|
//# sourceMappingURL=DataSinkViewPage.js.map
|