drizzle-cube 0.5.8 → 0.6.0
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/README.md +2 -0
- package/dist/adapters/adapters/hono/agent-handler.d.ts +9 -0
- package/dist/adapters/adapters/hono/mcp-handler.d.ts +37 -0
- package/dist/adapters/adapters/mcp-tools-handlers.d.ts +18 -0
- package/dist/adapters/adapters/nextjs/mcp-handler.d.ts +36 -0
- package/dist/adapters/adapters/utils.d.ts +6 -81
- package/dist/adapters/express/index.cjs +1 -1
- package/dist/adapters/express/index.js +50 -50
- package/dist/adapters/fastify/index.cjs +1 -1
- package/dist/adapters/fastify/index.js +78 -78
- package/dist/adapters/google-BOnRIN1w.cjs +2 -0
- package/dist/adapters/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
- package/dist/adapters/{handler-Cx8QYLk6.js → handler-CfgE0JSL.js} +499 -576
- package/dist/adapters/handler-Cn0dOctE.cjs +25 -0
- package/dist/adapters/hono/index.cjs +2 -2
- package/dist/adapters/hono/index.js +205 -175
- package/dist/adapters/locale-DDvZDFVn.js +8114 -0
- package/dist/adapters/locale-ZLUUNUxr.cjs +166 -0
- package/dist/adapters/mcp-tools.cjs +1 -1
- package/dist/adapters/mcp-tools.js +49 -38
- package/dist/adapters/mcp-transport-Chiaj4ll.cjs +40 -0
- package/dist/adapters/mcp-transport-H96VG3WY.js +591 -0
- package/dist/adapters/nextjs/index.cjs +1 -1
- package/dist/adapters/nextjs/index.js +190 -197
- package/dist/adapters/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
- package/dist/adapters/openai-vXvLni8v.cjs +1 -0
- package/dist/adapters/{utils-D9JPLmfl.js → utils-BPWZsX7k.js} +1271 -1218
- package/dist/adapters/utils-_whV4fXL.cjs +128 -0
- package/dist/adapters/utils.cjs +1 -1
- package/dist/adapters/utils.js +2 -2
- package/dist/client/charts/ChartLoader.d.ts +2 -16
- package/dist/client/charts/chartComponentRegistry.d.ts +46 -0
- package/dist/client/charts/chartConfigHelpers.d.ts +38 -0
- package/dist/client/charts.js +14 -13
- package/dist/client/chunks/{DashboardEditModal-CjCIAT-J.js → DashboardEditModal-okVfH8ZK.js} +5296 -4544
- package/dist/client/chunks/DashboardEditModal-okVfH8ZK.js.map +1 -0
- package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js → RetentionCombinedChart-BgbDhsPz.js} +10 -10
- package/dist/client/chunks/{RetentionCombinedChart-BPkfcTa8.js.map → RetentionCombinedChart-BgbDhsPz.js.map} +1 -1
- package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js → RetentionHeatmap-DjXZaTPq.js} +5 -5
- package/dist/client/chunks/{RetentionHeatmap-DGzLzr7h.js.map → RetentionHeatmap-DjXZaTPq.js.map} +1 -1
- package/dist/client/chunks/analysis-builder-DB88FojM.js +5674 -0
- package/dist/client/chunks/analysis-builder-DB88FojM.js.map +1 -0
- package/dist/client/chunks/{analysis-builder-shared-CYVwSPqt.js → analysis-builder-shared-BVK4TYfR.js} +1578 -1292
- package/dist/client/chunks/analysis-builder-shared-BVK4TYfR.js.map +1 -0
- package/dist/client/chunks/{chart-activity-grid-DmruKPab.js → chart-activity-grid-DX0SJbxs.js} +635 -492
- package/dist/client/chunks/chart-activity-grid-DX0SJbxs.js.map +1 -0
- package/dist/client/chunks/chart-area-of01_62R.js +775 -0
- package/dist/client/chunks/chart-area-of01_62R.js.map +1 -0
- package/dist/client/chunks/chart-bar-BqelQE_I.js +194 -0
- package/dist/client/chunks/chart-bar-BqelQE_I.js.map +1 -0
- package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js → chart-box-plot-kkBixZ27.js} +2 -2
- package/dist/client/chunks/{chart-box-plot-DYKfyOI8.js.map → chart-box-plot-kkBixZ27.js.map} +1 -1
- package/dist/client/chunks/chart-bubble-B2he1--4.js +221 -0
- package/dist/client/chunks/chart-bubble-B2he1--4.js.map +1 -0
- package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js → chart-candlestick-DZp19Tzh.js} +2 -2
- package/dist/client/chunks/{chart-candlestick-Dwc92Mrj.js.map → chart-candlestick-DZp19Tzh.js.map} +1 -1
- package/dist/client/chunks/chart-config-area-BNigHUy8.js +124 -0
- package/dist/client/chunks/chart-config-area-BNigHUy8.js.map +1 -0
- package/dist/client/chunks/chart-config-bar-DSO_LRTx.js +54 -0
- package/dist/client/chunks/chart-config-bar-DSO_LRTx.js.map +1 -0
- package/dist/client/chunks/{chart-config-box-plot-DJ-dWWXA.js → chart-config-box-plot-oW8axV2q.js} +5 -10
- package/dist/client/chunks/chart-config-box-plot-oW8axV2q.js.map +1 -0
- package/dist/client/chunks/{chart-config-gauge-DSwC04l0.js → chart-config-gauge-Dq-_H9UN.js} +5 -7
- package/dist/client/chunks/chart-config-gauge-Dq-_H9UN.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-delta-D6BIkHL3.js → chart-config-kpi-delta-DSQbvqu_.js} +5 -10
- package/dist/client/chunks/chart-config-kpi-delta-DSQbvqu_.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-number-Bx-V9a62.js → chart-config-kpi-number-EFSWY1We.js} +5 -7
- package/dist/client/chunks/chart-config-kpi-number-EFSWY1We.js.map +1 -0
- package/dist/client/chunks/{chart-config-kpi-text-CcqC1u-8.js → chart-config-kpi-text-KM3V5X2u.js} +5 -7
- package/dist/client/chunks/chart-config-kpi-text-KM3V5X2u.js.map +1 -0
- package/dist/client/chunks/{chart-config-line-Db3jDsWc.js → chart-config-line-D6jG8PCH.js} +9 -36
- package/dist/client/chunks/chart-config-line-D6jG8PCH.js.map +1 -0
- package/dist/client/chunks/{chart-config-pie-DD4SmRTF.js → chart-config-pie-BhzW-fdn.js} +6 -16
- package/dist/client/chunks/chart-config-pie-BhzW-fdn.js.map +1 -0
- package/dist/client/chunks/{chart-config-radar-CC2XAaGr.js → chart-config-radar-D7REP1q_.js} +6 -16
- package/dist/client/chunks/chart-config-radar-D7REP1q_.js.map +1 -0
- package/dist/client/chunks/{chart-config-radial-bar-DmxKx1R0.js → chart-config-radial-bar-Byx6qOPU.js} +6 -16
- package/dist/client/chunks/chart-config-radial-bar-Byx6qOPU.js.map +1 -0
- package/dist/client/chunks/{chart-config-tree-map-BI-oQStO.js → chart-config-tree-map-DVrvf3yQ.js} +6 -16
- package/dist/client/chunks/chart-config-tree-map-DVrvf3yQ.js.map +1 -0
- package/dist/client/chunks/{chart-config-waterfall-DSnyixbI.js → chart-config-waterfall-DmFeQdIk.js} +5 -10
- package/dist/client/chunks/chart-config-waterfall-DmFeQdIk.js.map +1 -0
- package/dist/client/chunks/{chart-data-table-BO4sXsim.js → chart-data-table-CKauQXme.js} +1046 -1121
- package/dist/client/chunks/chart-data-table-CKauQXme.js.map +1 -0
- package/dist/client/chunks/{chart-funnel-DnWRsmnS.js → chart-funnel-CToKSBaL.js} +184 -222
- package/dist/client/chunks/chart-funnel-CToKSBaL.js.map +1 -0
- package/dist/client/chunks/chart-gauge-DTVezSk7.js +403 -0
- package/dist/client/chunks/chart-gauge-DTVezSk7.js.map +1 -0
- package/dist/client/chunks/chart-heat-map-DTuUl0BR.js +236 -0
- package/dist/client/chunks/chart-heat-map-DTuUl0BR.js.map +1 -0
- package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js +408 -0
- package/dist/client/chunks/chart-kpi-delta-Dn-jjO-2.js.map +1 -0
- package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js +244 -0
- package/dist/client/chunks/chart-kpi-number-P_WBiO5S.js.map +1 -0
- package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js +185 -0
- package/dist/client/chunks/chart-kpi-text-C-Y4eb5H.js.map +1 -0
- package/dist/client/chunks/chart-line-DKgrQA6c.js +101 -0
- package/dist/client/chunks/chart-line-DKgrQA6c.js.map +1 -0
- package/dist/client/chunks/{chart-markdown-dgUetjyM.js → chart-markdown-CV75S_zL.js} +2 -2
- package/dist/client/chunks/{chart-markdown-dgUetjyM.js.map → chart-markdown-CV75S_zL.js.map} +1 -1
- package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js → chart-measure-profile-Ket8fJyf.js} +7 -7
- package/dist/client/chunks/{chart-measure-profile-ClfpLs4q.js.map → chart-measure-profile-Ket8fJyf.js.map} +1 -1
- package/dist/client/chunks/chart-pie-ByieAX5H.js +119 -0
- package/dist/client/chunks/chart-pie-ByieAX5H.js.map +1 -0
- package/dist/client/chunks/chart-radar-CiSwHWp4.js +138 -0
- package/dist/client/chunks/chart-radar-CiSwHWp4.js.map +1 -0
- package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js +122 -0
- package/dist/client/chunks/chart-radial-bar-BF6Mhl6f.js.map +1 -0
- package/dist/client/chunks/{chart-sankey-M3XpO_ah.js → chart-sankey-DjrvKw6K.js} +36 -39
- package/dist/client/chunks/{chart-sankey-M3XpO_ah.js.map → chart-sankey-DjrvKw6K.js.map} +1 -1
- package/dist/client/chunks/chart-scatter-Dd9WFqnS.js +258 -0
- package/dist/client/chunks/chart-scatter-Dd9WFqnS.js.map +1 -0
- package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js → chart-sunburst-leGpuDj7.js} +3 -3
- package/dist/client/chunks/{chart-sunburst-A_u6lqlS.js.map → chart-sunburst-leGpuDj7.js.map} +1 -1
- package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js +323 -0
- package/dist/client/chunks/chart-tree-map-Ceq5sLZA.js.map +1 -0
- package/dist/client/chunks/{chart-waterfall-BuhMoagf.js → chart-waterfall-DyvQReN5.js} +7 -7
- package/dist/client/chunks/{chart-waterfall-BuhMoagf.js.map → chart-waterfall-DyvQReN5.js.map} +1 -1
- package/dist/client/chunks/{charts-core-jRtb0S2M.js → charts-core-DaXSt1Dd.js} +2 -2
- package/dist/client/chunks/{charts-core-jRtb0S2M.js.map → charts-core-DaXSt1Dd.js.map} +1 -1
- package/dist/client/chunks/charts-loader-DdTeCeNo.js +84 -0
- package/dist/client/chunks/charts-loader-DdTeCeNo.js.map +1 -0
- package/dist/client/chunks/{nl-NL-CpVs7ox3.js → nl-NL-2zTAWTej.js} +2 -1
- package/dist/client/chunks/{nl-NL-CpVs7ox3.js.map → nl-NL-2zTAWTej.js.map} +1 -1
- package/dist/client/chunks/retention-ChW9jYdy.js.map +1 -1
- package/dist/client/chunks/{schema-visualization-DE09kQE3.js → schema-visualization-Cb_E9_Gd.js} +12 -12
- package/dist/client/chunks/{schema-visualization-DE09kQE3.js.map → schema-visualization-Cb_E9_Gd.js.map} +1 -1
- package/dist/client/chunks/{useDirtyStateTracking-CoeQbprt.js → useDirtyStateTracking-MbpxH_v6.js} +95 -84
- package/dist/client/chunks/useDirtyStateTracking-MbpxH_v6.js.map +1 -0
- package/dist/client/chunks/{useExplainAI-DlnXWdmz.js → useExplainAI-evnZkjCY.js} +14 -14
- package/dist/client/chunks/{useExplainAI-DlnXWdmz.js.map → useExplainAI-evnZkjCY.js.map} +1 -1
- package/dist/client/chunks/{utils-CTKNaXS8.js → utils-3P6z1vz5.js} +2 -2
- package/dist/client/chunks/{utils-CTKNaXS8.js.map → utils-3P6z1vz5.js.map} +1 -1
- package/dist/client/chunks/{vendor-CPIYyeuD.js → vendor-DSpR0IW6.js} +43 -43
- package/dist/client/chunks/{vendor-CPIYyeuD.js.map → vendor-DSpR0IW6.js.map} +1 -1
- package/dist/client/components/AgenticNotebook/agentChatParts.d.ts +34 -0
- package/dist/client/components/AgenticNotebook/chatMessageParts.d.ts +39 -0
- package/dist/client/components/AgenticNotebook/useAgentChatController.d.ts +25 -0
- package/dist/client/components/AgenticNotebook/useNotebookAutosave.d.ts +12 -0
- package/dist/client/components/AnalysisBuilder/AnalysisQueryPanelParts.d.ts +64 -0
- package/dist/client/components/AnalysisBuilder/AnalysisResultsHeader.d.ts +67 -0
- package/dist/client/components/AnalysisBuilder/BreakdownComparisonToggle.d.ts +13 -0
- package/dist/client/components/AnalysisBuilder/BreakdownRow.d.ts +26 -0
- package/dist/client/components/AnalysisBuilder/DisplayOptionControl.d.ts +10 -0
- package/dist/client/components/AnalysisBuilder/ExecutionPlanPanelParts.d.ts +22 -0
- package/dist/client/components/AnalysisBuilder/FieldSearchResults.d.ts +16 -0
- package/dist/client/components/AnalysisBuilder/FilterValueInput.d.ts +63 -0
- package/dist/client/components/AnalysisBuilder/FlowDepthControls.d.ts +10 -0
- package/dist/client/components/AnalysisBuilder/FlowVisualizationPicker.d.ts +7 -0
- package/dist/client/components/AnalysisBuilder/LegacyBooleanOptions.d.ts +8 -0
- package/dist/client/components/AnalysisBuilder/MetricRow.d.ts +23 -0
- package/dist/client/components/AnalysisBuilder/SortToggleButton.d.ts +13 -0
- package/dist/client/components/AnalysisBuilder/StringArrayInput.d.ts +17 -0
- package/dist/client/components/AnalysisBuilder/filterConfigModalUtils.d.ts +30 -0
- package/dist/client/components/AnalysisBuilder/hooks/useAnalysisBuilderImperativeHandle.d.ts +13 -0
- package/dist/client/components/AnalysisBuilder/hooks/useDragReorder.d.ts +25 -0
- package/dist/client/components/AnalysisBuilder/hooks/useFieldSearchKeyboard.d.ts +11 -0
- package/dist/client/components/AnalysisBuilder/utils/axisConfigUtils.d.ts +23 -0
- package/dist/client/components/AnalysisBuilder/utils/executionPlanMarkdown.d.ts +8 -0
- package/dist/client/components/AnalysisBuilder/utils/fieldUtils.d.ts +5 -0
- package/dist/client/components/AnalysisBuilder/utils/resultsPanelDerive.d.ts +68 -0
- package/dist/client/components/AnalysisBuilder/utils/shareStateUtils.d.ts +68 -0
- package/dist/client/components/AnalysisBuilder/utils/sortUtils.d.ts +7 -0
- package/dist/client/components/DashboardFilters/CompactFilterBarParts.d.ts +26 -0
- package/dist/client/components/DashboardFilters/DashboardFilterConfigModalParts.d.ts +27 -0
- package/dist/client/components/DashboardFilters/DashboardFilterValueInput.d.ts +39 -0
- package/dist/client/components/DashboardFilters/dashboardFilterConfigModalUtils.d.ts +21 -0
- package/dist/client/components/DashboardFilters/useCompactFilterBar.d.ts +19 -0
- package/dist/client/components/DashboardFilters/useDashboardFilterConfigModal.d.ts +69 -0
- package/dist/client/components/DashboardFilters/useDateRangeState.d.ts +19 -0
- package/dist/client/components/DashboardFilters/useFilterDropdowns.d.ts +21 -0
- package/dist/client/components/DashboardFilters/useFilterValueFetch.d.ts +23 -0
- package/dist/client/components/DashboardPortletCard.d.ts +2 -57
- package/dist/client/components/analyticsPortlet/PortletChart.d.ts +31 -0
- package/dist/client/components/analyticsPortlet/PortletChartView.d.ts +35 -0
- package/dist/client/components/analyticsPortlet/PortletStates.d.ts +65 -0
- package/dist/client/components/analyticsPortlet/parsePortletQuery.d.ts +22 -0
- package/dist/client/components/analyticsPortlet/portletRenderState.d.ts +31 -0
- package/dist/client/components/analyticsPortlet/usePortletDebugData.d.ts +37 -0
- package/dist/client/components/analyticsPortlet/usePortletDrillState.d.ts +17 -0
- package/dist/client/components/analyticsPortlet/usePortletQueryResults.d.ts +37 -0
- package/dist/client/components/charts/ActivityGridChart.helpers.d.ts +33 -0
- package/dist/client/components/charts/ActivityGridChart.render.d.ts +31 -0
- package/dist/client/components/charts/AxisFormatControls.d.ts +3 -1
- package/dist/client/components/charts/BarChart.helpers.d.ts +23 -0
- package/dist/client/components/charts/BarSeries.d.ts +29 -0
- package/dist/client/components/charts/BubbleChart.helpers.d.ts +43 -0
- package/dist/client/components/charts/BubbleChart.render.d.ts +21 -0
- package/dist/client/components/charts/ChartStates.d.ts +38 -0
- package/dist/client/components/charts/FunnelChart.helpers.d.ts +25 -0
- package/dist/client/components/charts/FunnelViews.d.ts +16 -0
- package/dist/client/components/charts/HeatMapCanvas.d.ts +25 -0
- package/dist/client/components/charts/HeatMapChart.helpers.d.ts +64 -0
- package/dist/client/components/charts/KpiDelta.helpers.d.ts +20 -0
- package/dist/client/components/charts/KpiNumber.helpers.d.ts +30 -0
- package/dist/client/components/charts/KpiStates.d.ts +19 -0
- package/dist/client/components/charts/ScatterChart.helpers.d.ts +43 -0
- package/dist/client/components/charts/ScatterSeries.d.ts +17 -0
- package/dist/client/components/charts/ScatterTooltip.d.ts +21 -0
- package/dist/client/components/charts/TreeMapChart.helpers.d.ts +37 -0
- package/dist/client/components/charts/TreeMapContent.d.ts +24 -0
- package/dist/client/components/charts/TreeMapLegend.d.ts +13 -0
- package/dist/client/components/charts/cartesianChartHelpers.d.ts +126 -0
- package/dist/client/components/charts/chartAxisResolution.d.ts +32 -0
- package/dist/client/components/charts/chartScaffolding.d.ts +77 -0
- package/dist/client/components/charts/gaugeChartHelpers.d.ts +36 -0
- package/dist/client/components/charts/kpiTextHelpers.d.ts +46 -0
- package/dist/client/components/charts/radarChartHelpers.d.ts +14 -0
- package/dist/client/components/charts/radialBarChartHelpers.d.ts +22 -0
- package/dist/client/components/charts/useChartDimensions.d.ts +20 -0
- package/dist/client/components/charts/useKpiDimensions.d.ts +30 -0
- package/dist/client/components/dashboard/DashboardEditBar.d.ts +5 -0
- package/dist/client/components/dashboard/LayoutModeToggle.d.ts +10 -0
- package/dist/client/components/dashboardPortletCard/FilterFieldChip.d.ts +12 -0
- package/dist/client/components/dashboardPortletCard/PortletCardHeader.d.ts +43 -0
- package/dist/client/components/dashboardPortletCard/cardStyles.d.ts +33 -0
- package/dist/client/components/dashboardPortletCard/filterField.d.ts +12 -0
- package/dist/client/components/dashboardPortletCard/propsEqual.d.ts +55 -0
- package/dist/client/components/dashboardPortletCard/usePortletCardActions.d.ts +16 -0
- package/dist/client/components/portletAnalysisModal/saveValidation.d.ts +8 -0
- package/dist/client/components/shared/dateRangeUtils.d.ts +40 -0
- package/dist/client/components/shared/filterDisplayUtils.d.ts +10 -0
- package/dist/client/components/shared/filterItem/FilterDateRangeSelector.d.ts +17 -0
- package/dist/client/components/shared/filterItem/FilterFieldDropdown.d.ts +16 -0
- package/dist/client/components/shared/filterItem/dateRangeSync.d.ts +14 -0
- package/dist/client/components/shared/filterItem/fieldVisuals.d.ts +5 -0
- package/dist/client/components/shared/filterValueSelector/FilterValueInputs.d.ts +55 -0
- package/dist/client/components/shared/filterValueSelector/useFilterValueSelectorState.d.ts +25 -0
- package/dist/client/components/shared/queryFieldUtils.d.ts +21 -0
- package/dist/client/components/shared/utils.d.ts +4 -43
- package/dist/client/components.js +3 -3
- package/dist/client/hooks/agentChatStream.d.ts +39 -0
- package/dist/client/hooks/analysisQueryExecutionModes.d.ts +133 -0
- package/dist/client/hooks/drillNavigation.d.ts +25 -0
- package/dist/client/hooks.js +3 -3
- package/dist/client/icons.js +2 -2
- package/dist/client/index.js +816 -669
- package/dist/client/index.js.map +1 -1
- package/dist/client/providers.js +3 -3
- package/dist/client/schema.js +1 -1
- package/dist/client/shared/chartConfigBuilders.d.ts +18 -0
- package/dist/client/shared/components/QueryAnalysisPanel.sections.d.ts +41 -0
- package/dist/client/shared/queryTransforms.d.ts +20 -0
- package/dist/client/shared/utils.d.ts +2 -4
- package/dist/client/stores/optionsToAnalysisConfig.d.ts +17 -0
- package/dist/client/styles.css +1 -1
- package/dist/client/utils/axisValueFormatting.d.ts +32 -0
- package/dist/client/utils/timeValueFormatting.d.ts +32 -0
- package/dist/client/utils.js +6 -6
- package/dist/client-bundle-stats.html +1 -1
- package/dist/mcp-app/mcp-app.html +55 -55
- package/dist/server/google-BOnRIN1w.cjs +2 -0
- package/dist/server/{google-CFYljAOF.js → google-CvKM9yVM.js} +83 -71
- package/dist/server/index.cjs +179 -211
- package/dist/server/index.js +6330 -6458
- package/dist/server/{openai-BZdAA7Ji.js → openai-cDlFSTk6.js} +60 -58
- package/dist/server/openai-vXvLni8v.cjs +1 -0
- package/dist/server/server/adapters/base-adapter.d.ts +80 -35
- package/dist/server/server/adapters/databend-adapter.d.ts +8 -59
- package/dist/server/server/adapters/duckdb-adapter.d.ts +5 -59
- package/dist/server/server/adapters/mysql-adapter.d.ts +13 -70
- package/dist/server/server/adapters/postgres-adapter.d.ts +1 -65
- package/dist/server/server/adapters/snowflake-adapter.d.ts +5 -68
- package/dist/server/server/adapters/sqlite-adapter.d.ts +12 -32
- package/dist/server/server/adapters/window-function-builder.d.ts +11 -0
- package/dist/server/server/agent/chart-validation.d.ts +0 -5
- package/dist/server/server/agent/handler-steps.d.ts +37 -0
- package/dist/server/server/ai/discovery-helpers.d.ts +29 -0
- package/dist/server/server/ai/discovery.d.ts +4 -0
- package/dist/server/server/ai/suggestion-helpers.d.ts +33 -0
- package/dist/server/server/ai/suggestion.d.ts +0 -3
- package/dist/server/server/ai/validation-helpers.d.ts +21 -0
- package/dist/server/server/ai/validation.d.ts +0 -3
- package/dist/server/server/builders/analysis-utils.d.ts +106 -0
- package/dist/server/server/builders/cte-builder.d.ts +46 -0
- package/dist/server/server/builders/date-time-builder.d.ts +5 -0
- package/dist/server/server/builders/date-time-helpers.d.ts +34 -0
- package/dist/server/server/builders/filter-builder.d.ts +2 -0
- package/dist/server/server/builders/filter-operators.d.ts +23 -0
- package/dist/server/server/builders/flow-query-builder.d.ts +46 -19
- package/dist/server/server/builders/funnel-query-builder.d.ts +16 -5
- package/dist/server/server/builders/group-by-builder.d.ts +11 -0
- package/dist/server/server/builders/measure-builder.d.ts +43 -0
- package/dist/server/server/builders/retention-query-builder.d.ts +12 -14
- package/dist/server/server/cache-utils.d.ts +25 -5
- package/dist/server/server/compiler-metadata.d.ts +11 -0
- package/dist/server/server/compiler.d.ts +8 -14
- package/dist/server/server/cube-utils.d.ts +29 -4
- package/dist/server/server/execution/annotation-builder.d.ts +12 -0
- package/dist/server/server/execution/filter-cache-preloader.d.ts +19 -0
- package/dist/server/server/execution/mode-router.d.ts +25 -0
- package/dist/server/server/execution/query-result-cache.d.ts +21 -0
- package/dist/server/server/execution/result-post-processor.d.ts +10 -0
- package/dist/server/server/executor.d.ts +33 -30
- package/dist/server/server/executors/explain-utils.d.ts +28 -0
- package/dist/server/server/explain/explain-tree.d.ts +20 -0
- package/dist/server/server/filter-cache.d.ts +2 -2
- package/dist/server/server/gap-filler.d.ts +6 -0
- package/dist/server/server/index.d.ts +3 -1
- package/dist/server/server/logical-plan/cte-planner-helpers.d.ts +37 -0
- package/dist/server/server/logical-plan/cte-planner.d.ts +104 -0
- package/dist/server/server/logical-plan/filter-propagation.d.ts +44 -0
- package/dist/server/server/logical-plan/index.d.ts +6 -1
- package/dist/server/server/logical-plan/join-planner.d.ts +27 -0
- package/dist/server/server/logical-plan/logical-planner.d.ts +7 -200
- package/dist/server/server/logical-plan/optimiser.d.ts +3 -1
- package/dist/server/server/logical-plan/plan-analysis-reporter.d.ts +59 -0
- package/dist/server/server/logical-plan/planner-utils.d.ts +20 -0
- package/dist/server/server/logical-plan/types.d.ts +17 -9
- package/dist/server/server/measure-classification.d.ts +40 -0
- package/dist/server/server/physical-plan/drizzle-plan-builder.d.ts +21 -21
- package/dist/server/server/physical-plan/drizzle-sql-builder.d.ts +11 -0
- package/dist/server/server/physical-plan/processors/index.d.ts +2 -0
- package/dist/server/server/physical-plan/processors/keys-dedup-processor.d.ts +13 -0
- package/dist/server/server/physical-plan/processors/multi-fact-processor.d.ts +13 -0
- package/dist/server/server/physical-plan/processors/shared.d.ts +5 -0
- package/dist/server/server/query-handlers.d.ts +79 -0
- package/dist/server/server/query-modes.d.ts +28 -0
- package/dist/server/server/query-validator.d.ts +9 -0
- package/dist/server/server/resolvers/calculated-measure-resolver.d.ts +5 -0
- package/dist/server/server/resolvers/join-path-resolver.d.ts +6 -0
- package/dist/server/server/sql-format.d.ts +11 -0
- package/dist/server/server/types/cube.d.ts +18 -4
- package/dist/server/server/types/flow.d.ts +6 -5
- package/dist/server/server/types/index.d.ts +1 -1
- package/dist/server/server/types/validation.d.ts +14 -0
- package/package.json +11 -4
- package/dist/adapters/google-DUlXeeDA.cjs +0 -2
- package/dist/adapters/handler-CzbCuS6_.cjs +0 -25
- package/dist/adapters/locale-BPB7flIG.js +0 -8249
- package/dist/adapters/locale-tIMrNcCr.cjs +0 -198
- package/dist/adapters/mcp-transport-C2QzXm6h.cjs +0 -40
- package/dist/adapters/mcp-transport-D0B3S1tB.js +0 -579
- package/dist/adapters/openai-D_U4V0kT.cjs +0 -1
- package/dist/adapters/utils-KV37IBIv.cjs +0 -128
- package/dist/client/chunks/DashboardEditModal-CjCIAT-J.js.map +0 -1
- package/dist/client/chunks/analysis-builder-MuMIzoRq.js +0 -5367
- package/dist/client/chunks/analysis-builder-MuMIzoRq.js.map +0 -1
- package/dist/client/chunks/analysis-builder-shared-CYVwSPqt.js.map +0 -1
- package/dist/client/chunks/chart-activity-grid-DmruKPab.js.map +0 -1
- package/dist/client/chunks/chart-area-DHCPM4Em.js +0 -450
- package/dist/client/chunks/chart-area-DHCPM4Em.js.map +0 -1
- package/dist/client/chunks/chart-bar-KddciGDv.js +0 -271
- package/dist/client/chunks/chart-bar-KddciGDv.js.map +0 -1
- package/dist/client/chunks/chart-bubble-CfqiB538.js +0 -273
- package/dist/client/chunks/chart-bubble-CfqiB538.js.map +0 -1
- package/dist/client/chunks/chart-config-area-Bq_UsW3x.js +0 -101
- package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +0 -1
- package/dist/client/chunks/chart-config-bar-_JEGZnAu.js +0 -95
- package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +0 -1
- package/dist/client/chunks/chart-config-box-plot-DJ-dWWXA.js.map +0 -1
- package/dist/client/chunks/chart-config-gauge-DSwC04l0.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-delta-D6BIkHL3.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-number-Bx-V9a62.js.map +0 -1
- package/dist/client/chunks/chart-config-kpi-text-CcqC1u-8.js.map +0 -1
- package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +0 -1
- package/dist/client/chunks/chart-config-pie-DD4SmRTF.js.map +0 -1
- package/dist/client/chunks/chart-config-radar-CC2XAaGr.js.map +0 -1
- package/dist/client/chunks/chart-config-radial-bar-DmxKx1R0.js.map +0 -1
- package/dist/client/chunks/chart-config-tree-map-BI-oQStO.js.map +0 -1
- package/dist/client/chunks/chart-config-waterfall-DSnyixbI.js.map +0 -1
- package/dist/client/chunks/chart-data-table-BO4sXsim.js.map +0 -1
- package/dist/client/chunks/chart-funnel-DnWRsmnS.js.map +0 -1
- package/dist/client/chunks/chart-gauge-CgMeqeGb.js +0 -424
- package/dist/client/chunks/chart-gauge-CgMeqeGb.js.map +0 -1
- package/dist/client/chunks/chart-heat-map-DcGm9SWK.js +0 -231
- package/dist/client/chunks/chart-heat-map-DcGm9SWK.js.map +0 -1
- package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js +0 -343
- package/dist/client/chunks/chart-kpi-delta-C2wKPqCb.js.map +0 -1
- package/dist/client/chunks/chart-kpi-number-gWYF44ol.js +0 -322
- package/dist/client/chunks/chart-kpi-number-gWYF44ol.js.map +0 -1
- package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js +0 -149
- package/dist/client/chunks/chart-kpi-text-DIYtJtk4.js.map +0 -1
- package/dist/client/chunks/chart-line-9BEGN5Ti.js +0 -433
- package/dist/client/chunks/chart-line-9BEGN5Ti.js.map +0 -1
- package/dist/client/chunks/chart-pie-BjAIhyOi.js +0 -172
- package/dist/client/chunks/chart-pie-BjAIhyOi.js.map +0 -1
- package/dist/client/chunks/chart-radar-Dgkcl2bN.js +0 -154
- package/dist/client/chunks/chart-radar-Dgkcl2bN.js.map +0 -1
- package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js +0 -148
- package/dist/client/chunks/chart-radial-bar-DdWJjAhK.js.map +0 -1
- package/dist/client/chunks/chart-scatter-DaHYP_OL.js +0 -255
- package/dist/client/chunks/chart-scatter-DaHYP_OL.js.map +0 -1
- package/dist/client/chunks/chart-tree-map-uiwUU4nb.js +0 -298
- package/dist/client/chunks/chart-tree-map-uiwUU4nb.js.map +0 -1
- package/dist/client/chunks/useDirtyStateTracking-CoeQbprt.js.map +0 -1
- package/dist/server/google-DUlXeeDA.cjs +0 -2
- package/dist/server/openai-D_U4V0kT.cjs +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { DashboardFilter, CubeMeta } from '../../types';
|
|
3
|
+
export interface CompactFilterBarViewProps {
|
|
4
|
+
schema: CubeMeta | null;
|
|
5
|
+
isEditMode: boolean;
|
|
6
|
+
onAddFilter?: () => void;
|
|
7
|
+
onEditFilter?: (filterId: string) => void;
|
|
8
|
+
onRemoveFilter?: (filterId: string) => void;
|
|
9
|
+
currentDateRange: string | string[] | null;
|
|
10
|
+
activePresetId: string | null;
|
|
11
|
+
activeXTDId: string | null;
|
|
12
|
+
nonDateFilters: DashboardFilter[];
|
|
13
|
+
dateRangeTooltip: string | null;
|
|
14
|
+
showCustomDropdown: boolean;
|
|
15
|
+
setShowCustomDropdown: (next: boolean) => void;
|
|
16
|
+
showXTDDropdown: boolean;
|
|
17
|
+
setShowXTDDropdown: (next: boolean) => void;
|
|
18
|
+
customButtonRef: RefObject<HTMLButtonElement>;
|
|
19
|
+
xtdButtonRef: RefObject<HTMLButtonElement>;
|
|
20
|
+
handlePresetSelect: (presetValue: string) => void;
|
|
21
|
+
handleXTDSelect: (xtdValue: string) => void;
|
|
22
|
+
handleCustomDateSelect: (dateRange: string | string[]) => void;
|
|
23
|
+
handleFilterChange: (filterId: string, updatedFilter: DashboardFilter) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function DesktopLayout(props: CompactFilterBarViewProps): import("react").JSX.Element;
|
|
26
|
+
export declare function MobileLayout(props: CompactFilterBarViewProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MetaResponse } from '../../shared/types';
|
|
2
|
+
import { SimpleFilter, FilterOperator } from '../../types';
|
|
3
|
+
interface FieldSelectionSectionProps {
|
|
4
|
+
localFilter: SimpleFilter;
|
|
5
|
+
activeSchema: MetaResponse | null;
|
|
6
|
+
isTimeField: boolean;
|
|
7
|
+
isMeasureField: boolean;
|
|
8
|
+
showAllFields: boolean;
|
|
9
|
+
setShowAllFields: (next: boolean) => void;
|
|
10
|
+
setShowFieldSearch: (next: boolean) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function FieldSelectionSection({ localFilter, activeSchema, isTimeField, isMeasureField, showAllFields, setShowAllFields, setShowFieldSearch }: FieldSelectionSectionProps): import("react").JSX.Element;
|
|
13
|
+
interface OperatorSectionProps {
|
|
14
|
+
localFilter: SimpleFilter;
|
|
15
|
+
operatorLabel: string;
|
|
16
|
+
availableOperators: {
|
|
17
|
+
operator: string;
|
|
18
|
+
label: string;
|
|
19
|
+
}[];
|
|
20
|
+
isOperatorDropdownOpen: boolean;
|
|
21
|
+
setIsOperatorDropdownOpen: (next: boolean) => void;
|
|
22
|
+
setIsValueDropdownOpen: (next: boolean) => void;
|
|
23
|
+
setIsDateRangeDropdownOpen: (next: boolean) => void;
|
|
24
|
+
handleOperatorChange: (operator: FilterOperator) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare function OperatorSection({ localFilter, operatorLabel, availableOperators, isOperatorDropdownOpen, setIsOperatorDropdownOpen, setIsValueDropdownOpen, setIsDateRangeDropdownOpen, handleOperatorChange }: OperatorSectionProps): import("react").JSX.Element;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ChangeEvent } from 'react';
|
|
2
|
+
import { SimpleFilter } from '../../types';
|
|
3
|
+
import { DateRangeType } from '../../shared/types';
|
|
4
|
+
type OperatorMeta = {
|
|
5
|
+
requiresValues?: boolean;
|
|
6
|
+
valueType?: string;
|
|
7
|
+
supportsMultipleValues?: boolean;
|
|
8
|
+
} | undefined;
|
|
9
|
+
export interface DashboardFilterValueInputProps {
|
|
10
|
+
filter: SimpleFilter;
|
|
11
|
+
operatorMeta: OperatorMeta;
|
|
12
|
+
shouldShowDateRange: boolean;
|
|
13
|
+
shouldShowComboBox: boolean;
|
|
14
|
+
rangeType: DateRangeType;
|
|
15
|
+
numberValue: number;
|
|
16
|
+
dateRangeLabel: string;
|
|
17
|
+
isDateRangeDropdownOpen: boolean;
|
|
18
|
+
setIsOperatorDropdownOpen: (open: boolean) => void;
|
|
19
|
+
setIsValueDropdownOpen: (open: boolean) => void;
|
|
20
|
+
setIsDateRangeDropdownOpen: (open: boolean) => void;
|
|
21
|
+
handleRangeTypeChange: (rangeType: DateRangeType) => void;
|
|
22
|
+
handleNumberValueChange: (value: number) => void;
|
|
23
|
+
handleCustomStartDate: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
24
|
+
handleCustomEndDate: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
25
|
+
handleBetweenStartInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
26
|
+
handleBetweenEndInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
27
|
+
handleDateInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
28
|
+
handleDirectInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
29
|
+
isValueDropdownOpen: boolean;
|
|
30
|
+
distinctValues: unknown[];
|
|
31
|
+
valuesLoading: boolean;
|
|
32
|
+
valuesError: unknown;
|
|
33
|
+
searchText: string;
|
|
34
|
+
setSearchText: (text: string) => void;
|
|
35
|
+
handleValueSelect: (value: unknown) => void;
|
|
36
|
+
handleValueRemove: (value: unknown) => void;
|
|
37
|
+
}
|
|
38
|
+
export default function DashboardFilterValueInput(props: DashboardFilterValueInputProps): import("react").JSX.Element;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* dashboardFilterConfigModalUtils
|
|
3
|
+
*
|
|
4
|
+
* Pure helpers extracted from DashboardFilterConfigModal to keep the component's
|
|
5
|
+
* effects and handlers flat. Behaviour is identical to the previous inline logic.
|
|
6
|
+
*
|
|
7
|
+
* `deriveRangeFromDateRange` lives in the shared `dateRangeUtils` module and is
|
|
8
|
+
* re-exported here to keep existing import paths stable.
|
|
9
|
+
*/
|
|
10
|
+
export type { DerivedRange } from '../shared/dateRangeUtils';
|
|
11
|
+
export { deriveRangeFromDateRange } from '../shared/dateRangeUtils';
|
|
12
|
+
/**
|
|
13
|
+
* Compute the next filter `values` for a direct text/number input change.
|
|
14
|
+
* Mirrors the previous inline `handleDirectInput` logic exactly:
|
|
15
|
+
* - For number-typed operators: keep numeric values, clear on empty/partial sign.
|
|
16
|
+
* - For everything else: store the raw string (or clear when empty).
|
|
17
|
+
*
|
|
18
|
+
* Returns `null` when the current values should be left untouched (e.g. an
|
|
19
|
+
* unparseable number that is neither empty nor a lone "-").
|
|
20
|
+
*/
|
|
21
|
+
export declare function computeDirectInputValues(value: string, valueType: string | undefined): unknown[] | null;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DashboardFilter } from '../../types';
|
|
2
|
+
export declare function useCompactFilterBar(dashboardFilters: DashboardFilter[], onDashboardFiltersChange: (filters: DashboardFilter[]) => void): {
|
|
3
|
+
localFilters: DashboardFilter[];
|
|
4
|
+
showCustomDropdown: boolean;
|
|
5
|
+
setShowCustomDropdown: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
6
|
+
showXTDDropdown: boolean;
|
|
7
|
+
setShowXTDDropdown: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
8
|
+
customButtonRef: import('react').RefObject<HTMLButtonElement>;
|
|
9
|
+
xtdButtonRef: import('react').RefObject<HTMLButtonElement>;
|
|
10
|
+
currentDateRange: string | any[] | null;
|
|
11
|
+
activePresetId: string | null;
|
|
12
|
+
activeXTDId: string | null;
|
|
13
|
+
nonDateFilters: DashboardFilter[];
|
|
14
|
+
handlePresetSelect: (presetValue: string) => void;
|
|
15
|
+
handleXTDSelect: (xtdValue: string) => void;
|
|
16
|
+
handleCustomDateSelect: (dateRange: string | string[]) => void;
|
|
17
|
+
handleFilterChange: (filterId: string, updatedFilter: DashboardFilter) => void;
|
|
18
|
+
dateRangeTooltip: string | null;
|
|
19
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ChangeEvent } from 'react';
|
|
2
|
+
import { DashboardFilter, SimpleFilter, FilterOperator } from '../../types';
|
|
3
|
+
import { MetaResponse, MetaField } from '../../shared/types';
|
|
4
|
+
import { FieldType } from '../AnalysisBuilder/types';
|
|
5
|
+
interface UseDashboardFilterConfigModalParams {
|
|
6
|
+
initialFilter: DashboardFilter;
|
|
7
|
+
fullSchema: MetaResponse | null;
|
|
8
|
+
filteredSchema: MetaResponse | null;
|
|
9
|
+
isOpen: boolean;
|
|
10
|
+
onSave: (filter: DashboardFilter) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function useDashboardFilterConfigModal({ initialFilter, fullSchema, filteredSchema, isOpen, onSave }: UseDashboardFilterConfigModalParams): {
|
|
13
|
+
localLabel: string;
|
|
14
|
+
setLocalLabel: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
15
|
+
localFilter: SimpleFilter;
|
|
16
|
+
showAllFields: boolean;
|
|
17
|
+
setShowAllFields: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
18
|
+
showFieldSearch: boolean;
|
|
19
|
+
setShowFieldSearch: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
20
|
+
field: {
|
|
21
|
+
activeSchema: MetaResponse | null;
|
|
22
|
+
isTimeField: boolean;
|
|
23
|
+
isMeasureField: boolean;
|
|
24
|
+
fieldTitle: string;
|
|
25
|
+
operatorMeta: import('../../shared').FilterOperatorMeta;
|
|
26
|
+
availableOperators: {
|
|
27
|
+
operator: string;
|
|
28
|
+
label: string;
|
|
29
|
+
}[];
|
|
30
|
+
operatorLabel: string;
|
|
31
|
+
shouldShowDateRange: boolean;
|
|
32
|
+
shouldShowComboBox: boolean;
|
|
33
|
+
};
|
|
34
|
+
dropdowns: {
|
|
35
|
+
containerRef: import('react').RefObject<HTMLDivElement>;
|
|
36
|
+
isOperatorDropdownOpen: boolean;
|
|
37
|
+
setIsOperatorDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
38
|
+
isValueDropdownOpen: boolean;
|
|
39
|
+
setIsValueDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
40
|
+
isDateRangeDropdownOpen: boolean;
|
|
41
|
+
setIsDateRangeDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
42
|
+
};
|
|
43
|
+
values: {
|
|
44
|
+
searchText: string;
|
|
45
|
+
setSearchText: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
46
|
+
distinctValues: any[];
|
|
47
|
+
valuesLoading: boolean;
|
|
48
|
+
valuesError: string | null;
|
|
49
|
+
handleValueSelect: (value: unknown) => void;
|
|
50
|
+
handleValueRemove: (valueToRemove: unknown) => void;
|
|
51
|
+
};
|
|
52
|
+
dateRange: {
|
|
53
|
+
dateRangeLabel: string;
|
|
54
|
+
rangeType: import('../shared/types').DateRangeType;
|
|
55
|
+
numberValue: number;
|
|
56
|
+
handleRangeTypeChange: (newRangeType: import('../shared/types').DateRangeType) => void;
|
|
57
|
+
handleNumberValueChange: (value: number) => void;
|
|
58
|
+
handleCustomStartDate: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
59
|
+
handleCustomEndDate: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
60
|
+
};
|
|
61
|
+
handleFieldSelected: (field: MetaField, _fieldType: FieldType) => void;
|
|
62
|
+
handleOperatorChange: (operator: FilterOperator) => void;
|
|
63
|
+
handleDirectInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
64
|
+
handleBetweenStartInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
65
|
+
handleBetweenEndInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
66
|
+
handleDateInput: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
67
|
+
handleSave: () => void;
|
|
68
|
+
};
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeEvent } from 'react';
|
|
2
|
+
import { SimpleFilter } from '../../types';
|
|
3
|
+
import { DateRangeType } from '../../shared/types';
|
|
4
|
+
interface UseDateRangeStateParams {
|
|
5
|
+
localFilter: SimpleFilter;
|
|
6
|
+
setLocalFilter: (filter: SimpleFilter) => void;
|
|
7
|
+
shouldShowDateRange: boolean;
|
|
8
|
+
setIsDateRangeDropdownOpen: (open: boolean) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useDateRangeState({ localFilter, setLocalFilter, shouldShowDateRange, setIsDateRangeDropdownOpen }: UseDateRangeStateParams): {
|
|
11
|
+
rangeType: DateRangeType;
|
|
12
|
+
numberValue: number;
|
|
13
|
+
handleRangeTypeChange: (newRangeType: DateRangeType) => void;
|
|
14
|
+
handleNumberValueChange: (value: number) => void;
|
|
15
|
+
handleCustomStartDate: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
16
|
+
handleCustomEndDate: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
17
|
+
};
|
|
18
|
+
export type UseDateRangeState = ReturnType<typeof useDateRangeState>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useFilterDropdowns
|
|
3
|
+
*
|
|
4
|
+
* Owns the open/closed state of the three mutually-exclusive popover dropdowns
|
|
5
|
+
* (operator, value, date-range) plus the click-outside effect that closes them
|
|
6
|
+
* all. This is the single "which dropdown is open" concern; it exposes the
|
|
7
|
+
* container ref the effect watches and the individual open flags/setters.
|
|
8
|
+
*
|
|
9
|
+
* Behaviour is identical to the previous inline implementation — same effect,
|
|
10
|
+
* same dependency array, same setters.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useFilterDropdowns(): {
|
|
13
|
+
containerRef: import('react').RefObject<HTMLDivElement>;
|
|
14
|
+
isOperatorDropdownOpen: boolean;
|
|
15
|
+
setIsOperatorDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
16
|
+
isValueDropdownOpen: boolean;
|
|
17
|
+
setIsValueDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
18
|
+
isDateRangeDropdownOpen: boolean;
|
|
19
|
+
setIsDateRangeDropdownOpen: import('react').Dispatch<import('react').SetStateAction<boolean>>;
|
|
20
|
+
};
|
|
21
|
+
export type UseFilterDropdowns = ReturnType<typeof useFilterDropdowns>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { SimpleFilter } from '../../types';
|
|
2
|
+
interface OperatorMetaLike {
|
|
3
|
+
supportsMultipleValues?: boolean;
|
|
4
|
+
}
|
|
5
|
+
interface UseFilterValueFetchParams {
|
|
6
|
+
localFilter: SimpleFilter;
|
|
7
|
+
setLocalFilter: (filter: SimpleFilter) => void;
|
|
8
|
+
operatorMeta: OperatorMetaLike | undefined;
|
|
9
|
+
shouldShowComboBox: boolean;
|
|
10
|
+
isValueDropdownOpen: boolean;
|
|
11
|
+
setIsValueDropdownOpen: (open: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useFilterValueFetch({ localFilter, setLocalFilter, operatorMeta, shouldShowComboBox, isValueDropdownOpen, setIsValueDropdownOpen }: UseFilterValueFetchParams): {
|
|
14
|
+
searchText: string;
|
|
15
|
+
setSearchText: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
16
|
+
distinctValues: any[];
|
|
17
|
+
valuesLoading: boolean;
|
|
18
|
+
valuesError: string | null;
|
|
19
|
+
handleValueSelect: (value: unknown) => void;
|
|
20
|
+
handleValueRemove: (valueToRemove: unknown) => void;
|
|
21
|
+
};
|
|
22
|
+
export type UseFilterValueFetch = ReturnType<typeof useFilterValueFetch>;
|
|
23
|
+
export {};
|
|
@@ -1,59 +1,4 @@
|
|
|
1
|
-
import { default as React
|
|
2
|
-
import {
|
|
3
|
-
import { ColorPalette } from '../utils/colorPalettes';
|
|
4
|
-
/**
|
|
5
|
-
* Simplified props interface after Zustand migration.
|
|
6
|
-
* State (selectedFilterId, debugData) now comes from store.
|
|
7
|
-
* Actions now come from callbacks prop or store.
|
|
8
|
-
*/
|
|
9
|
-
interface DashboardPortletCardProps {
|
|
10
|
-
portlet: PortletConfig;
|
|
11
|
-
editable: boolean;
|
|
12
|
-
layoutMode?: DashboardLayoutMode;
|
|
13
|
-
dashboardFilters?: DashboardFilter[];
|
|
14
|
-
configEagerLoad?: boolean;
|
|
15
|
-
loadingComponent?: ReactNode;
|
|
16
|
-
colorPalette?: ColorPalette;
|
|
17
|
-
containerProps?: HTMLAttributes<HTMLDivElement>;
|
|
18
|
-
headerProps?: HTMLAttributes<HTMLDivElement>;
|
|
19
|
-
setPortletRef: (portletId: string, element: HTMLDivElement | null) => void;
|
|
20
|
-
setPortletComponentRef: (portletId: string, element: {
|
|
21
|
-
refresh: (options?: {
|
|
22
|
-
bustCache?: boolean;
|
|
23
|
-
}) => void;
|
|
24
|
-
} | null) => void;
|
|
25
|
-
callbacks: {
|
|
26
|
-
onToggleFilter: (portletId: string, filterId: string) => void;
|
|
27
|
-
onRefresh: (portletId: string, options?: {
|
|
28
|
-
bustCache?: boolean;
|
|
29
|
-
}) => void;
|
|
30
|
-
onDuplicate: (portletId: string) => void;
|
|
31
|
-
onEdit: (portlet: PortletConfig) => void;
|
|
32
|
-
onDelete: (portletId: string) => void;
|
|
33
|
-
onOpenFilterConfig: (portlet: PortletConfig) => void;
|
|
34
|
-
};
|
|
35
|
-
icons: {
|
|
36
|
-
RefreshIcon: ComponentType<{
|
|
37
|
-
className?: string;
|
|
38
|
-
style?: CSSProperties;
|
|
39
|
-
}>;
|
|
40
|
-
EditIcon: ComponentType<{
|
|
41
|
-
className?: string;
|
|
42
|
-
style?: CSSProperties;
|
|
43
|
-
}>;
|
|
44
|
-
DeleteIcon: ComponentType<{
|
|
45
|
-
className?: string;
|
|
46
|
-
style?: CSSProperties;
|
|
47
|
-
}>;
|
|
48
|
-
CopyIcon: ComponentType<{
|
|
49
|
-
className?: string;
|
|
50
|
-
style?: CSSProperties;
|
|
51
|
-
}>;
|
|
52
|
-
FilterIcon: ComponentType<{
|
|
53
|
-
className?: string;
|
|
54
|
-
style?: CSSProperties;
|
|
55
|
-
}>;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { DashboardPortletCardProps } from './dashboardPortletCard/propsEqual';
|
|
58
3
|
declare const DashboardPortletCard: React.NamedExoticComponent<DashboardPortletCardProps>;
|
|
59
4
|
export default DashboardPortletCard;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ChartAxisConfig, ChartDisplayConfig, ChartType, CubeQuery } from '../../types';
|
|
2
|
+
import { FlowChartData } from '../../types/flow';
|
|
3
|
+
import { RetentionChartData } from '../../types/retention';
|
|
4
|
+
import { ColorPalette } from '../../utils/colorPalettes';
|
|
5
|
+
type Height = string | number;
|
|
6
|
+
interface ResultSetLike {
|
|
7
|
+
tablePivot: () => unknown;
|
|
8
|
+
rawData: () => unknown;
|
|
9
|
+
}
|
|
10
|
+
export interface PortletChartProps {
|
|
11
|
+
chartType: ChartType;
|
|
12
|
+
height: Height;
|
|
13
|
+
shouldSkipQuery: boolean;
|
|
14
|
+
isMultiQuery: boolean;
|
|
15
|
+
isFunnelMode: boolean;
|
|
16
|
+
isFlowMode: boolean;
|
|
17
|
+
isRetentionMode: boolean;
|
|
18
|
+
resultSet: ResultSetLike | null;
|
|
19
|
+
multiQueryData: unknown[] | null;
|
|
20
|
+
flowChartData: FlowChartData | null;
|
|
21
|
+
retentionChartData: RetentionChartData | null;
|
|
22
|
+
chartConfig?: ChartAxisConfig;
|
|
23
|
+
displayConfig?: ChartDisplayConfig;
|
|
24
|
+
activeQuery: CubeQuery | null;
|
|
25
|
+
colorPalette?: ColorPalette;
|
|
26
|
+
drillEnabled: boolean;
|
|
27
|
+
currentChartConfig?: ChartAxisConfig | null;
|
|
28
|
+
onDataPointClick?: (...args: any[]) => void;
|
|
29
|
+
}
|
|
30
|
+
export declare function PortletChart(props: PortletChartProps): import("react").JSX.Element;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { ChartAxisConfig, ChartDisplayConfig, ChartType, CubeQuery } from '../../types';
|
|
2
|
+
import { FlowChartData } from '../../types/flow';
|
|
3
|
+
import { RetentionChartData } from '../../types/retention';
|
|
4
|
+
import { ColorPalette } from '../../utils/colorPalettes';
|
|
5
|
+
import { DrillInteraction } from '../../types/drill';
|
|
6
|
+
type Height = string | number;
|
|
7
|
+
interface ResultSetLike {
|
|
8
|
+
tablePivot: () => unknown;
|
|
9
|
+
rawData: () => unknown;
|
|
10
|
+
}
|
|
11
|
+
export interface PortletChartViewProps {
|
|
12
|
+
title?: string;
|
|
13
|
+
query: string;
|
|
14
|
+
chartType: ChartType;
|
|
15
|
+
height: Height;
|
|
16
|
+
chartConfig?: ChartAxisConfig;
|
|
17
|
+
displayConfig?: ChartDisplayConfig;
|
|
18
|
+
colorPalette?: ColorPalette;
|
|
19
|
+
shouldSkipQuery: boolean;
|
|
20
|
+
isMultiQuery: boolean;
|
|
21
|
+
isFunnelMode: boolean;
|
|
22
|
+
isFlowMode: boolean;
|
|
23
|
+
isRetentionMode: boolean;
|
|
24
|
+
resultSet: ResultSetLike | null;
|
|
25
|
+
multiQueryData: unknown[] | null;
|
|
26
|
+
flowChartData: FlowChartData | null;
|
|
27
|
+
retentionChartData: RetentionChartData | null;
|
|
28
|
+
activeQuery: CubeQuery | null;
|
|
29
|
+
drill: DrillInteraction;
|
|
30
|
+
isDrillEnabled: boolean;
|
|
31
|
+
onNavigateBack: () => void;
|
|
32
|
+
onNavigateToLevel: (index: number) => void;
|
|
33
|
+
}
|
|
34
|
+
export declare function PortletChartView(props: PortletChartViewProps): import("react").JSX.Element;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ReactNode, Ref } from 'react';
|
|
2
|
+
import { ChartType } from '../../types';
|
|
3
|
+
import { DrillPathEntry } from '../../types/drill';
|
|
4
|
+
type Height = string | number;
|
|
5
|
+
export declare function PortletConfigRequired({ inViewRef, height }: {
|
|
6
|
+
inViewRef: Ref<HTMLDivElement>;
|
|
7
|
+
height: Height;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
9
|
+
export declare function PortletLazyPlaceholder({ inViewRef, height }: {
|
|
10
|
+
inViewRef: Ref<HTMLDivElement>;
|
|
11
|
+
height: Height;
|
|
12
|
+
}): import("react").JSX.Element;
|
|
13
|
+
export declare function PortletLoading({ inViewRef, height, loadingComponent }: {
|
|
14
|
+
inViewRef: Ref<HTMLDivElement>;
|
|
15
|
+
height: Height;
|
|
16
|
+
loadingComponent?: ReactNode;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
interface PortletErrorProps {
|
|
19
|
+
inViewRef: Ref<HTMLDivElement>;
|
|
20
|
+
height: Height;
|
|
21
|
+
error: {
|
|
22
|
+
message?: string;
|
|
23
|
+
toString: () => string;
|
|
24
|
+
};
|
|
25
|
+
onRetry: () => void;
|
|
26
|
+
activeQuery: unknown;
|
|
27
|
+
query: string;
|
|
28
|
+
chartType: ChartType;
|
|
29
|
+
chartConfig: unknown;
|
|
30
|
+
displayConfig: unknown;
|
|
31
|
+
}
|
|
32
|
+
export declare function PortletError({ inViewRef, height, error, onRetry, activeQuery, query, chartType, chartConfig, displayConfig }: PortletErrorProps): import("react").JSX.Element;
|
|
33
|
+
interface PortletNoDataProps {
|
|
34
|
+
inViewRef: Ref<HTMLDivElement>;
|
|
35
|
+
height: Height;
|
|
36
|
+
drillPath: DrillPathEntry[];
|
|
37
|
+
onNavigateBack: () => void;
|
|
38
|
+
onNavigateToLevel: (index: number) => void;
|
|
39
|
+
}
|
|
40
|
+
export declare function PortletNoData({ inViewRef, height, drillPath, onNavigateBack, onNavigateToLevel }: PortletNoDataProps): import("react").JSX.Element;
|
|
41
|
+
export type PortletStateKind = 'config-required' | 'lazy-placeholder' | 'loading' | 'error';
|
|
42
|
+
interface PortletStateViewProps {
|
|
43
|
+
kind: PortletStateKind | 'no-data';
|
|
44
|
+
inViewRef: Ref<HTMLDivElement>;
|
|
45
|
+
height: Height;
|
|
46
|
+
loadingComponent?: ReactNode;
|
|
47
|
+
error: {
|
|
48
|
+
message?: string;
|
|
49
|
+
toString: () => string;
|
|
50
|
+
} | null;
|
|
51
|
+
onRetry: () => void;
|
|
52
|
+
activeQuery: unknown;
|
|
53
|
+
query: string;
|
|
54
|
+
chartType: ChartType;
|
|
55
|
+
chartConfig: unknown;
|
|
56
|
+
displayConfig: unknown;
|
|
57
|
+
drillPath: DrillPathEntry[];
|
|
58
|
+
onNavigateBack: () => void;
|
|
59
|
+
onNavigateToLevel: (index: number) => void;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Renders the appropriate non-chart state view for the given render kind.
|
|
63
|
+
*/
|
|
64
|
+
export declare function PortletStateView(props: PortletStateViewProps): import("react").JSX.Element;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CubeQuery, DashboardFilter, DashboardFilterMapping, MultiQueryConfig, ServerFunnelQuery } from '../../types';
|
|
2
|
+
import { ServerFlowQuery } from '../../types/flow';
|
|
3
|
+
import { ServerRetentionQuery } from '../../types/retention';
|
|
4
|
+
export interface ParsedPortletQuery {
|
|
5
|
+
queryObject: CubeQuery | null;
|
|
6
|
+
multiQueryConfig: MultiQueryConfig | null;
|
|
7
|
+
serverFunnelQuery: ServerFunnelQuery | null;
|
|
8
|
+
serverFlowQuery: ServerFlowQuery | null;
|
|
9
|
+
serverRetentionQuery: ServerRetentionQuery | null;
|
|
10
|
+
}
|
|
11
|
+
export interface ParsePortletQueryParams {
|
|
12
|
+
query: string;
|
|
13
|
+
shouldSkipQuery: boolean;
|
|
14
|
+
regularFilters?: DashboardFilter[];
|
|
15
|
+
dashboardFilters?: DashboardFilter[];
|
|
16
|
+
dashboardFilterMapping?: DashboardFilterMapping;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Parse the portlet query string and merge applicable dashboard filters.
|
|
20
|
+
* Returns a discriminated set of possible query shapes (only one non-null).
|
|
21
|
+
*/
|
|
22
|
+
export declare function parsePortletQuery(params: ParsePortletQueryParams): ParsedPortletQuery;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FlowChartData, ServerFlowQuery } from '../../types/flow';
|
|
2
|
+
import { RetentionChartData, ServerRetentionQuery } from '../../types/retention';
|
|
3
|
+
import { CubeQuery, MultiQueryConfig, ServerFunnelQuery } from '../../types';
|
|
4
|
+
export type PortletRenderKind = 'config-required' | 'lazy-placeholder' | 'loading' | 'error' | 'no-data' | 'chart';
|
|
5
|
+
export interface PortletRenderStateParams {
|
|
6
|
+
hasChartConfig: boolean;
|
|
7
|
+
hasMandatoryFields: boolean;
|
|
8
|
+
shouldSkipQuery: boolean;
|
|
9
|
+
eagerLoad: boolean;
|
|
10
|
+
isVisible: boolean;
|
|
11
|
+
isLoading: boolean;
|
|
12
|
+
isFetching: boolean;
|
|
13
|
+
error: unknown;
|
|
14
|
+
isMultiQuery: boolean;
|
|
15
|
+
isFunnelMode: boolean;
|
|
16
|
+
isFlowMode: boolean;
|
|
17
|
+
isRetentionMode: boolean;
|
|
18
|
+
queryObject: CubeQuery | null;
|
|
19
|
+
multiQueryConfig: MultiQueryConfig | null;
|
|
20
|
+
serverFunnelQuery: ServerFunnelQuery | null;
|
|
21
|
+
serverFlowQuery: ServerFlowQuery | null;
|
|
22
|
+
serverRetentionQuery: ServerRetentionQuery | null;
|
|
23
|
+
resultSet: unknown;
|
|
24
|
+
multiQueryData: unknown[] | null;
|
|
25
|
+
flowChartData: FlowChartData | null;
|
|
26
|
+
retentionChartData: RetentionChartData | null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve which view the portlet should render.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolvePortletRenderKind(p: PortletRenderStateParams): PortletRenderKind;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AnalyticsPortletProps, ChartAxisConfig, ChartDisplayConfig, ChartType, CubeQuery, ServerFunnelQuery } from '../../types';
|
|
2
|
+
import { FlowChartData, ServerFlowQuery } from '../../types/flow';
|
|
3
|
+
import { RetentionChartData, ServerRetentionQuery } from '../../types/retention';
|
|
4
|
+
import { DrillPathEntry } from '../../types/drill';
|
|
5
|
+
type DebugEntry = Parameters<NonNullable<AnalyticsPortletProps['onDebugDataReady']>>[0];
|
|
6
|
+
type CacheInfo = DebugEntry['cacheInfo'];
|
|
7
|
+
interface ResultSetLike {
|
|
8
|
+
tablePivot: () => unknown;
|
|
9
|
+
rawData: () => unknown;
|
|
10
|
+
cacheInfo?: () => CacheInfo;
|
|
11
|
+
}
|
|
12
|
+
export interface UsePortletDebugDataParams {
|
|
13
|
+
onDebugDataReady?: AnalyticsPortletProps['onDebugDataReady'];
|
|
14
|
+
error: unknown;
|
|
15
|
+
chartType: ChartType;
|
|
16
|
+
chartConfig?: ChartAxisConfig;
|
|
17
|
+
displayConfig?: ChartDisplayConfig;
|
|
18
|
+
isFunnelMode: boolean;
|
|
19
|
+
isFlowMode: boolean;
|
|
20
|
+
isRetentionMode: boolean;
|
|
21
|
+
queryObject: CubeQuery | null;
|
|
22
|
+
activeQuery: CubeQuery | null;
|
|
23
|
+
serverFunnelQuery: ServerFunnelQuery | null;
|
|
24
|
+
serverFlowQuery: ServerFlowQuery | null;
|
|
25
|
+
serverRetentionQuery: ServerRetentionQuery | null;
|
|
26
|
+
resultSet: ResultSetLike | null;
|
|
27
|
+
multiQueryData: unknown[] | null;
|
|
28
|
+
flowChartData: FlowChartData | null;
|
|
29
|
+
retentionChartData: RetentionChartData | null;
|
|
30
|
+
funnelCacheInfo?: CacheInfo;
|
|
31
|
+
flowCacheInfo?: CacheInfo;
|
|
32
|
+
retentionCacheInfo?: CacheInfo;
|
|
33
|
+
drillPath: DrillPathEntry[];
|
|
34
|
+
currentChartConfig?: ChartAxisConfig | null;
|
|
35
|
+
}
|
|
36
|
+
export declare function usePortletDebugData(params: UsePortletDebugDataParams): void;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ChartAxisConfig, CubeQuery, DashboardFilter, DashboardFilterMapping } from '../../types';
|
|
2
|
+
export interface UsePortletDrillStateParams {
|
|
3
|
+
queryObject: CubeQuery | null;
|
|
4
|
+
chartConfig?: ChartAxisConfig;
|
|
5
|
+
dashboardFilters?: DashboardFilter[];
|
|
6
|
+
dashboardFilterMapping?: DashboardFilterMapping;
|
|
7
|
+
isMultiQuery: boolean;
|
|
8
|
+
isFunnelMode: boolean;
|
|
9
|
+
isFlowMode: boolean;
|
|
10
|
+
isRetentionMode: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare function usePortletDrillState(params: UsePortletDrillStateParams): {
|
|
13
|
+
drill: import('../../types').DrillInteraction;
|
|
14
|
+
activeQuery: CubeQuery | null;
|
|
15
|
+
handleNavigateBack: () => void;
|
|
16
|
+
handleNavigateToLevel: (index: number) => void;
|
|
17
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useCubeLoadQuery, useFunnelQuery, useFlowQuery, useRetentionQuery } from '../../hooks/queries';
|
|
2
|
+
import { CubeQuery, MultiQueryConfig, ServerFunnelQuery } from '../../types';
|
|
3
|
+
import { FlowChartData, ServerFlowQuery } from '../../types/flow';
|
|
4
|
+
import { RetentionChartData, ServerRetentionQuery } from '../../types/retention';
|
|
5
|
+
interface RefreshOptions {
|
|
6
|
+
bustCache?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface UsePortletQueryResultsParams {
|
|
9
|
+
activeQuery: CubeQuery | null;
|
|
10
|
+
multiQueryConfig: MultiQueryConfig | null;
|
|
11
|
+
serverFunnelQuery: ServerFunnelQuery | null;
|
|
12
|
+
serverFlowQuery: ServerFlowQuery | null;
|
|
13
|
+
serverRetentionQuery: ServerRetentionQuery | null;
|
|
14
|
+
isMultiQuery: boolean;
|
|
15
|
+
isFunnelMode: boolean;
|
|
16
|
+
isFlowMode: boolean;
|
|
17
|
+
isRetentionMode: boolean;
|
|
18
|
+
shouldSkipQuery: boolean;
|
|
19
|
+
eagerLoad: boolean;
|
|
20
|
+
isVisible: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface PortletQueryResults {
|
|
23
|
+
resultSet: ReturnType<typeof useCubeLoadQuery>['resultSet'];
|
|
24
|
+
isLoading: boolean;
|
|
25
|
+
isFetching: boolean;
|
|
26
|
+
error: unknown;
|
|
27
|
+
multiQueryData: unknown[] | null;
|
|
28
|
+
flowChartData: FlowChartData | null;
|
|
29
|
+
retentionChartData: RetentionChartData | null;
|
|
30
|
+
funnelCacheInfo: ReturnType<typeof useFunnelQuery>['cacheInfo'];
|
|
31
|
+
flowCacheInfo: ReturnType<typeof useFlowQuery>['cacheInfo'];
|
|
32
|
+
retentionCacheInfo: ReturnType<typeof useRetentionQuery>['cacheInfo'];
|
|
33
|
+
refresh: (options?: RefreshOptions) => void;
|
|
34
|
+
retry: () => void;
|
|
35
|
+
}
|
|
36
|
+
export declare function usePortletQueryResults(params: UsePortletQueryResultsParams): PortletQueryResults;
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CubeQuery } from '../../types';
|
|
2
|
+
export interface GridCell {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
value: number;
|
|
6
|
+
date: Date;
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
export interface GridMapping {
|
|
10
|
+
extractX: (date: Date) => number;
|
|
11
|
+
extractY: (date: Date) => number;
|
|
12
|
+
xLabels: string[];
|
|
13
|
+
yLabels: string[];
|
|
14
|
+
xFormat: (value: number) => string;
|
|
15
|
+
yFormat: (value: number) => string;
|
|
16
|
+
cellWidth: number;
|
|
17
|
+
cellHeight: number;
|
|
18
|
+
hasHierarchicalLabels?: boolean;
|
|
19
|
+
getYearFromX?: (value: number) => number;
|
|
20
|
+
}
|
|
21
|
+
/** Week-of-year (1-53) with the ISO-aligned year for the given date. */
|
|
22
|
+
export declare function getWeekOfYear(date: Date): {
|
|
23
|
+
year: number;
|
|
24
|
+
week: number;
|
|
25
|
+
};
|
|
26
|
+
/** Get the grid coordinate mapping for a granularity (null when unsupported). */
|
|
27
|
+
export declare function getGridMapping(granularity: string): GridMapping | null;
|
|
28
|
+
/** Resolve the first matching field (string | array) for a date config value. */
|
|
29
|
+
export declare function firstDateField(value: string | string[] | undefined): string | undefined;
|
|
30
|
+
/** Get the query granularity for the date field, falling back to 'day'. */
|
|
31
|
+
export declare function getQueryGranularity(queryObject: CubeQuery | undefined, dateField: string): string;
|
|
32
|
+
/** Transform query rows into grid cells, skipping invalid dates. */
|
|
33
|
+
export declare function buildGridData(data: Record<string, any>[], dateField: string, valueField: string, gridMapping: GridMapping, granularity: string): GridCell[];
|