@sqlrooms/mosaic 0.29.0-rc.7 → 0.29.0-rc.9
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/LICENSE.md +2 -1
- package/README.md +179 -35
- package/dist/MosaicSlice.d.ts +1 -0
- package/dist/MosaicSlice.d.ts.map +1 -1
- package/dist/MosaicSlice.js.map +1 -1
- package/dist/VgPlotChart.d.ts.map +1 -1
- package/dist/VgPlotChart.js +9 -3
- package/dist/VgPlotChart.js.map +1 -1
- package/dist/ai/agentIntent.d.ts +5 -0
- package/dist/ai/agentIntent.d.ts.map +1 -0
- package/dist/ai/agentIntent.js +8 -0
- package/dist/ai/agentIntent.js.map +1 -0
- package/dist/ai/block-document/constants.d.ts +9 -0
- package/dist/ai/block-document/constants.d.ts.map +1 -0
- package/dist/ai/block-document/constants.js +9 -0
- package/dist/ai/block-document/constants.js.map +1 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts +48 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.d.ts.map +1 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js +59 -0
- package/dist/ai/block-document/createAddMosaicDashboardBlockTool.js.map +1 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.d.ts +19 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.d.ts.map +1 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.js +37 -0
- package/dist/ai/block-document/createBlockDocumentChartTools.js.map +1 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts +32 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js +37 -0
- package/dist/ai/block-document/createBlockDocumentDataTableExplorerTool.js.map +1 -0
- package/dist/ai/constants.d.ts +3 -0
- package/dist/ai/constants.d.ts.map +1 -0
- package/dist/ai/constants.js +3 -0
- package/dist/ai/constants.js.map +1 -0
- package/dist/ai/createDataTableExplorerTool.d.ts +69 -0
- package/dist/ai/createDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/createDataTableExplorerTool.js +68 -0
- package/dist/ai/createDataTableExplorerTool.js.map +1 -0
- package/dist/ai/dashboard/constants.d.ts +6 -0
- package/dist/ai/dashboard/constants.d.ts.map +1 -0
- package/dist/ai/dashboard/constants.js +6 -0
- package/dist/ai/dashboard/constants.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAgentTool.d.ts +17 -0
- package/dist/ai/dashboard/createDashboardAgentTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAgentTool.js +205 -0
- package/dist/ai/dashboard/createDashboardAgentTool.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.d.ts +14 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.js +75 -0
- package/dist/ai/dashboard/createDashboardAiAdapter.js.map +1 -0
- package/dist/ai/dashboard/createDashboardAiTools.d.ts +26 -0
- package/dist/ai/dashboard/createDashboardAiTools.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardAiTools.js +40 -0
- package/dist/ai/dashboard/createDashboardAiTools.js.map +1 -0
- package/dist/ai/dashboard/createDashboardChartTools.d.ts +27 -0
- package/dist/ai/dashboard/createDashboardChartTools.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardChartTools.js +55 -0
- package/dist/ai/dashboard/createDashboardChartTools.js.map +1 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts +23 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js +29 -0
- package/dist/ai/dashboard/createDashboardDataTableExplorerTool.js.map +1 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts +28 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.d.ts.map +1 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.js +54 -0
- package/dist/ai/dashboard/createListDashboardPanelsTool.js.map +1 -0
- package/dist/ai/dashboard/dashboard-types.d.ts +59 -0
- package/dist/ai/dashboard/dashboard-types.d.ts.map +1 -0
- package/dist/ai/dashboard/dashboard-types.js +2 -0
- package/dist/ai/dashboard/dashboard-types.js.map +1 -0
- package/dist/ai/database-types.d.ts +12 -0
- package/dist/ai/database-types.d.ts.map +1 -0
- package/dist/ai/database-types.js +2 -0
- package/dist/ai/database-types.js.map +1 -0
- package/dist/ai/errors.d.ts +8 -0
- package/dist/ai/errors.d.ts.map +1 -0
- package/dist/ai/errors.js +11 -0
- package/dist/ai/errors.js.map +1 -0
- package/dist/ai/tool-helpers.d.ts +28 -29
- package/dist/ai/tool-helpers.d.ts.map +1 -1
- package/dist/ai/tool-helpers.js +38 -76
- package/dist/ai/tool-helpers.js.map +1 -1
- package/dist/ai/tool-schemas.d.ts +9 -4
- package/dist/ai/tool-schemas.d.ts.map +1 -1
- package/dist/ai/tool-schemas.js +12 -12
- package/dist/ai/tool-schemas.js.map +1 -1
- package/dist/ai/tool-types.d.ts +19 -1
- package/dist/ai/tool-types.d.ts.map +1 -1
- package/dist/ai/tool-types.js.map +1 -1
- package/dist/ai/types.d.ts +64 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai.d.ts +16 -2
- package/dist/ai.d.ts.map +1 -1
- package/dist/ai.js +14 -5
- package/dist/ai.js.map +1 -1
- package/dist/charts/MosaicChart.d.ts +3 -1
- package/dist/charts/MosaicChart.d.ts.map +1 -1
- package/dist/charts/MosaicChart.js +2 -2
- package/dist/charts/MosaicChart.js.map +1 -1
- package/dist/charts/MosaicChartError.d.ts +8 -2
- package/dist/charts/MosaicChartError.d.ts.map +1 -1
- package/dist/charts/MosaicChartError.js +29 -3
- package/dist/charts/MosaicChartError.js.map +1 -1
- package/dist/charts/MosaicChartSettingsButton.d.ts +15 -0
- package/dist/charts/MosaicChartSettingsButton.d.ts.map +1 -0
- package/dist/charts/MosaicChartSettingsButton.js +7 -0
- package/dist/charts/MosaicChartSettingsButton.js.map +1 -0
- package/dist/charts/MosaicChartView.d.ts +2 -0
- package/dist/charts/MosaicChartView.d.ts.map +1 -1
- package/dist/charts/MosaicChartView.js +19 -7
- package/dist/charts/MosaicChartView.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSettings.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSettings.js +3 -3
- package/dist/charts/chart-settings/MosaicChartSettings.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSettingsPanel.js +1 -1
- package/dist/charts/chart-settings/MosaicChartSettingsPanel.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js +2 -1
- package/dist/charts/chart-settings/MosaicChartSpecViewerPanel.js.map +1 -1
- package/dist/charts/chart-settings/MosaicChartTypeSelector.d.ts.map +1 -1
- package/dist/charts/chart-settings/MosaicChartTypeSelector.js +3 -3
- package/dist/charts/chart-settings/MosaicChartTypeSelector.js.map +1 -1
- package/dist/charts/chart-types/base-types.d.ts +40 -25
- package/dist/charts/chart-types/base-types.d.ts.map +1 -1
- package/dist/charts/chart-types/base-types.js +5 -0
- package/dist/charts/chart-types/base-types.js.map +1 -1
- package/dist/charts/chart-types/box-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/definition.js +1 -0
- package/dist/charts/chart-types/box-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts +37 -3
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js +28 -13
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotClient.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js +2 -2
- package/dist/charts/chart-types/box-plot/renderer/BoxPlotPanelRenderer.js.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts +12 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js +13 -3
- package/dist/charts/chart-types/box-plot/renderer/useBoxPlotClient.js.map +1 -1
- package/dist/charts/chart-types/box-plot/tool.d.ts +20 -24
- package/dist/charts/chart-types/box-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/box-plot/tool.js +25 -33
- package/dist/charts/chart-types/box-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/box-plot/validation.d.ts +9 -0
- package/dist/charts/chart-types/box-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/box-plot/validation.js +32 -0
- package/dist/charts/chart-types/box-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/chart-config.d.ts +3 -1
- package/dist/charts/chart-types/chart-config.d.ts.map +1 -1
- package/dist/charts/chart-types/chart-config.js +2 -2
- package/dist/charts/chart-types/chart-config.js.map +1 -1
- package/dist/charts/chart-types/column-types.d.ts +8 -0
- package/dist/charts/chart-types/column-types.d.ts.map +1 -0
- package/dist/charts/chart-types/column-types.js +2 -0
- package/dist/charts/chart-types/column-types.js.map +1 -0
- package/dist/charts/chart-types/count-plot/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/definition.js +1 -0
- package/dist/charts/chart-types/count-plot/definition.js.map +1 -1
- package/dist/charts/chart-types/count-plot/spec.d.ts +2 -1
- package/dist/charts/chart-types/count-plot/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/spec.js +47 -34
- package/dist/charts/chart-types/count-plot/spec.js.map +1 -1
- package/dist/charts/chart-types/count-plot/tool.d.ts +19 -24
- package/dist/charts/chart-types/count-plot/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/count-plot/tool.js +26 -33
- package/dist/charts/chart-types/count-plot/tool.js.map +1 -1
- package/dist/charts/chart-types/count-plot/validation.d.ts +8 -0
- package/dist/charts/chart-types/count-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/count-plot/validation.js +20 -0
- package/dist/charts/chart-types/count-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/createChartInstructions.d.ts +3 -0
- package/dist/charts/chart-types/createChartInstructions.d.ts.map +1 -0
- package/dist/charts/chart-types/createChartInstructions.js +12 -0
- package/dist/charts/chart-types/createChartInstructions.js.map +1 -0
- package/dist/charts/chart-types/createChartTools.d.ts +15 -9
- package/dist/charts/chart-types/createChartTools.d.ts.map +1 -1
- package/dist/charts/chart-types/createChartTools.js +16 -10
- package/dist/charts/chart-types/createChartTools.js.map +1 -1
- package/dist/charts/chart-types/createDefaultChartTypes.js +2 -2
- package/dist/charts/chart-types/createDefaultChartTypes.js.map +1 -1
- package/dist/charts/chart-types/custom-spec/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/custom-spec/definition.js +1 -0
- package/dist/charts/chart-types/custom-spec/definition.js.map +1 -1
- package/dist/charts/chart-types/custom-spec/spec.d.ts +2 -1
- package/dist/charts/chart-types/custom-spec/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/custom-spec/spec.js +16 -12
- package/dist/charts/chart-types/custom-spec/spec.js.map +1 -1
- package/dist/charts/chart-types/errors.d.ts +35 -0
- package/dist/charts/chart-types/errors.d.ts.map +1 -1
- package/dist/charts/chart-types/errors.js +56 -0
- package/dist/charts/chart-types/errors.js.map +1 -1
- package/dist/charts/chart-types/heatmap/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/definition.js +1 -0
- package/dist/charts/chart-types/heatmap/definition.js.map +1 -1
- package/dist/charts/chart-types/heatmap/spec.d.ts +2 -1
- package/dist/charts/chart-types/heatmap/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/spec.js +21 -21
- package/dist/charts/chart-types/heatmap/spec.js.map +1 -1
- package/dist/charts/chart-types/heatmap/tool.d.ts +20 -24
- package/dist/charts/chart-types/heatmap/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/heatmap/tool.js +27 -37
- package/dist/charts/chart-types/heatmap/tool.js.map +1 -1
- package/dist/charts/chart-types/heatmap/validation.d.ts +9 -0
- package/dist/charts/chart-types/heatmap/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/heatmap/validation.js +34 -0
- package/dist/charts/chart-types/heatmap/validation.js.map +1 -0
- package/dist/charts/chart-types/histogram/HistogramSettings.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/HistogramSettings.js +3 -1
- package/dist/charts/chart-types/histogram/HistogramSettings.js.map +1 -1
- package/dist/charts/chart-types/histogram/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/definition.js +1 -0
- package/dist/charts/chart-types/histogram/definition.js.map +1 -1
- package/dist/charts/chart-types/histogram/schema.d.ts +2 -0
- package/dist/charts/chart-types/histogram/schema.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/schema.js +1 -0
- package/dist/charts/chart-types/histogram/schema.js.map +1 -1
- package/dist/charts/chart-types/histogram/spec.d.ts +2 -1
- package/dist/charts/chart-types/histogram/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/spec.js +31 -28
- package/dist/charts/chart-types/histogram/spec.js.map +1 -1
- package/dist/charts/chart-types/histogram/tool.d.ts +39 -24
- package/dist/charts/chart-types/histogram/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/histogram/tool.js +39 -33
- package/dist/charts/chart-types/histogram/tool.js.map +1 -1
- package/dist/charts/chart-types/histogram/validation.d.ts +9 -0
- package/dist/charts/chart-types/histogram/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/histogram/validation.js +22 -0
- package/dist/charts/chart-types/histogram/validation.js.map +1 -0
- package/dist/charts/chart-types/index.d.ts +5 -11
- package/dist/charts/chart-types/index.d.ts.map +1 -1
- package/dist/charts/chart-types/index.js +6 -12
- package/dist/charts/chart-types/index.js.map +1 -1
- package/dist/charts/chart-types/line-chart/LineChartSettings.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/LineChartSettings.js +4 -13
- package/dist/charts/chart-types/line-chart/LineChartSettings.js.map +1 -1
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.d.ts +7 -0
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.js +22 -0
- package/dist/charts/chart-types/line-chart/LineChartXFieldSelector.js.map +1 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.d.ts +7 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.js +42 -0
- package/dist/charts/chart-types/line-chart/LineChartYFieldsSelector.js.map +1 -0
- package/dist/charts/chart-types/line-chart/definition.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/definition.js +1 -0
- package/dist/charts/chart-types/line-chart/definition.js.map +1 -1
- package/dist/charts/chart-types/line-chart/schema.d.ts +2 -0
- package/dist/charts/chart-types/line-chart/schema.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/schema.js +5 -0
- package/dist/charts/chart-types/line-chart/schema.js.map +1 -1
- package/dist/charts/chart-types/line-chart/spec.d.ts +2 -1
- package/dist/charts/chart-types/line-chart/spec.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/spec.js +56 -65
- package/dist/charts/chart-types/line-chart/spec.js.map +1 -1
- package/dist/charts/chart-types/line-chart/tool.d.ts +28 -24
- package/dist/charts/chart-types/line-chart/tool.d.ts.map +1 -1
- package/dist/charts/chart-types/line-chart/tool.js +27 -39
- package/dist/charts/chart-types/line-chart/tool.js.map +1 -1
- package/dist/charts/chart-types/line-chart/utils.d.ts +7 -0
- package/dist/charts/chart-types/line-chart/utils.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/utils.js +17 -0
- package/dist/charts/chart-types/line-chart/utils.js.map +1 -0
- package/dist/charts/chart-types/line-chart/validation.d.ts +16 -0
- package/dist/charts/chart-types/line-chart/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/line-chart/validation.js +43 -0
- package/dist/charts/chart-types/line-chart/validation.js.map +1 -0
- package/dist/charts/chart-types/mosaicChartTypes.d.ts +4 -2
- package/dist/charts/chart-types/mosaicChartTypes.d.ts.map +1 -1
- package/dist/charts/chart-types/mosaicChartTypes.js +2 -2
- package/dist/charts/chart-types/mosaicChartTypes.js.map +1 -1
- package/dist/charts/chart-types/resolveChartTypes.d.ts +3 -0
- package/dist/charts/chart-types/resolveChartTypes.d.ts.map +1 -0
- package/dist/charts/chart-types/resolveChartTypes.js +8 -0
- package/dist/charts/chart-types/resolveChartTypes.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.d.ts +3 -0
- package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.d.ts.map +1 -0
- package/dist/charts/chart-types/{bubble-chart/BubbleChartSettings.js → scatter-plot/ScatterPlotSettings.js} +4 -4
- package/dist/charts/chart-types/scatter-plot/ScatterPlotSettings.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/definition.d.ts +4 -0
- package/dist/charts/chart-types/scatter-plot/definition.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/definition.js +25 -0
- package/dist/charts/chart-types/scatter-plot/definition.js.map +1 -0
- package/dist/charts/chart-types/{bubble-chart → scatter-plot}/schema.d.ts +5 -5
- package/dist/charts/chart-types/scatter-plot/schema.d.ts.map +1 -0
- package/dist/charts/chart-types/{bubble-chart → scatter-plot}/schema.js +5 -5
- package/dist/charts/chart-types/scatter-plot/schema.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/spec.d.ts +5 -0
- package/dist/charts/chart-types/scatter-plot/spec.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/spec.js +37 -0
- package/dist/charts/chart-types/scatter-plot/spec.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/tool.d.ts +39 -0
- package/dist/charts/chart-types/scatter-plot/tool.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/tool.js +57 -0
- package/dist/charts/chart-types/scatter-plot/tool.js.map +1 -0
- package/dist/charts/chart-types/scatter-plot/validation.d.ts +13 -0
- package/dist/charts/chart-types/scatter-plot/validation.d.ts.map +1 -0
- package/dist/charts/chart-types/scatter-plot/validation.js +52 -0
- package/dist/charts/chart-types/scatter-plot/validation.js.map +1 -0
- package/dist/charts/chart-types/tool-types.d.ts +43 -0
- package/dist/charts/chart-types/tool-types.d.ts.map +1 -0
- package/dist/charts/chart-types/tool-types.js +2 -0
- package/dist/charts/chart-types/tool-types.js.map +1 -0
- package/dist/charts/chart-types/utils.d.ts +3 -0
- package/dist/charts/chart-types/utils.d.ts.map +1 -0
- package/dist/charts/chart-types/utils.js +4 -0
- package/dist/charts/chart-types/utils.js.map +1 -0
- package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.d.ts.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js +12 -5
- package/dist/charts/dashboard/MosaicDashboardChartHeaderActions.js.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.d.ts.map +1 -1
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.js +6 -4
- package/dist/charts/dashboard/MosaicDashboardChartRenderer.js.map +1 -1
- package/dist/charts/useChartDataPolicy.d.ts.map +1 -1
- package/dist/charts/useChartDataPolicy.js +2 -1
- package/dist/charts/useChartDataPolicy.js.map +1 -1
- package/dist/charts/useChartPanelClients.d.ts +8 -0
- package/dist/charts/useChartPanelClients.d.ts.map +1 -0
- package/dist/charts/useChartPanelClients.js +22 -0
- package/dist/charts/useChartPanelClients.js.map +1 -0
- package/dist/charts/useMosaicChartRenderContext.d.ts +2 -3
- package/dist/charts/useMosaicChartRenderContext.d.ts.map +1 -1
- package/dist/charts/useMosaicChartRenderContext.js +15 -15
- package/dist/charts/useMosaicChartRenderContext.js.map +1 -1
- package/dist/charts/worksheet/ChartBlockHeader.d.ts.map +1 -1
- package/dist/charts/worksheet/ChartBlockHeader.js +4 -3
- package/dist/charts/worksheet/ChartBlockHeader.js.map +1 -1
- package/dist/charts/worksheet/ChartBlockRenderer.d.ts.map +1 -1
- package/dist/charts/worksheet/ChartBlockRenderer.js +3 -13
- package/dist/charts/worksheet/ChartBlockRenderer.js.map +1 -1
- package/dist/column-types-utils.d.ts.map +1 -1
- package/dist/column-types-utils.js +12 -4
- package/dist/column-types-utils.js.map +1 -1
- package/dist/components/AggregationSelector.d.ts.map +1 -1
- package/dist/components/AggregationSelector.js +9 -2
- package/dist/components/AggregationSelector.js.map +1 -1
- package/dist/components/BlockCaptionEditor.d.ts +20 -0
- package/dist/components/BlockCaptionEditor.d.ts.map +1 -0
- package/dist/components/BlockCaptionEditor.js +15 -0
- package/dist/components/BlockCaptionEditor.js.map +1 -0
- package/dist/components/ColorSelector.d.ts +12 -0
- package/dist/components/ColorSelector.d.ts.map +1 -0
- package/dist/components/ColorSelector.js +13 -0
- package/dist/components/ColorSelector.js.map +1 -0
- package/dist/components/ColumnSelector.d.ts +1 -0
- package/dist/components/ColumnSelector.d.ts.map +1 -1
- package/dist/components/ColumnSelector.js +2 -2
- package/dist/components/ColumnSelector.js.map +1 -1
- package/dist/components/FieldSelectorInput.d.ts +1 -0
- package/dist/components/FieldSelectorInput.d.ts.map +1 -1
- package/dist/components/FieldSelectorInput.js +4 -9
- package/dist/components/FieldSelectorInput.js.map +1 -1
- package/dist/components/MultiFieldSelector.d.ts +4 -1
- package/dist/components/MultiFieldSelector.d.ts.map +1 -1
- package/dist/components/MultiFieldSelector.js +4 -13
- package/dist/components/MultiFieldSelector.js.map +1 -1
- package/dist/components/TemporalGranularitySelector.d.ts.map +1 -1
- package/dist/components/TemporalGranularitySelector.js +13 -9
- package/dist/components/TemporalGranularitySelector.js.map +1 -1
- package/dist/constants/chart-colors.d.ts +3 -0
- package/dist/constants/chart-colors.d.ts.map +1 -0
- package/dist/constants/chart-colors.js +5 -0
- package/dist/constants/chart-colors.js.map +1 -0
- package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts +2 -1
- package/dist/dashboard/DefaultMosaicDashboardBlock.d.ts.map +1 -1
- package/dist/dashboard/DefaultMosaicDashboardBlock.js +1 -1
- package/dist/dashboard/DefaultMosaicDashboardBlock.js.map +1 -1
- package/dist/dashboard/MosaicDashboardCommands.d.ts +19 -0
- package/dist/dashboard/MosaicDashboardCommands.d.ts.map +1 -0
- package/dist/dashboard/MosaicDashboardCommands.js +226 -0
- package/dist/dashboard/MosaicDashboardCommands.js.map +1 -0
- package/dist/dashboard/MosaicDashboardSlice.d.ts +22 -4
- package/dist/dashboard/MosaicDashboardSlice.d.ts.map +1 -1
- package/dist/dashboard/MosaicDashboardSlice.js +55 -0
- package/dist/dashboard/MosaicDashboardSlice.js.map +1 -1
- package/dist/dashboard/components/ResetFiltersButton.d.ts +14 -0
- package/dist/dashboard/components/ResetFiltersButton.d.ts.map +1 -0
- package/dist/dashboard/components/ResetFiltersButton.js +15 -0
- package/dist/dashboard/components/ResetFiltersButton.js.map +1 -0
- package/dist/dashboard/dashboard-types.d.ts +9 -3
- package/dist/dashboard/dashboard-types.d.ts.map +1 -1
- package/dist/dashboard/dashboard-types.js.map +1 -1
- package/dist/dashboard/hooks/useDashboardResetFilters.d.ts +14 -0
- package/dist/dashboard/hooks/useDashboardResetFilters.d.ts.map +1 -0
- package/dist/dashboard/hooks/useDashboardResetFilters.js +39 -0
- package/dist/dashboard/hooks/useDashboardResetFilters.js.map +1 -0
- package/dist/dashboard/hooks/usePanelResetFilters.d.ts +16 -0
- package/dist/dashboard/hooks/usePanelResetFilters.d.ts.map +1 -0
- package/dist/dashboard/hooks/usePanelResetFilters.js +47 -0
- package/dist/dashboard/hooks/usePanelResetFilters.js.map +1 -0
- package/dist/dashboard/panel/MosaicDashboardPanel.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.js +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanel.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.js +3 -3
- package/dist/dashboard/panel/MosaicDashboardPanelLayout.js.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanels.d.ts.map +1 -1
- package/dist/dashboard/panel/MosaicDashboardPanels.js +4 -2
- package/dist/dashboard/panel/MosaicDashboardPanels.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js +3 -3
- package/dist/dashboard/toolbar/MosaicDashboardAddPanelDropdown.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts +7 -0
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.d.ts.map +1 -0
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js +18 -0
- package/dist/dashboard/toolbar/MosaicDashboardDataTableSelector.js.map +1 -0
- package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js +4 -32
- package/dist/dashboard/toolbar/MosaicDashboardResetFiltersButton.js.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts +2 -2
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.d.ts.map +1 -1
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.js +14 -10
- package/dist/dashboard/toolbar/MosaicDashboardToolbar.js.map +1 -1
- package/dist/dashboard/usePanelClientRegistration.d.ts +7 -0
- package/dist/dashboard/usePanelClientRegistration.d.ts.map +1 -0
- package/dist/dashboard/usePanelClientRegistration.js +30 -0
- package/dist/dashboard/usePanelClientRegistration.js.map +1 -0
- package/dist/dashboard/usePanelClients.d.ts +7 -0
- package/dist/dashboard/usePanelClients.d.ts.map +1 -0
- package/dist/dashboard/usePanelClients.js +13 -0
- package/dist/dashboard/usePanelClients.js.map +1 -0
- package/dist/dashboard/useSelectedOrFirstTable.d.ts +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.d.ts.map +1 -1
- package/dist/dashboard/useSelectedOrFirstTable.js +10 -8
- package/dist/dashboard/useSelectedOrFirstTable.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorer.d.ts +4 -2
- package/dist/data-table-explorer/DataTableExplorer.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorer.js +4 -4
- package/dist/data-table-explorer/DataTableExplorer.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.js +4 -3
- package/dist/data-table-explorer/DataTableExplorerCategoryClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts +3 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerCountClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerCountClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.js +4 -4
- package/dist/data-table-explorer/DataTableExplorerHistogramClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts +3 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.js +3 -1
- package/dist/data-table-explorer/DataTableExplorerPageClient.js.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts +3 -2
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.d.ts.map +1 -1
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js +3 -3
- package/dist/data-table-explorer/DataTableExplorerUnsupportedSummaryClient.js.map +1 -1
- package/dist/data-table-explorer/createDataTableExplorerStore.d.ts +3 -0
- package/dist/data-table-explorer/createDataTableExplorerStore.d.ts.map +1 -1
- package/dist/data-table-explorer/createDataTableExplorerStore.js +6 -0
- package/dist/data-table-explorer/createDataTableExplorerStore.js.map +1 -1
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.d.ts +4 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.d.ts.map +1 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.js +13 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerHeaderActions.js.map +1 -0
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.d.ts.map +1 -1
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js +26 -8
- package/dist/data-table-explorer/dashboard/MosaicDashboardDataTableExplorerPanelRenderer.js.map +1 -1
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.d.ts +13 -0
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.d.ts.map +1 -0
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.js +32 -0
- package/dist/data-table-explorer/dashboard/useDataTableExplorerPanelClients.js.map +1 -0
- package/dist/data-table-explorer/dataTableExplorerController.d.ts +63 -3
- package/dist/data-table-explorer/dataTableExplorerController.d.ts.map +1 -1
- package/dist/data-table-explorer/dataTableExplorerController.js +73 -10
- package/dist/data-table-explorer/dataTableExplorerController.js.map +1 -1
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.d.ts +12 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.js +19 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerColumns.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts +52 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js +153 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerLifecycles.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts +42 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js +43 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerQueryState.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.d.ts +13 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.js +40 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerSelection.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.d.ts +18 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.js +23 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStatus.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.d.ts +27 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.js +28 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerStoreState.js.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.d.ts +15 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.d.ts.map +1 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.js +21 -0
- package/dist/data-table-explorer/hooks/useDataTableExplorerVisiblePage.js.map +1 -0
- package/dist/data-table-explorer/types.d.ts +16 -3
- package/dist/data-table-explorer/types.d.ts.map +1 -1
- package/dist/data-table-explorer/types.js.map +1 -1
- package/dist/data-table-explorer/useDataTableExplorer.d.ts.map +1 -1
- package/dist/data-table-explorer/useDataTableExplorer.js +20 -279
- package/dist/data-table-explorer/useDataTableExplorer.js.map +1 -1
- package/dist/data-table-explorer/utils.d.ts +64 -6
- package/dist/data-table-explorer/utils.d.ts.map +1 -1
- package/dist/data-table-explorer/utils.js +58 -0
- package/dist/data-table-explorer/utils.js.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts +1 -0
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.d.ts.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js +4 -2
- package/dist/data-table-explorer/worksheet/DataTableBlockHeader.js.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.d.ts.map +1 -1
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js +4 -4
- package/dist/data-table-explorer/worksheet/DataTableBlockRenderer.js.map +1 -1
- package/dist/index.d.ts +55 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +86 -26
- package/dist/index.js.map +1 -1
- package/dist/mosaicTableReference.d.ts +59 -0
- package/dist/mosaicTableReference.d.ts.map +1 -0
- package/dist/mosaicTableReference.js +68 -0
- package/dist/mosaicTableReference.js.map +1 -0
- package/dist/useVgPlotChartRender.d.ts.map +1 -1
- package/dist/useVgPlotChartRender.js +151 -25
- package/dist/useVgPlotChartRender.js.map +1 -1
- package/dist/useVgPlotChartRetention.d.ts +11 -0
- package/dist/useVgPlotChartRetention.d.ts.map +1 -1
- package/dist/useVgPlotChartRetention.js.map +1 -1
- package/dist/utils/table-lookup.d.ts +7 -0
- package/dist/utils/table-lookup.d.ts.map +1 -0
- package/dist/utils/table-lookup.js +10 -0
- package/dist/utils/table-lookup.js.map +1 -0
- package/package.json +14 -14
- package/dist/ai/ai.d.ts +0 -103
- package/dist/ai/ai.d.ts.map +0 -1
- package/dist/ai/ai.js +0 -419
- package/dist/ai/ai.js.map +0 -1
- package/dist/ai/data-table-explorer-tool.d.ts +0 -40
- package/dist/ai/data-table-explorer-tool.d.ts.map +0 -1
- package/dist/ai/data-table-explorer-tool.js +0 -75
- package/dist/ai/data-table-explorer-tool.js.map +0 -1
- package/dist/ai/list-panels-tool.d.ts +0 -35
- package/dist/ai/list-panels-tool.d.ts.map +0 -1
- package/dist/ai/list-panels-tool.js +0 -66
- package/dist/ai/list-panels-tool.js.map +0 -1
- package/dist/ai/remove-panel-tool.d.ts +0 -31
- package/dist/ai/remove-panel-tool.d.ts.map +0 -1
- package/dist/ai/remove-panel-tool.js +0 -55
- package/dist/ai/remove-panel-tool.js.map +0 -1
- package/dist/ai/tool-validation.d.ts +0 -3
- package/dist/ai/tool-validation.d.ts.map +0 -1
- package/dist/ai/tool-validation.js +0 -11
- package/dist/ai/tool-validation.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts +0 -3
- package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/BubbleChartSettings.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/definition.d.ts +0 -4
- package/dist/charts/chart-types/bubble-chart/definition.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/definition.js +0 -24
- package/dist/charts/chart-types/bubble-chart/definition.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/schema.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/schema.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/spec.d.ts +0 -4
- package/dist/charts/chart-types/bubble-chart/spec.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/spec.js +0 -31
- package/dist/charts/chart-types/bubble-chart/spec.js.map +0 -1
- package/dist/charts/chart-types/bubble-chart/tool.d.ts +0 -42
- package/dist/charts/chart-types/bubble-chart/tool.d.ts.map +0 -1
- package/dist/charts/chart-types/bubble-chart/tool.js +0 -66
- package/dist/charts/chart-types/bubble-chart/tool.js.map +0 -1
- package/dist/hooks/useDataTable.d.ts +0 -3
- package/dist/hooks/useDataTable.d.ts.map +0 -1
- package/dist/hooks/useDataTable.js +0 -28
- package/dist/hooks/useDataTable.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataTableExplorerController.js","sourceRoot":"","sources":["../../src/data-table-explorer/dataTableExplorerController.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EACL,+BAA+B,EAC/B,oCAAoC,GACrC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,4BAA4B,EAAC,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EACL,gCAAgC,EAChC,qCAAqC,GACtC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAC,yCAAyC,EAAC,MAAM,6CAA6C,CAAC;AAMtG,OAAO,EACL,iCAAiC,EACjC,6BAA6B,EAC7B,gCAAgC,EAChC,yCAAyC,GAC1C,MAAM,SAAS,CAAC;AAEjB,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAKjD;IACC,MAAM,EAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IACzD,KAAK,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,WAAW,EACX,OAAO,EAAE,MAAM;YACb,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAC,CAAC,CACtC,CAAC;QACF,KAAK;aACF,QAAQ,EAAE;aACV,gBAAgB,CACf,SAAS,CAAC,GAAG,CAAC,iCAAiC,CAAC,EAChD,SAAS,CACV,CAAC;IACN,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,KAAK,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACjD,KAAK,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,OAQlD;IACC,MAAM,MAAM,GAAG,IAAI,2BAA2B,CAAC;QAC7C,OAAO,EAAE,OAAO,CAAC,UAAU;QAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mCAAmC,CAAC,OAOnD;IACC,MAAM,aAAa,GACjB,OAAO,CAAC,MAAM,KAAK,UAAU;QAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,gBAAgB;QAC3C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC;IAE7C,MAAM,MAAM,GAAG,IAAI,4BAA4B,CAAC;QAC9C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,aAAa,EAAE,aAAa;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,OAAO,GAAG,EAAE;QACV,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sCAAsC,CAAC,OAQtD;IACC,MAAM,EACJ,aAAa,EACb,UAAU,EACV,MAAM,EACN,SAAS,EACT,KAAK,EACL,WAAW,EACX,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,KAAK,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAmB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAkB,EAAE;QACvE,MAAM,MAAM,GAAG,CAAC,OAAsC,EAAE,EAAE;YACxD,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;QAEF,IAAI,yCAAyC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO;gBACL,IAAI,yCAAyC,CAAC;oBAC5C,KAAK;oBACL,aAAa,EAAE,MAAM;oBACrB,SAAS;oBACT,SAAS;iBACV,CAAC;aACH,CAAC;QACJ,CAAC;QAED,IAAI,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,IAAI,gCAAgC,CAAC;gBACzD,KAAK;gBACL,aAAa,EAAE,MAAM;gBACrB,SAAS;gBACT,KAAK,EAAE,WAAW;gBAClB,SAAS;gBACT,SAAS,EACP,6BAA6B,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM;oBAClD,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,QAAQ;aACf,CAAC,CAAC;YAEH,OAAO;gBACL,aAAa;gBACb,IAAI,qCAAqC,CAAC;oBACxC,aAAa;iBACd,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,+BAA+B,CAAC;YACxD,aAAa;YACb,KAAK;YACL,aAAa,EAAE,MAAM;YACrB,SAAS;YACT,SAAS;SACV,CAAC,CAAC;QAEH,OAAO;YACL,aAAa;YACb,IAAI,oCAAoC,CAAC;gBACvC,aAAa;aACd,CAAC;SACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpE,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,QAAQ,EAAE,CAAC,cAAc,EAAE,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type {MosaicClient, Selection} from '@uwdata/mosaic-core';\nimport {queryFieldInfo} from '@uwdata/mosaic-core';\nimport type * as arrow from 'apache-arrow';\nimport {\n DataTableExplorerCategoryClient,\n DataTableExplorerCategoryTotalClient,\n} from './DataTableExplorerCategoryClient';\nimport {DataTableExplorerCountClient} from './DataTableExplorerCountClient';\nimport {\n DataTableExplorerHistogramClient,\n DataTableExplorerHistogramTotalClient,\n} from './DataTableExplorerHistogramClient';\nimport {DataTableExplorerPageClient} from './DataTableExplorerPageClient';\nimport {DataTableExplorerUnsupportedSummaryClient} from './DataTableExplorerUnsupportedSummaryClient';\nimport type {\n DataTableExplorerSummaryState,\n DataTableExplorerSorting,\n} from './types';\nimport type {DataTableExplorerStore} from './createDataTableExplorerStore';\nimport {\n fieldInfoToDataTableExplorerField,\n getDataTableExplorerValueType,\n isDataTableExplorerHistogramType,\n isDataTableExplorerUnsupportedSummaryType,\n} from './utils';\n\nfunction toError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error));\n}\n\n/**\n * Loads field metadata for the dataTableExplorer table and writes the normalized field\n * definitions into the dataTableExplorer store.\n */\nexport async function loadDataTableExplorerSchema(options: {\n columns?: string[];\n coordinator: Parameters<typeof queryFieldInfo>[0];\n store: DataTableExplorerStore;\n tableName: string;\n}) {\n const {columns, coordinator, store, tableName} = options;\n store.getState().setSchemaLoading(true, tableName);\n\n try {\n const fieldInfo = await queryFieldInfo(\n coordinator,\n columns?.length\n ? columns.map((column) => ({column, table: tableName}))\n : [{column: '*', table: tableName}],\n );\n store\n .getState()\n .setSchemaSuccess(\n fieldInfo.map(fieldInfoToDataTableExplorerField),\n tableName,\n );\n } catch (error: unknown) {\n store.getState().setSchemaSuccess([], tableName);\n store.getState().setSchemaError(toError(error), tableName);\n }\n}\n\ntype ReadyConnection = {\n coordinator: {\n connect: (client: MosaicClient) => void;\n disconnect: (client: MosaicClient) => void;\n };\n};\n\n/**\n * Connects the paged row client for the current dataTableExplorer page and disconnects\n * it when the caller tears down the lifecycle.\n */\nexport function connectDataTableExplorerPageClient(options: {\n connection: ReadyConnection;\n fieldNames: string[];\n filter?: ReturnType<Selection['predicate']>;\n pagination: {pageIndex: number; pageSize: number};\n sorting: DataTableExplorerSorting;\n store: DataTableExplorerStore;\n tableName: string;\n}) {\n const client = new DataTableExplorerPageClient({\n columns: options.fieldNames,\n filter: options.filter,\n onStateChange: (state) => options.store.getState().setPage(state),\n pagination: options.pagination,\n sorting: options.sorting,\n tableName: options.tableName,\n });\n\n options.connection.coordinator.connect(client);\n\n return () => {\n client.destroy();\n };\n}\n\n/**\n * Connects either the filtered or total count client and routes updates into\n * the corresponding store slice.\n */\nexport function connectDataTableExplorerCountClient(options: {\n connection: ReadyConnection;\n filterStable?: boolean;\n selection?: Selection;\n store: DataTableExplorerStore;\n tableName: string;\n target: 'filtered' | 'total';\n}) {\n const setCountState =\n options.target === 'filtered'\n ? options.store.getState().setFilteredCount\n : options.store.getState().setTotalCount;\n\n const client = new DataTableExplorerCountClient({\n filterStable: options.filterStable,\n onStateChange: setCountState,\n selection: options.selection,\n tableName: options.tableName,\n });\n\n options.connection.coordinator.connect(client);\n\n return () => {\n client.destroy();\n };\n}\n\n/**\n * Connects all per-column summary clients for the active schema and initializes\n * matching empty summary state in the dataTableExplorer store.\n */\nexport function connectDataTableExplorerSummaryClients(options: {\n categoryLimit: number;\n connection: ReadyConnection;\n fields: arrow.Field[];\n selection: Selection;\n store: DataTableExplorerStore;\n summaryBins: number;\n tableName: string;\n}) {\n const {\n categoryLimit,\n connection,\n fields,\n selection,\n store,\n summaryBins,\n tableName,\n } = options;\n\n store.getState().initializeSummaries(fields);\n\n const clients: MosaicClient[] = fields.flatMap((field): MosaicClient[] => {\n const update = (summary: DataTableExplorerSummaryState) => {\n store.getState().setSummary(field.name, summary);\n };\n\n if (isDataTableExplorerUnsupportedSummaryType(field.type)) {\n return [\n new DataTableExplorerUnsupportedSummaryClient({\n field,\n onStateChange: update,\n selection,\n tableName,\n }),\n ];\n }\n\n if (isDataTableExplorerHistogramType(field.type)) {\n const summaryClient = new DataTableExplorerHistogramClient({\n field,\n onStateChange: update,\n selection,\n steps: summaryBins,\n tableName,\n valueType:\n getDataTableExplorerValueType(field.type) === 'date'\n ? 'date'\n : 'number',\n });\n\n return [\n summaryClient,\n new DataTableExplorerHistogramTotalClient({\n summaryClient,\n }),\n ];\n }\n\n const summaryClient = new DataTableExplorerCategoryClient({\n categoryLimit,\n field,\n onStateChange: update,\n selection,\n tableName,\n });\n\n return [\n summaryClient,\n new DataTableExplorerCategoryTotalClient({\n summaryClient,\n }),\n ];\n });\n\n clients.forEach((client) => connection.coordinator.connect(client));\n\n return () => {\n clients.forEach((client) => client.destroy());\n store.getState().clearSummaries();\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dataTableExplorerController.js","sourceRoot":"","sources":["../../src/data-table-explorer/dataTableExplorerController.ts"],"names":[],"mappings":"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","sourcesContent":["import type {MosaicClient, Selection} from '@uwdata/mosaic-core';\nimport {queryFieldInfo} from '@uwdata/mosaic-core';\nimport type * as arrow from 'apache-arrow';\nimport {\n DataTableExplorerCategoryClient,\n DataTableExplorerCategoryTotalClient,\n} from './DataTableExplorerCategoryClient';\nimport {DataTableExplorerCountClient} from './DataTableExplorerCountClient';\nimport {\n DataTableExplorerHistogramClient,\n DataTableExplorerHistogramTotalClient,\n} from './DataTableExplorerHistogramClient';\nimport {DataTableExplorerPageClient} from './DataTableExplorerPageClient';\nimport {DataTableExplorerUnsupportedSummaryClient} from './DataTableExplorerUnsupportedSummaryClient';\nimport type {\n DataTableExplorerSummaryState,\n DataTableExplorerSqlTableReference,\n DataTableExplorerSorting,\n} from './types';\nimport type {DataTableExplorerStore} from './createDataTableExplorerStore';\nimport {\n fieldInfoToDataTableExplorerField,\n getDataTableExplorerValueType,\n isDataTableExplorerHistogramType,\n isDataTableExplorerUnsupportedSummaryType,\n} from './utils';\n\nfunction toError(error: unknown): Error {\n return error instanceof Error ? error : new Error(String(error));\n}\n\n/**\n * Loads field metadata for the dataTableExplorer table and writes the normalized field\n * definitions into the dataTableExplorer store.\n *\n * @param options.columns Optional subset of column names to load. When omitted,\n * metadata is loaded for every column in the table.\n * @param options.coordinator Mosaic coordinator used to run the field-info query.\n * @param options.store Instance store that receives schema loading, success, and\n * error state.\n * @param options.tableIdentity Stable SQLRooms table identity used for store keys.\n * This should preserve catalog/database identity when available.\n * @param options.tableReference Mosaic SQL table reference used to query the table.\n * Prefer a TableRefNode for qualified table names so dotted identifier parts are\n * not reparsed as separate identifiers.\n */\nexport async function loadDataTableExplorerSchema(options: {\n columns?: string[];\n coordinator: Parameters<typeof queryFieldInfo>[0];\n store: DataTableExplorerStore;\n tableIdentity: string;\n tableReference: DataTableExplorerSqlTableReference;\n}) {\n const {columns, coordinator, store, tableIdentity, tableReference} = options;\n store.getState().setSchemaLoading(true, tableIdentity);\n\n try {\n // queryFieldInfo is typed as string-only, but Mosaic's runtime accepts\n // TableRefNode values and preserves identifier boundaries for dotted names.\n const fieldInfoTable = tableReference as unknown as string;\n const fieldInfo = await queryFieldInfo(\n coordinator,\n columns?.length\n ? columns.map((column) => ({column, table: fieldInfoTable}))\n : [{column: '*', table: fieldInfoTable}],\n );\n store\n .getState()\n .setSchemaSuccess(\n fieldInfo.map(fieldInfoToDataTableExplorerField),\n tableIdentity,\n );\n } catch (error: unknown) {\n store.getState().setSchemaSuccess([], tableIdentity);\n store.getState().setSchemaError(toError(error), tableIdentity);\n }\n}\n\ntype ReadyConnection = {\n coordinator: {\n connect: (client: MosaicClient) => void;\n disconnect: (client: MosaicClient) => void;\n };\n};\n\n/**\n * Connects the paged row client for the current dataTableExplorer page and disconnects\n * it when the caller tears down the lifecycle.\n *\n * @param options.connection Ready Mosaic connection that owns client\n * registration.\n * @param options.fieldNames Ordered fields to include in the page query and page\n * dataset identity.\n * @param options.filter Optional row filter applied to the page query.\n * @param options.pagination Current page index and page size.\n * @param options.sorting Current sort descriptors.\n * @param options.store Instance store that receives page loading, data, and error\n * state.\n * @param options.tableName Stable SQLRooms table identity used for page dataset\n * keys.\n * @param options.tableReference Mosaic SQL table reference used in generated page\n * queries.\n */\nexport function connectDataTableExplorerPageClient(options: {\n connection: ReadyConnection;\n fieldNames: string[];\n filter?: ReturnType<Selection['predicate']>;\n pagination: {pageIndex: number; pageSize: number};\n sorting: DataTableExplorerSorting;\n store: DataTableExplorerStore;\n tableName: string;\n tableReference: DataTableExplorerSqlTableReference;\n}) {\n const client = new DataTableExplorerPageClient({\n columns: options.fieldNames,\n filter: options.filter,\n onStateChange: (state) => options.store.getState().setPage(state),\n pagination: options.pagination,\n sorting: options.sorting,\n tableName: options.tableName,\n tableReference: options.tableReference,\n });\n\n options.connection.coordinator.connect(client);\n\n return () => {\n client.destroy();\n };\n}\n\n/**\n * Connects either the filtered or total count client and routes updates into\n * the corresponding store slice.\n *\n * @param options.connection Ready Mosaic connection that owns client\n * registration.\n * @param options.filterStable Whether Mosaic can treat this count query as\n * stable under filter changes.\n * @param options.selection Optional Mosaic selection that supplies cross-filter\n * predicates.\n * @param options.store Instance store that receives filtered or total count\n * state.\n * @param options.tableName Stable SQLRooms table identity used for client state.\n * @param options.tableReference Mosaic SQL table reference used in generated count\n * queries.\n * @param options.target Selects whether updates go to the filtered or total count\n * store slice.\n */\nexport function connectDataTableExplorerCountClient(options: {\n connection: ReadyConnection;\n filterStable?: boolean;\n selection?: Selection;\n store: DataTableExplorerStore;\n tableName: string;\n tableReference: DataTableExplorerSqlTableReference;\n target: 'filtered' | 'total';\n}) {\n const setCountState =\n options.target === 'filtered'\n ? options.store.getState().setFilteredCount\n : options.store.getState().setTotalCount;\n\n const client = new DataTableExplorerCountClient({\n filterStable: options.filterStable,\n onStateChange: setCountState,\n selection: options.selection,\n tableName: options.tableName,\n tableReference: options.tableReference,\n });\n\n options.connection.coordinator.connect(client);\n\n return {\n client,\n cleanup: () => {\n client.destroy();\n },\n };\n}\n\n/**\n * Connects all per-column summary clients for the active schema and initializes\n * matching empty summary state in the dataTableExplorer store.\n *\n * @param options.categoryLimit Maximum number of category buckets to expose before\n * grouping the remainder into an overflow bucket.\n * @param options.connection Ready Mosaic connection that owns summary client\n * registration.\n * @param options.fields Active Arrow fields to summarize.\n * @param options.selection Mosaic selection shared by summary clients.\n * @param options.store Instance store that receives summary state.\n * @param options.summaryBins Requested bin count for histogram summaries.\n * @param options.tableName Human-readable or string table reference kept for\n * summary clients that still accept string identities.\n * @param options.tableReference Mosaic SQL table reference used in generated\n * summary queries.\n */\nexport function connectDataTableExplorerSummaryClients(options: {\n categoryLimit: number;\n connection: ReadyConnection;\n fields: arrow.Field[];\n selection: Selection;\n store: DataTableExplorerStore;\n summaryBins: number;\n tableName: string;\n tableReference: DataTableExplorerSqlTableReference;\n}) {\n const {\n categoryLimit,\n connection,\n fields,\n selection,\n store,\n summaryBins,\n tableName,\n tableReference,\n } = options;\n\n store.getState().initializeSummaries(fields);\n\n const clients: MosaicClient[] = fields.flatMap((field): MosaicClient[] => {\n const update = (summary: DataTableExplorerSummaryState) => {\n store.getState().setSummary(field.name, summary);\n };\n\n if (isDataTableExplorerUnsupportedSummaryType(field.type)) {\n return [\n new DataTableExplorerUnsupportedSummaryClient({\n field,\n onStateChange: update,\n selection,\n tableName,\n tableReference,\n }),\n ];\n }\n\n if (isDataTableExplorerHistogramType(field.type)) {\n const summaryClient = new DataTableExplorerHistogramClient({\n field,\n onStateChange: update,\n selection,\n steps: summaryBins,\n tableName,\n tableReference,\n valueType:\n getDataTableExplorerValueType(field.type) === 'date'\n ? 'date'\n : 'number',\n });\n\n return [\n summaryClient,\n new DataTableExplorerHistogramTotalClient({\n summaryClient,\n }),\n ];\n }\n\n const summaryClient = new DataTableExplorerCategoryClient({\n categoryLimit,\n field,\n onStateChange: update,\n selection,\n tableName,\n tableReference,\n });\n\n return [\n summaryClient,\n new DataTableExplorerCategoryTotalClient({\n summaryClient,\n }),\n ];\n });\n\n clients.forEach((client) => connection.coordinator.connect(client));\n\n return () => {\n clients.forEach((client) => client.destroy());\n store.getState().clearSummaries();\n };\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DataTableExplorerStoreState } from '../createDataTableExplorerStore';
|
|
2
|
+
import type { DataTableExplorerColumnState } from '../types';
|
|
3
|
+
export type UseDataTableExplorerColumnsOptions = {
|
|
4
|
+
fields: DataTableExplorerStoreState['schema']['fields'];
|
|
5
|
+
summaries: DataTableExplorerStoreState['summaries'];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Maps the schema fields and summary state into the column model consumed by
|
|
9
|
+
* the dataTableExplorer header and summary cells.
|
|
10
|
+
*/
|
|
11
|
+
export declare function useDataTableExplorerColumns({ fields, summaries, }: UseDataTableExplorerColumnsOptions): DataTableExplorerColumnState[];
|
|
12
|
+
//# sourceMappingURL=useDataTableExplorerColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerColumns.d.ts","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerColumns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAO3D,MAAM,MAAM,kCAAkC,GAAG;IAC/C,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,MAAM,EACN,SAAS,GACV,EAAE,kCAAkC,GAAG,4BAA4B,EAAE,CAerE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { createEmptySummaryState, isDataTableExplorerHistogramType, isDataTableExplorerUnsupportedSummaryType, } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* Maps the schema fields and summary state into the column model consumed by
|
|
5
|
+
* the dataTableExplorer header and summary cells.
|
|
6
|
+
*/
|
|
7
|
+
export function useDataTableExplorerColumns({ fields, summaries, }) {
|
|
8
|
+
return useMemo(() => fields.map((field) => ({
|
|
9
|
+
field,
|
|
10
|
+
kind: isDataTableExplorerUnsupportedSummaryType(field.type)
|
|
11
|
+
? 'unsupported'
|
|
12
|
+
: isDataTableExplorerHistogramType(field.type)
|
|
13
|
+
? 'histogram'
|
|
14
|
+
: 'category',
|
|
15
|
+
name: field.name,
|
|
16
|
+
summary: summaries[field.name] ?? createEmptySummaryState(field),
|
|
17
|
+
})), [fields, summaries]);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=useDataTableExplorerColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerColumns.js","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerColumns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAG9B,OAAO,EACL,uBAAuB,EACvB,gCAAgC,EAChC,yCAAyC,GAC1C,MAAM,UAAU,CAAC;AAOlB;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,EAC1C,MAAM,EACN,SAAS,GAC0B;IACnC,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrB,KAAK;QACL,IAAI,EAAE,yCAAyC,CAAC,KAAK,CAAC,IAAI,CAAC;YACzD,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC5C,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,UAAU;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC;KACjE,CAAC,CAAC,EACL,CAAC,MAAM,EAAE,SAAS,CAAC,CACpB,CAAC;AACJ,CAAC","sourcesContent":["import {useMemo} from 'react';\nimport type {DataTableExplorerStoreState} from '../createDataTableExplorerStore';\nimport type {DataTableExplorerColumnState} from '../types';\nimport {\n createEmptySummaryState,\n isDataTableExplorerHistogramType,\n isDataTableExplorerUnsupportedSummaryType,\n} from '../utils';\n\nexport type UseDataTableExplorerColumnsOptions = {\n fields: DataTableExplorerStoreState['schema']['fields'];\n summaries: DataTableExplorerStoreState['summaries'];\n};\n\n/**\n * Maps the schema fields and summary state into the column model consumed by\n * the dataTableExplorer header and summary cells.\n */\nexport function useDataTableExplorerColumns({\n fields,\n summaries,\n}: UseDataTableExplorerColumnsOptions): DataTableExplorerColumnState[] {\n return useMemo<DataTableExplorerColumnState[]>(\n () =>\n fields.map((field) => ({\n field,\n kind: isDataTableExplorerUnsupportedSummaryType(field.type)\n ? 'unsupported'\n : isDataTableExplorerHistogramType(field.type)\n ? 'histogram'\n : 'category',\n name: field.name,\n summary: summaries[field.name] ?? createEmptySummaryState(field),\n })),\n [fields, summaries],\n );\n}\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { MosaicClient, Selection } from '@uwdata/mosaic-core';
|
|
2
|
+
import type { MosaicSliceState } from '../../MosaicSlice';
|
|
3
|
+
import type { DataTableExplorerStore } from '../createDataTableExplorerStore';
|
|
4
|
+
import type { DataTableExplorerPaginationState, DataTableExplorerSqlTableReference, DataTableExplorerSorting } from '../types';
|
|
5
|
+
import type { DataTableExplorerStoreState } from '../createDataTableExplorerStore';
|
|
6
|
+
/**
|
|
7
|
+
* Inputs required to synchronize a dataTableExplorer instance with Mosaic
|
|
8
|
+
* connection, selection, schema, row, count, and summary lifecycles.
|
|
9
|
+
*/
|
|
10
|
+
export type UseDataTableExplorerLifecyclesOptions = {
|
|
11
|
+
categoryLimit: number;
|
|
12
|
+
columns?: string[];
|
|
13
|
+
connection: MosaicSliceState['mosaic']['connection'];
|
|
14
|
+
fieldNames: string[];
|
|
15
|
+
fields: DataTableExplorerStoreState['schema']['fields'];
|
|
16
|
+
pageSize: number;
|
|
17
|
+
pagination: DataTableExplorerPaginationState;
|
|
18
|
+
dataTableExplorerStore: DataTableExplorerStore;
|
|
19
|
+
rowFilter: ReturnType<Selection['predicate']>;
|
|
20
|
+
selection: Selection;
|
|
21
|
+
selectionVersion: number;
|
|
22
|
+
sorting: DataTableExplorerSorting;
|
|
23
|
+
summaryBins: number;
|
|
24
|
+
/**
|
|
25
|
+
* Stable SQLRooms table identity used for store keys, selection resets, and
|
|
26
|
+
* dataset IDs. This should keep catalog/database identity when available.
|
|
27
|
+
*/
|
|
28
|
+
tableIdentity: string;
|
|
29
|
+
/**
|
|
30
|
+
* String table reference used for readiness checks and legacy client inputs.
|
|
31
|
+
*/
|
|
32
|
+
tableName: string;
|
|
33
|
+
/**
|
|
34
|
+
* Mosaic SQL table reference used by generated queries. Use a TableRefNode for
|
|
35
|
+
* qualified names to preserve identifier boundaries such as dots inside table
|
|
36
|
+
* names.
|
|
37
|
+
*/
|
|
38
|
+
tableReference: DataTableExplorerSqlTableReference;
|
|
39
|
+
};
|
|
40
|
+
export type UseDataTableExplorerLifecyclesReturn = {
|
|
41
|
+
client: MosaicClient | null;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Owns the coordinator-backed schema, row, count, and summary client
|
|
45
|
+
* lifecycles for a dataTableExplorer instance.
|
|
46
|
+
*
|
|
47
|
+
* The hook keeps SQLRooms identity state separate from Mosaic SQL references:
|
|
48
|
+
* tableIdentity drives local store keys, while tableReference is used at query
|
|
49
|
+
* boundaries.
|
|
50
|
+
*/
|
|
51
|
+
export declare function useDataTableExplorerLifecycles(options: UseDataTableExplorerLifecyclesOptions): UseDataTableExplorerLifecyclesReturn;
|
|
52
|
+
//# sourceMappingURL=useDataTableExplorerLifecycles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerLifecycles.d.ts","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerLifecycles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EACV,gCAAgC,EAChC,kCAAkC,EAClC,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,iCAAiC,CAAC;AAQjF;;;GAGG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;IACrD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,gCAAgC,CAAC;IAC7C,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,cAAc,EAAE,kCAAkC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qCAAqC,GAC7C,oCAAoC,CA6KtC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { connectDataTableExplorerCountClient, connectDataTableExplorerPageClient, connectDataTableExplorerSummaryClients, loadDataTableExplorerSchema, } from '../dataTableExplorerController';
|
|
3
|
+
/**
|
|
4
|
+
* Owns the coordinator-backed schema, row, count, and summary client
|
|
5
|
+
* lifecycles for a dataTableExplorer instance.
|
|
6
|
+
*
|
|
7
|
+
* The hook keeps SQLRooms identity state separate from Mosaic SQL references:
|
|
8
|
+
* tableIdentity drives local store keys, while tableReference is used at query
|
|
9
|
+
* boundaries.
|
|
10
|
+
*/
|
|
11
|
+
export function useDataTableExplorerLifecycles(options) {
|
|
12
|
+
const { categoryLimit, columns, connection, fieldNames, fields, pageSize, pagination, dataTableExplorerStore, rowFilter, selection, selectionVersion, sorting, summaryBins, tableIdentity, tableName, tableReference, } = options;
|
|
13
|
+
const previousTableNameRef = useRef(tableIdentity);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
dataTableExplorerStore.getState().syncPageSize(pageSize);
|
|
16
|
+
}, [pageSize, dataTableExplorerStore]);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (previousTableNameRef.current === tableIdentity)
|
|
19
|
+
return;
|
|
20
|
+
selection.reset();
|
|
21
|
+
previousTableNameRef.current = tableIdentity;
|
|
22
|
+
}, [selection, tableIdentity]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
dataTableExplorerStore.getState().resetPageIndex();
|
|
25
|
+
}, [dataTableExplorerStore, selectionVersion, tableIdentity]);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (connection.status !== 'ready' || !tableName) {
|
|
28
|
+
dataTableExplorerStore.getState().setSchemaSuccess([]);
|
|
29
|
+
dataTableExplorerStore.getState().setSchemaError(undefined);
|
|
30
|
+
dataTableExplorerStore
|
|
31
|
+
.getState()
|
|
32
|
+
.setSchemaLoading(connection.status === 'loading');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
void loadDataTableExplorerSchema({
|
|
36
|
+
columns,
|
|
37
|
+
coordinator: connection.coordinator,
|
|
38
|
+
store: dataTableExplorerStore,
|
|
39
|
+
tableIdentity,
|
|
40
|
+
tableReference,
|
|
41
|
+
});
|
|
42
|
+
}, [
|
|
43
|
+
columns,
|
|
44
|
+
connection,
|
|
45
|
+
dataTableExplorerStore,
|
|
46
|
+
tableIdentity,
|
|
47
|
+
tableName,
|
|
48
|
+
tableReference,
|
|
49
|
+
]);
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (connection.status !== 'ready' || !tableName || !fieldNames.length) {
|
|
52
|
+
dataTableExplorerStore.getState().setPage({ isLoading: false });
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
return connectDataTableExplorerPageClient({
|
|
56
|
+
connection,
|
|
57
|
+
fieldNames,
|
|
58
|
+
filter: rowFilter,
|
|
59
|
+
pagination,
|
|
60
|
+
sorting,
|
|
61
|
+
store: dataTableExplorerStore,
|
|
62
|
+
tableName: tableIdentity,
|
|
63
|
+
tableReference,
|
|
64
|
+
});
|
|
65
|
+
}, [
|
|
66
|
+
connection,
|
|
67
|
+
fieldNames,
|
|
68
|
+
pagination,
|
|
69
|
+
dataTableExplorerStore,
|
|
70
|
+
rowFilter,
|
|
71
|
+
sorting,
|
|
72
|
+
tableIdentity,
|
|
73
|
+
tableName,
|
|
74
|
+
tableReference,
|
|
75
|
+
]);
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
if (connection.status !== 'ready' || !tableName) {
|
|
78
|
+
dataTableExplorerStore.getState().setFilteredCount({ isLoading: false });
|
|
79
|
+
dataTableExplorerStore.getState().setClient(null);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const { client: newClient, cleanup } = connectDataTableExplorerCountClient({
|
|
83
|
+
connection,
|
|
84
|
+
filterStable: true,
|
|
85
|
+
selection,
|
|
86
|
+
store: dataTableExplorerStore,
|
|
87
|
+
tableName: tableIdentity,
|
|
88
|
+
tableReference,
|
|
89
|
+
target: 'filtered',
|
|
90
|
+
});
|
|
91
|
+
dataTableExplorerStore.getState().setClient(newClient);
|
|
92
|
+
return () => {
|
|
93
|
+
cleanup();
|
|
94
|
+
dataTableExplorerStore.getState().setClient(null);
|
|
95
|
+
};
|
|
96
|
+
}, [
|
|
97
|
+
connection,
|
|
98
|
+
dataTableExplorerStore,
|
|
99
|
+
selection,
|
|
100
|
+
tableIdentity,
|
|
101
|
+
tableName,
|
|
102
|
+
tableReference,
|
|
103
|
+
]);
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
if (connection.status !== 'ready' || !tableName) {
|
|
106
|
+
dataTableExplorerStore.getState().setTotalCount({ isLoading: false });
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const { cleanup } = connectDataTableExplorerCountClient({
|
|
110
|
+
connection,
|
|
111
|
+
store: dataTableExplorerStore,
|
|
112
|
+
tableName: tableIdentity,
|
|
113
|
+
tableReference,
|
|
114
|
+
target: 'total',
|
|
115
|
+
});
|
|
116
|
+
return cleanup;
|
|
117
|
+
}, [
|
|
118
|
+
connection,
|
|
119
|
+
dataTableExplorerStore,
|
|
120
|
+
tableIdentity,
|
|
121
|
+
tableName,
|
|
122
|
+
tableReference,
|
|
123
|
+
]);
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
if (connection.status !== 'ready' || !fields.length) {
|
|
126
|
+
dataTableExplorerStore.getState().clearSummaries();
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
return connectDataTableExplorerSummaryClients({
|
|
130
|
+
categoryLimit,
|
|
131
|
+
connection,
|
|
132
|
+
fields,
|
|
133
|
+
selection,
|
|
134
|
+
store: dataTableExplorerStore,
|
|
135
|
+
summaryBins,
|
|
136
|
+
tableName,
|
|
137
|
+
tableReference,
|
|
138
|
+
});
|
|
139
|
+
}, [
|
|
140
|
+
categoryLimit,
|
|
141
|
+
connection,
|
|
142
|
+
fields,
|
|
143
|
+
dataTableExplorerStore,
|
|
144
|
+
selection,
|
|
145
|
+
summaryBins,
|
|
146
|
+
tableIdentity,
|
|
147
|
+
tableName,
|
|
148
|
+
tableReference,
|
|
149
|
+
]);
|
|
150
|
+
// Client is not returned - it's stored in the dataTableExplorerStore
|
|
151
|
+
return { client: null };
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=useDataTableExplorerLifecycles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerLifecycles.js","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerLifecycles.ts"],"names":[],"mappings":"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","sourcesContent":["import {useEffect, useRef} from 'react';\nimport type {MosaicClient, Selection} from '@uwdata/mosaic-core';\nimport type {MosaicSliceState} from '../../MosaicSlice';\nimport type {DataTableExplorerStore} from '../createDataTableExplorerStore';\nimport type {\n DataTableExplorerPaginationState,\n DataTableExplorerSqlTableReference,\n DataTableExplorerSorting,\n} from '../types';\nimport type {DataTableExplorerStoreState} from '../createDataTableExplorerStore';\nimport {\n connectDataTableExplorerCountClient,\n connectDataTableExplorerPageClient,\n connectDataTableExplorerSummaryClients,\n loadDataTableExplorerSchema,\n} from '../dataTableExplorerController';\n\n/**\n * Inputs required to synchronize a dataTableExplorer instance with Mosaic\n * connection, selection, schema, row, count, and summary lifecycles.\n */\nexport type UseDataTableExplorerLifecyclesOptions = {\n categoryLimit: number;\n columns?: string[];\n connection: MosaicSliceState['mosaic']['connection'];\n fieldNames: string[];\n fields: DataTableExplorerStoreState['schema']['fields'];\n pageSize: number;\n pagination: DataTableExplorerPaginationState;\n dataTableExplorerStore: DataTableExplorerStore;\n rowFilter: ReturnType<Selection['predicate']>;\n selection: Selection;\n selectionVersion: number;\n sorting: DataTableExplorerSorting;\n summaryBins: number;\n /**\n * Stable SQLRooms table identity used for store keys, selection resets, and\n * dataset IDs. This should keep catalog/database identity when available.\n */\n tableIdentity: string;\n /**\n * String table reference used for readiness checks and legacy client inputs.\n */\n tableName: string;\n /**\n * Mosaic SQL table reference used by generated queries. Use a TableRefNode for\n * qualified names to preserve identifier boundaries such as dots inside table\n * names.\n */\n tableReference: DataTableExplorerSqlTableReference;\n};\n\nexport type UseDataTableExplorerLifecyclesReturn = {\n client: MosaicClient | null;\n};\n\n/**\n * Owns the coordinator-backed schema, row, count, and summary client\n * lifecycles for a dataTableExplorer instance.\n *\n * The hook keeps SQLRooms identity state separate from Mosaic SQL references:\n * tableIdentity drives local store keys, while tableReference is used at query\n * boundaries.\n */\nexport function useDataTableExplorerLifecycles(\n options: UseDataTableExplorerLifecyclesOptions,\n): UseDataTableExplorerLifecyclesReturn {\n const {\n categoryLimit,\n columns,\n connection,\n fieldNames,\n fields,\n pageSize,\n pagination,\n dataTableExplorerStore,\n rowFilter,\n selection,\n selectionVersion,\n sorting,\n summaryBins,\n tableIdentity,\n tableName,\n tableReference,\n } = options;\n const previousTableNameRef = useRef(tableIdentity);\n\n useEffect(() => {\n dataTableExplorerStore.getState().syncPageSize(pageSize);\n }, [pageSize, dataTableExplorerStore]);\n\n useEffect(() => {\n if (previousTableNameRef.current === tableIdentity) return;\n selection.reset();\n previousTableNameRef.current = tableIdentity;\n }, [selection, tableIdentity]);\n\n useEffect(() => {\n dataTableExplorerStore.getState().resetPageIndex();\n }, [dataTableExplorerStore, selectionVersion, tableIdentity]);\n\n useEffect(() => {\n if (connection.status !== 'ready' || !tableName) {\n dataTableExplorerStore.getState().setSchemaSuccess([]);\n dataTableExplorerStore.getState().setSchemaError(undefined);\n dataTableExplorerStore\n .getState()\n .setSchemaLoading(connection.status === 'loading');\n return;\n }\n\n void loadDataTableExplorerSchema({\n columns,\n coordinator: connection.coordinator,\n store: dataTableExplorerStore,\n tableIdentity,\n tableReference,\n });\n }, [\n columns,\n connection,\n dataTableExplorerStore,\n tableIdentity,\n tableName,\n tableReference,\n ]);\n\n useEffect(() => {\n if (connection.status !== 'ready' || !tableName || !fieldNames.length) {\n dataTableExplorerStore.getState().setPage({isLoading: false});\n return;\n }\n\n return connectDataTableExplorerPageClient({\n connection,\n fieldNames,\n filter: rowFilter,\n pagination,\n sorting,\n store: dataTableExplorerStore,\n tableName: tableIdentity,\n tableReference,\n });\n }, [\n connection,\n fieldNames,\n pagination,\n dataTableExplorerStore,\n rowFilter,\n sorting,\n tableIdentity,\n tableName,\n tableReference,\n ]);\n\n useEffect(() => {\n if (connection.status !== 'ready' || !tableName) {\n dataTableExplorerStore.getState().setFilteredCount({isLoading: false});\n dataTableExplorerStore.getState().setClient(null);\n return;\n }\n\n const {client: newClient, cleanup} = connectDataTableExplorerCountClient({\n connection,\n filterStable: true,\n selection,\n store: dataTableExplorerStore,\n tableName: tableIdentity,\n tableReference,\n target: 'filtered',\n });\n dataTableExplorerStore.getState().setClient(newClient);\n\n return () => {\n cleanup();\n dataTableExplorerStore.getState().setClient(null);\n };\n }, [\n connection,\n dataTableExplorerStore,\n selection,\n tableIdentity,\n tableName,\n tableReference,\n ]);\n\n useEffect(() => {\n if (connection.status !== 'ready' || !tableName) {\n dataTableExplorerStore.getState().setTotalCount({isLoading: false});\n return;\n }\n\n const {cleanup} = connectDataTableExplorerCountClient({\n connection,\n store: dataTableExplorerStore,\n tableName: tableIdentity,\n tableReference,\n target: 'total',\n });\n\n return cleanup;\n }, [\n connection,\n dataTableExplorerStore,\n tableIdentity,\n tableName,\n tableReference,\n ]);\n\n useEffect(() => {\n if (connection.status !== 'ready' || !fields.length) {\n dataTableExplorerStore.getState().clearSummaries();\n return;\n }\n\n return connectDataTableExplorerSummaryClients({\n categoryLimit,\n connection,\n fields,\n selection,\n store: dataTableExplorerStore,\n summaryBins,\n tableName,\n tableReference,\n });\n }, [\n categoryLimit,\n connection,\n fields,\n dataTableExplorerStore,\n selection,\n summaryBins,\n tableIdentity,\n tableName,\n tableReference,\n ]);\n\n // Client is not returned - it's stored in the dataTableExplorerStore\n return {client: null};\n}\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Selection } from '@uwdata/mosaic-core';
|
|
2
|
+
import type { DataTableExplorerStoreState } from '../createDataTableExplorerStore';
|
|
3
|
+
import type { DataTableExplorerPaginationState, DataTableExplorerSqlTableReference, DataTableExplorerSorting } from '../types';
|
|
4
|
+
import { buildDataTableExplorerBaseQuery } from '../utils';
|
|
5
|
+
/**
|
|
6
|
+
* Inputs used to derive memoized query state for a dataTableExplorer instance.
|
|
7
|
+
*/
|
|
8
|
+
export type UseDataTableExplorerQueryStateOptions = {
|
|
9
|
+
pagination: DataTableExplorerPaginationState;
|
|
10
|
+
rowSelectionVersion: number;
|
|
11
|
+
schema: DataTableExplorerStoreState['schema'];
|
|
12
|
+
selection: Selection;
|
|
13
|
+
selectionVersion: number;
|
|
14
|
+
sorting: DataTableExplorerSorting;
|
|
15
|
+
/**
|
|
16
|
+
* Stable SQLRooms table identity used to build dataset IDs and distinguish
|
|
17
|
+
* tables that share schema/table names across catalogs.
|
|
18
|
+
*/
|
|
19
|
+
tableIdentity: string;
|
|
20
|
+
/**
|
|
21
|
+
* Mosaic SQL table reference used in generated queries.
|
|
22
|
+
*/
|
|
23
|
+
tableReference: DataTableExplorerSqlTableReference;
|
|
24
|
+
};
|
|
25
|
+
export type UseDataTableExplorerQueryStateReturn = {
|
|
26
|
+
baseQuery: ReturnType<typeof buildDataTableExplorerBaseQuery>;
|
|
27
|
+
datasetId: string;
|
|
28
|
+
fieldNames: string[];
|
|
29
|
+
fields: DataTableExplorerStoreState['schema']['fields'];
|
|
30
|
+
hasFilters: boolean;
|
|
31
|
+
pageQuery: string;
|
|
32
|
+
rowFilter: ReturnType<Selection['predicate']>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Derives the dataTableExplorer's field and SQL state from the current schema,
|
|
36
|
+
* selection, sorting, and pagination state.
|
|
37
|
+
*
|
|
38
|
+
* @param options Current schema, selection, pagination, sorting, and table
|
|
39
|
+
* reference inputs for query generation.
|
|
40
|
+
*/
|
|
41
|
+
export declare function useDataTableExplorerQueryState({ pagination, rowSelectionVersion, schema, selection, selectionVersion, sorting, tableIdentity, tableReference, }: UseDataTableExplorerQueryStateOptions): UseDataTableExplorerQueryStateReturn;
|
|
42
|
+
//# sourceMappingURL=useDataTableExplorerQueryState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerQueryState.d.ts","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerQueryState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EACV,gCAAgC,EAChC,kCAAkC,EAClC,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,+BAA+B,EAEhC,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,UAAU,EAAE,gCAAgC,CAAC;IAC7C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,wBAAwB,CAAC;IAClC;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,cAAc,EAAE,kCAAkC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,SAAS,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,CAAC;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxD,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,EAC7C,UAAU,EACV,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,cAAc,GACf,EAAE,qCAAqC,GAAG,oCAAoC,CA4C9E"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { buildDataTableExplorerBaseQuery, buildDataTableExplorerPageQuery, } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* Derives the dataTableExplorer's field and SQL state from the current schema,
|
|
5
|
+
* selection, sorting, and pagination state.
|
|
6
|
+
*
|
|
7
|
+
* @param options Current schema, selection, pagination, sorting, and table
|
|
8
|
+
* reference inputs for query generation.
|
|
9
|
+
*/
|
|
10
|
+
export function useDataTableExplorerQueryState({ pagination, rowSelectionVersion, schema, selection, selectionVersion, sorting, tableIdentity, tableReference, }) {
|
|
11
|
+
const fields = schema.fields;
|
|
12
|
+
const fieldNames = useMemo(() => fields.map((field) => field.name), [fields]);
|
|
13
|
+
const filter = useMemo(() => {
|
|
14
|
+
void selectionVersion;
|
|
15
|
+
return selection.predicate();
|
|
16
|
+
}, [selection, selectionVersion]);
|
|
17
|
+
const rowFilter = useMemo(() => {
|
|
18
|
+
void rowSelectionVersion;
|
|
19
|
+
return selection.predicate();
|
|
20
|
+
}, [rowSelectionVersion, selection]);
|
|
21
|
+
const baseQuery = useMemo(() => buildDataTableExplorerBaseQuery({
|
|
22
|
+
columns: fieldNames,
|
|
23
|
+
filter,
|
|
24
|
+
sorting,
|
|
25
|
+
tableName: tableReference,
|
|
26
|
+
}), [fieldNames, filter, sorting, tableReference]);
|
|
27
|
+
const pageBaseQuery = useMemo(() => buildDataTableExplorerBaseQuery({
|
|
28
|
+
columns: fieldNames,
|
|
29
|
+
filter: rowFilter,
|
|
30
|
+
sorting,
|
|
31
|
+
tableName: tableReference,
|
|
32
|
+
}), [fieldNames, rowFilter, sorting, tableReference]);
|
|
33
|
+
return {
|
|
34
|
+
baseQuery,
|
|
35
|
+
datasetId: [tableIdentity, ...fieldNames].join(''),
|
|
36
|
+
fieldNames,
|
|
37
|
+
fields,
|
|
38
|
+
hasFilters: Array.isArray(filter) ? filter.length > 0 : Boolean(filter),
|
|
39
|
+
pageQuery: buildDataTableExplorerPageQuery(pageBaseQuery, pagination).toString(),
|
|
40
|
+
rowFilter,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=useDataTableExplorerQueryState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerQueryState.js","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerQueryState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAQ9B,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,UAAU,CAAC;AAiClB;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,EAC7C,UAAU,EACV,mBAAmB,EACnB,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,cAAc,GACwB;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,KAAK,gBAAgB,CAAC;QACtB,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,KAAK,mBAAmB,CAAC;QACzB,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CACH,+BAA+B,CAAC;QAC9B,OAAO,EAAE,UAAU;QACnB,MAAM;QACN,OAAO;QACP,SAAS,EAAE,cAAc;KAC1B,CAAC,EACJ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAC9C,CAAC;IACF,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,+BAA+B,CAAC;QAC9B,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,SAAS;QACjB,OAAO;QACP,SAAS,EAAE,cAAc;KAC1B,CAAC,EACJ,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CACjD,CAAC;IAEF,OAAO;QACL,SAAS;QACT,SAAS,EAAE,CAAC,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnD,UAAU;QACV,MAAM;QACN,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvE,SAAS,EAAE,+BAA+B,CACxC,aAAa,EACb,UAAU,CACX,CAAC,QAAQ,EAAE;QACZ,SAAS;KACV,CAAC;AACJ,CAAC","sourcesContent":["import {useMemo} from 'react';\nimport type {Selection} from '@uwdata/mosaic-core';\nimport type {DataTableExplorerStoreState} from '../createDataTableExplorerStore';\nimport type {\n DataTableExplorerPaginationState,\n DataTableExplorerSqlTableReference,\n DataTableExplorerSorting,\n} from '../types';\nimport {\n buildDataTableExplorerBaseQuery,\n buildDataTableExplorerPageQuery,\n} from '../utils';\n\n/**\n * Inputs used to derive memoized query state for a dataTableExplorer instance.\n */\nexport type UseDataTableExplorerQueryStateOptions = {\n pagination: DataTableExplorerPaginationState;\n rowSelectionVersion: number;\n schema: DataTableExplorerStoreState['schema'];\n selection: Selection;\n selectionVersion: number;\n sorting: DataTableExplorerSorting;\n /**\n * Stable SQLRooms table identity used to build dataset IDs and distinguish\n * tables that share schema/table names across catalogs.\n */\n tableIdentity: string;\n /**\n * Mosaic SQL table reference used in generated queries.\n */\n tableReference: DataTableExplorerSqlTableReference;\n};\n\nexport type UseDataTableExplorerQueryStateReturn = {\n baseQuery: ReturnType<typeof buildDataTableExplorerBaseQuery>;\n datasetId: string;\n fieldNames: string[];\n fields: DataTableExplorerStoreState['schema']['fields'];\n hasFilters: boolean;\n pageQuery: string;\n rowFilter: ReturnType<Selection['predicate']>;\n};\n\n/**\n * Derives the dataTableExplorer's field and SQL state from the current schema,\n * selection, sorting, and pagination state.\n *\n * @param options Current schema, selection, pagination, sorting, and table\n * reference inputs for query generation.\n */\nexport function useDataTableExplorerQueryState({\n pagination,\n rowSelectionVersion,\n schema,\n selection,\n selectionVersion,\n sorting,\n tableIdentity,\n tableReference,\n}: UseDataTableExplorerQueryStateOptions): UseDataTableExplorerQueryStateReturn {\n const fields = schema.fields;\n const fieldNames = useMemo(() => fields.map((field) => field.name), [fields]);\n const filter = useMemo(() => {\n void selectionVersion;\n return selection.predicate();\n }, [selection, selectionVersion]);\n const rowFilter = useMemo(() => {\n void rowSelectionVersion;\n return selection.predicate();\n }, [rowSelectionVersion, selection]);\n const baseQuery = useMemo(\n () =>\n buildDataTableExplorerBaseQuery({\n columns: fieldNames,\n filter,\n sorting,\n tableName: tableReference,\n }),\n [fieldNames, filter, sorting, tableReference],\n );\n const pageBaseQuery = useMemo(\n () =>\n buildDataTableExplorerBaseQuery({\n columns: fieldNames,\n filter: rowFilter,\n sorting,\n tableName: tableReference,\n }),\n [fieldNames, rowFilter, sorting, tableReference],\n );\n\n return {\n baseQuery,\n datasetId: [tableIdentity, ...fieldNames].join('\u0001'),\n fieldNames,\n fields,\n hasFilters: Array.isArray(filter) ? filter.length > 0 : Boolean(filter),\n pageQuery: buildDataTableExplorerPageQuery(\n pageBaseQuery,\n pagination,\n ).toString(),\n rowFilter,\n };\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Selection } from '@uwdata/mosaic-core';
|
|
2
|
+
import type { DataTableExplorerOptions } from '../types';
|
|
3
|
+
export type UseDataTableExplorerSelectionOptions = Pick<DataTableExplorerOptions, 'selection' | 'selectionName'>;
|
|
4
|
+
export type UseDataTableExplorerSelectionReturn = {
|
|
5
|
+
selection: Selection;
|
|
6
|
+
selectionVersion: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the dataTableExplorer selection, creating a crossfilter selection when the
|
|
10
|
+
* caller does not supply one, and exposes a version that changes with it.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useDataTableExplorerSelection(options: UseDataTableExplorerSelectionOptions): UseDataTableExplorerSelectionReturn;
|
|
13
|
+
//# sourceMappingURL=useDataTableExplorerSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerSelection.d.ts","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerSelection.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,oCAAoC,GAAG,IAAI,CACrD,wBAAwB,EACxB,WAAW,GAAG,eAAe,CAC9B,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAkBF;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,mCAAmC,CAyBrC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { createId } from '@paralleldrive/cuid2';
|
|
2
|
+
import { Selection as MosaicSelection, } from '@uwdata/mosaic-core';
|
|
3
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { useStoreWithMosaic } from '../../MosaicSlice';
|
|
5
|
+
/**
|
|
6
|
+
* Tracks Mosaic selection updates as a monotonically increasing version so
|
|
7
|
+
* memoized queries and lifecycle effects can respond to crossfilter changes.
|
|
8
|
+
*/
|
|
9
|
+
function useSelectionVersion(selection) {
|
|
10
|
+
const [version, setVersion] = useState(0);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const handleChange = () => setVersion((value) => value + 1);
|
|
13
|
+
selection.addEventListener('value', handleChange);
|
|
14
|
+
return () => selection.removeEventListener('value', handleChange);
|
|
15
|
+
}, [selection]);
|
|
16
|
+
return version;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the dataTableExplorer selection, creating a crossfilter selection when the
|
|
20
|
+
* caller does not supply one, and exposes a version that changes with it.
|
|
21
|
+
*/
|
|
22
|
+
export function useDataTableExplorerSelection(options) {
|
|
23
|
+
const { selection: providedSelection, selectionName } = options;
|
|
24
|
+
const generatedSelectionName = useMemo(() => `mosaic-data-table-explorer-${createId()}`, []);
|
|
25
|
+
const selectionKey = selectionName ?? generatedSelectionName;
|
|
26
|
+
const existingSelection = useStoreWithMosaic((state) => state.mosaic.selections[selectionKey]);
|
|
27
|
+
const getSelection = useStoreWithMosaic((state) => state.mosaic.getSelection);
|
|
28
|
+
const [fallbackSelection] = useState(() => MosaicSelection.crossfilter());
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (!providedSelection && !existingSelection) {
|
|
31
|
+
getSelection(selectionKey, 'crossfilter');
|
|
32
|
+
}
|
|
33
|
+
}, [existingSelection, getSelection, providedSelection, selectionKey]);
|
|
34
|
+
const selection = providedSelection ?? existingSelection ?? fallbackSelection;
|
|
35
|
+
return {
|
|
36
|
+
selection,
|
|
37
|
+
selectionVersion: useSelectionVersion(selection),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=useDataTableExplorerSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerSelection.js","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,SAAS,IAAI,eAAe,GAE7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAarD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,SAAoB;IAC/C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC5D,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAA6C;IAE7C,MAAM,EAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAC,GAAG,OAAO,CAAC;IAC9D,MAAM,sBAAsB,GAAG,OAAO,CACpC,GAAG,EAAE,CAAC,8BAA8B,QAAQ,EAAE,EAAE,EAChD,EAAE,CACH,CAAC;IACF,MAAM,YAAY,GAAG,aAAa,IAAI,sBAAsB,CAAC;IAC7D,MAAM,iBAAiB,GAAG,kBAAkB,CAC1C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CACjD,CAAC;IACF,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC9E,MAAM,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAE1E,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,iBAAiB,IAAI,iBAAiB,IAAI,iBAAiB,CAAC;IAE9E,OAAO;QACL,SAAS;QACT,gBAAgB,EAAE,mBAAmB,CAAC,SAAS,CAAC;KACjD,CAAC;AACJ,CAAC","sourcesContent":["import {createId} from '@paralleldrive/cuid2';\nimport {\n Selection as MosaicSelection,\n type Selection,\n} from '@uwdata/mosaic-core';\nimport {useEffect, useMemo, useState} from 'react';\nimport {useStoreWithMosaic} from '../../MosaicSlice';\nimport type {DataTableExplorerOptions} from '../types';\n\nexport type UseDataTableExplorerSelectionOptions = Pick<\n DataTableExplorerOptions,\n 'selection' | 'selectionName'\n>;\n\nexport type UseDataTableExplorerSelectionReturn = {\n selection: Selection;\n selectionVersion: number;\n};\n\n/**\n * Tracks Mosaic selection updates as a monotonically increasing version so\n * memoized queries and lifecycle effects can respond to crossfilter changes.\n */\nfunction useSelectionVersion(selection: Selection) {\n const [version, setVersion] = useState(0);\n\n useEffect(() => {\n const handleChange = () => setVersion((value) => value + 1);\n selection.addEventListener('value', handleChange);\n return () => selection.removeEventListener('value', handleChange);\n }, [selection]);\n\n return version;\n}\n\n/**\n * Resolves the dataTableExplorer selection, creating a crossfilter selection when the\n * caller does not supply one, and exposes a version that changes with it.\n */\nexport function useDataTableExplorerSelection(\n options: UseDataTableExplorerSelectionOptions,\n): UseDataTableExplorerSelectionReturn {\n const {selection: providedSelection, selectionName} = options;\n const generatedSelectionName = useMemo(\n () => `mosaic-data-table-explorer-${createId()}`,\n [],\n );\n const selectionKey = selectionName ?? generatedSelectionName;\n const existingSelection = useStoreWithMosaic(\n (state) => state.mosaic.selections[selectionKey],\n );\n const getSelection = useStoreWithMosaic((state) => state.mosaic.getSelection);\n const [fallbackSelection] = useState(() => MosaicSelection.crossfilter());\n\n useEffect(() => {\n if (!providedSelection && !existingSelection) {\n getSelection(selectionKey, 'crossfilter');\n }\n }, [existingSelection, getSelection, providedSelection, selectionKey]);\n\n const selection = providedSelection ?? existingSelection ?? fallbackSelection;\n\n return {\n selection,\n selectionVersion: useSelectionVersion(selection),\n };\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { DataTableExplorerStoreState } from '../createDataTableExplorerStore';
|
|
2
|
+
export type UseDataTableExplorerStatusOptions = {
|
|
3
|
+
filteredCount: DataTableExplorerStoreState['filteredCount'];
|
|
4
|
+
page: DataTableExplorerStoreState['page'];
|
|
5
|
+
schema: DataTableExplorerStoreState['schema'];
|
|
6
|
+
summaries: DataTableExplorerStoreState['summaries'];
|
|
7
|
+
totalCount: DataTableExplorerStoreState['totalCount'];
|
|
8
|
+
};
|
|
9
|
+
export type UseDataTableExplorerStatusReturn = {
|
|
10
|
+
isLoading: boolean;
|
|
11
|
+
tableError?: Error;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Collapses the aggregated dataTableExplorer client state into the loading and error
|
|
15
|
+
* signals exposed from the public hook.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useDataTableExplorerStatus(options: UseDataTableExplorerStatusOptions): UseDataTableExplorerStatusReturn;
|
|
18
|
+
//# sourceMappingURL=useDataTableExplorerStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerStatus.d.ts","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,iCAAiC,CAAC;AAEjF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,aAAa,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACpD,UAAU,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iCAAiC,GACzC,gCAAgC,CAqBlC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collapses the aggregated dataTableExplorer client state into the loading and error
|
|
3
|
+
* signals exposed from the public hook.
|
|
4
|
+
*/
|
|
5
|
+
export function useDataTableExplorerStatus(options) {
|
|
6
|
+
const { filteredCount, page, schema, summaries, totalCount } = options;
|
|
7
|
+
const hasPendingSummaryInitialization = schema.fields.length > 0 &&
|
|
8
|
+
Object.keys(summaries).length < schema.fields.length;
|
|
9
|
+
return {
|
|
10
|
+
isLoading: schema.isLoading ||
|
|
11
|
+
page.isLoading ||
|
|
12
|
+
filteredCount.isLoading ||
|
|
13
|
+
totalCount.isLoading ||
|
|
14
|
+
hasPendingSummaryInitialization ||
|
|
15
|
+
Object.values(summaries).some((summary) => summary.isLoading),
|
|
16
|
+
tableError: schema.error ??
|
|
17
|
+
page.error ??
|
|
18
|
+
filteredCount.error ??
|
|
19
|
+
totalCount.error ??
|
|
20
|
+
Object.values(summaries).find((summary) => summary.error)?.error,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useDataTableExplorerStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerStatus.js","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerStatus.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA0C;IAE1C,MAAM,EAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAC,GAAG,OAAO,CAAC;IACrE,MAAM,+BAA+B,GACnC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEvD,OAAO;QACL,SAAS,EACP,MAAM,CAAC,SAAS;YAChB,IAAI,CAAC,SAAS;YACd,aAAa,CAAC,SAAS;YACvB,UAAU,CAAC,SAAS;YACpB,+BAA+B;YAC/B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/D,UAAU,EACR,MAAM,CAAC,KAAK;YACZ,IAAI,CAAC,KAAK;YACV,aAAa,CAAC,KAAK;YACnB,UAAU,CAAC,KAAK;YAChB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK;KACnE,CAAC;AACJ,CAAC","sourcesContent":["import type {DataTableExplorerStoreState} from '../createDataTableExplorerStore';\n\nexport type UseDataTableExplorerStatusOptions = {\n filteredCount: DataTableExplorerStoreState['filteredCount'];\n page: DataTableExplorerStoreState['page'];\n schema: DataTableExplorerStoreState['schema'];\n summaries: DataTableExplorerStoreState['summaries'];\n totalCount: DataTableExplorerStoreState['totalCount'];\n};\n\nexport type UseDataTableExplorerStatusReturn = {\n isLoading: boolean;\n tableError?: Error;\n};\n\n/**\n * Collapses the aggregated dataTableExplorer client state into the loading and error\n * signals exposed from the public hook.\n */\nexport function useDataTableExplorerStatus(\n options: UseDataTableExplorerStatusOptions,\n): UseDataTableExplorerStatusReturn {\n const {filteredCount, page, schema, summaries, totalCount} = options;\n const hasPendingSummaryInitialization =\n schema.fields.length > 0 &&\n Object.keys(summaries).length < schema.fields.length;\n\n return {\n isLoading:\n schema.isLoading ||\n page.isLoading ||\n filteredCount.isLoading ||\n totalCount.isLoading ||\n hasPendingSummaryInitialization ||\n Object.values(summaries).some((summary) => summary.isLoading),\n tableError:\n schema.error ??\n page.error ??\n filteredCount.error ??\n totalCount.error ??\n Object.values(summaries).find((summary) => summary.error)?.error,\n };\n}\n"]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type DataTableExplorerStore } from '../createDataTableExplorerStore';
|
|
2
|
+
import type { DataTableExplorerSorting } from '../types';
|
|
3
|
+
import type { DataTableExplorerStoreState } from '../createDataTableExplorerStore';
|
|
4
|
+
export type UseDataTableExplorerStoreStateOptions = {
|
|
5
|
+
initialSorting: DataTableExplorerSorting;
|
|
6
|
+
pageSize: number;
|
|
7
|
+
};
|
|
8
|
+
export type UseDataTableExplorerStoreStateReturn = {
|
|
9
|
+
client: DataTableExplorerStoreState['client'];
|
|
10
|
+
filteredCount: DataTableExplorerStoreState['filteredCount'];
|
|
11
|
+
lastNonEmptyPageTable: DataTableExplorerStoreState['lastNonEmptyPageTable'];
|
|
12
|
+
page: DataTableExplorerStoreState['page'];
|
|
13
|
+
pagination: DataTableExplorerStoreState['pagination'];
|
|
14
|
+
dataTableExplorerStore: DataTableExplorerStore;
|
|
15
|
+
schema: DataTableExplorerStoreState['schema'];
|
|
16
|
+
setPagination: DataTableExplorerStoreState['setPagination'];
|
|
17
|
+
setSorting: DataTableExplorerStoreState['setSorting'];
|
|
18
|
+
sorting: DataTableExplorerStoreState['sorting'];
|
|
19
|
+
summaries: DataTableExplorerStoreState['summaries'];
|
|
20
|
+
totalCount: DataTableExplorerStoreState['totalCount'];
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Creates the per-dataTableExplorer local store and subscribes to the raw state slices
|
|
24
|
+
* that the public dataTableExplorer hook exposes.
|
|
25
|
+
*/
|
|
26
|
+
export declare function useDataTableExplorerStoreState(options: UseDataTableExplorerStoreStateOptions): UseDataTableExplorerStoreStateReturn;
|
|
27
|
+
//# sourceMappingURL=useDataTableExplorerStoreState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTableExplorerStoreState.d.ts","sourceRoot":"","sources":["../../../src/data-table-explorer/hooks/useDataTableExplorerStoreState.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,iCAAiC,CAAC;AAEjF,MAAM,MAAM,qCAAqC,GAAG;IAClD,cAAc,EAAE,wBAAwB,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,aAAa,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC5D,qBAAqB,EAAE,2BAA2B,CAAC,uBAAuB,CAAC,CAAC;IAC5E,IAAI,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC;IAC1C,UAAU,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACtD,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,MAAM,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC9C,aAAa,EAAE,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAC5D,UAAU,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACtD,OAAO,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAChD,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACpD,UAAU,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,qCAAqC,GAC7C,oCAAoC,CA+BtC"}
|