@quillsql/react 2.13.7 → 2.13.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/dist/cjs/Chart.d.ts +5 -5
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +19 -8
- package/dist/cjs/ChartBuilder.d.ts +1 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +58 -93
- package/dist/cjs/ChartEditor.js +1 -1
- package/dist/cjs/Context.d.ts +9 -8
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +119 -34
- package/dist/cjs/Dashboard.d.ts +20 -8
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +68 -58
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -2
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -2
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +20 -20
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +64 -52
- package/dist/cjs/ReportBuilder.d.ts +2 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +339 -339
- package/dist/cjs/SQLEditor.d.ts +1 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +30 -18
- package/dist/cjs/components/Banner/index.d.ts +0 -1
- package/dist/cjs/components/Banner/index.d.ts.map +1 -1
- package/dist/cjs/components/Banner/index.js +1 -1
- package/dist/cjs/components/Chart/BarChart.d.ts +0 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +1 -1
- package/dist/cjs/components/Chart/BarList.js +1 -2
- package/dist/cjs/components/Chart/ChartError.js +2 -3
- package/dist/cjs/components/Chart/ChartSkeleton.js +1 -1
- package/dist/cjs/components/Chart/ChartTooltip.js +1 -1
- package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +0 -1
- package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartTooltipFrame.js +1 -1
- package/dist/cjs/components/Chart/ChartTooltipGroup.js +1 -1
- package/dist/cjs/components/Chart/ChartTooltipRow.js +1 -1
- package/dist/cjs/components/Chart/LineChart.d.ts +0 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +1 -1
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +18 -9
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts +0 -1
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +10 -2
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +9 -23
- package/dist/cjs/components/Dashboard/DashboardSection.d.ts +0 -1
- package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardSection.js +1 -1
- package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +0 -1
- package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +9 -7
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +104 -61
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts +0 -1
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
- package/dist/cjs/components/Dashboard/TableComponent.d.ts +0 -1
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +1 -1
- package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +0 -1
- package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TemplateChartComponent.js +1 -1
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +0 -1
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +1 -1
- package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +0 -1
- package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TemplateTableComponent.js +1 -1
- package/dist/cjs/components/Dashboard/util.js +2 -3
- package/dist/cjs/components/QuillCard.js +1 -2
- package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelect.js +21 -20
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +172 -70
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +9 -8
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +26 -12
- package/dist/cjs/components/QuillTable.d.ts +5 -1
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +5 -3
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -3
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +5 -6
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +3 -4
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +45 -39
- package/dist/cjs/components/ReportBuilder/FilterStack.js +1 -1
- package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ast.js +2 -2
- package/dist/cjs/components/ReportBuilder/convert.js +11 -12
- package/dist/cjs/components/ReportBuilder/postgres.js +4 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +3 -3
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +21 -23
- package/dist/cjs/components/UiComponents.d.ts +14 -12
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +41 -17
- package/dist/cjs/components/selectUtils.js +3 -3
- package/dist/cjs/contexts/BaseColorContext.d.ts +0 -1
- package/dist/cjs/contexts/BaseColorContext.d.ts.map +1 -1
- package/dist/cjs/contexts/RootStylesContext.d.ts +0 -1
- package/dist/cjs/contexts/RootStylesContext.d.ts.map +1 -1
- package/dist/cjs/contexts/SelectedValueContext.d.ts +0 -1
- package/dist/cjs/contexts/SelectedValueContext.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.d.ts +2 -2
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +11 -11
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.d.ts +8 -7
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +47 -31
- package/dist/cjs/hooks/useExport.d.ts +3 -4
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +6 -2
- package/dist/cjs/hooks/useInternalState.d.ts +1 -2
- package/dist/cjs/hooks/useInternalState.d.ts.map +1 -1
- package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -1
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.d.ts +0 -14
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +17 -55
- package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +7 -2
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +4 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +32 -7
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +17 -13
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +368 -162
- package/dist/cjs/lib/utils.d.ts +0 -1
- package/dist/cjs/lib/utils.d.ts.map +1 -1
- package/dist/cjs/lib/utils.js +2 -2
- package/dist/cjs/models/Filter.d.ts +49 -30
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +125 -52
- package/dist/cjs/models/Pivot.d.ts +3 -1
- package/dist/cjs/models/Pivot.d.ts.map +1 -1
- package/dist/cjs/models/Report.d.ts +2 -2
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts +4 -4
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +3839 -3427
- package/dist/cjs/utils/astProcessing.d.ts +12 -3
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +76 -11
- package/dist/cjs/utils/client.js +2 -2
- package/dist/cjs/utils/color.js +5 -6
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +7 -7
- package/dist/cjs/utils/crypto.js +1 -2
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +34 -30
- package/dist/cjs/utils/dataFetcher.js +3 -4
- package/dist/cjs/utils/dataProcessing.js +2 -2
- package/dist/cjs/utils/dates.d.ts +4 -1
- package/dist/cjs/utils/dates.d.ts.map +1 -1
- package/dist/cjs/utils/dates.js +12 -10
- package/dist/cjs/utils/errorProcessing.js +1 -2
- package/dist/cjs/utils/filterProcessing.d.ts +3 -3
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +30 -27
- package/dist/cjs/utils/getDomain.js +1 -1
- package/dist/cjs/utils/logging.js +1 -2
- package/dist/cjs/utils/merge.d.ts +1 -1
- package/dist/cjs/utils/merge.d.ts.map +1 -1
- package/dist/cjs/utils/merge.js +15 -11
- package/dist/cjs/utils/monacoConfig.js +3 -3
- package/dist/cjs/utils/paginationProcessing.js +3 -3
- package/dist/cjs/utils/pivotConstructor.d.ts +4 -4
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +104 -127
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +14 -16
- package/dist/cjs/utils/queryConstructor.d.ts +2 -2
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +344 -78
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +22 -12
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/styles.js +1 -2
- package/dist/cjs/utils/tableProcessing.d.ts +12 -12
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +69 -26
- package/dist/cjs/utils/textProcessing.js +5 -6
- package/dist/cjs/utils/validation.d.ts.map +1 -1
- package/dist/cjs/utils/validation.js +3 -1
- package/dist/cjs/utils/valueFormatter.d.ts +1 -0
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +2 -0
- package/dist/cjs/utils/width.d.ts.map +1 -1
- package/dist/esm/Chart.d.ts +5 -5
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +15 -4
- package/dist/esm/ChartBuilder.d.ts +1 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +52 -87
- package/dist/esm/Context.d.ts +9 -8
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +119 -34
- package/dist/esm/Dashboard.d.ts +20 -8
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +68 -58
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -2
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +20 -20
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +64 -52
- package/dist/esm/ReportBuilder.d.ts +2 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +343 -343
- package/dist/esm/SQLEditor.d.ts +1 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +29 -17
- package/dist/esm/components/Banner/index.d.ts +0 -1
- package/dist/esm/components/Banner/index.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.d.ts +0 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +0 -1
- package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.d.ts +0 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +18 -9
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +0 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +10 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +8 -21
- package/dist/esm/components/Dashboard/DashboardSection.d.ts +0 -1
- package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +0 -1
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts +9 -7
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +102 -62
- package/dist/esm/components/Dashboard/MetricComponent.d.ts +0 -1
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
- package/dist/esm/components/Dashboard/TableComponent.d.ts +0 -1
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +0 -1
- package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +0 -1
- package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +0 -1
- package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelect.js +19 -18
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +171 -69
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +8 -6
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +25 -10
- package/dist/esm/components/QuillTable.d.ts +5 -1
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +4 -2
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -3
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +5 -6
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +3 -4
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +46 -40
- package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts +3 -3
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +0 -2
- package/dist/esm/components/UiComponents.d.ts +14 -12
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +37 -14
- package/dist/esm/contexts/BaseColorContext.d.ts +0 -1
- package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -1
- package/dist/esm/contexts/RootStylesContext.d.ts +0 -1
- package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -1
- package/dist/esm/contexts/SelectedValueContext.d.ts +0 -1
- package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.d.ts +2 -2
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +12 -12
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.d.ts +8 -7
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +48 -32
- package/dist/esm/hooks/useExport.d.ts +3 -4
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +6 -2
- package/dist/esm/hooks/useInternalState.d.ts +1 -2
- package/dist/esm/hooks/useInternalState.d.ts.map +1 -1
- package/dist/esm/hooks/useOnClickOutside.d.ts +3 -1
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.d.ts +0 -14
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +16 -53
- package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +4 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +32 -7
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +17 -13
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +364 -158
- package/dist/esm/lib/utils.d.ts +0 -1
- package/dist/esm/lib/utils.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts +49 -30
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +123 -50
- package/dist/esm/models/Pivot.d.ts +3 -1
- package/dist/esm/models/Pivot.d.ts.map +1 -1
- package/dist/esm/models/Report.d.ts +2 -2
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts +4 -4
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +3835 -3423
- package/dist/esm/utils/astProcessing.d.ts +12 -3
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +64 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +1 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +31 -26
- package/dist/esm/utils/dates.d.ts +4 -1
- package/dist/esm/utils/dates.d.ts.map +1 -1
- package/dist/esm/utils/dates.js +6 -3
- package/dist/esm/utils/filterProcessing.d.ts +3 -3
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +22 -19
- package/dist/esm/utils/merge.d.ts +1 -1
- package/dist/esm/utils/merge.d.ts.map +1 -1
- package/dist/esm/utils/merge.js +14 -9
- package/dist/esm/utils/pivotConstructor.d.ts +4 -4
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +103 -125
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +9 -11
- package/dist/esm/utils/queryConstructor.d.ts +2 -2
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +338 -71
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +18 -8
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.d.ts +12 -12
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +69 -26
- package/dist/esm/utils/validation.d.ts.map +1 -1
- package/dist/esm/utils/validation.js +3 -1
- package/dist/esm/utils/valueFormatter.d.ts +1 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +2 -1
- package/dist/esm/utils/width.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/cjs/utils/report.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchReportBuilderDataFromAST = exports.
|
|
3
|
+
exports.fetchReportBuilderDataFromAST = exports.formatRowsFromReport = exports.EMPTY_INTERNAL_REPORT = exports.EMPTY_REPORT = void 0;
|
|
4
|
+
exports.fetchReport = fetchReport;
|
|
5
|
+
exports.fetchReportRowCount = fetchReportRowCount;
|
|
6
|
+
exports.saveReport = saveReport;
|
|
7
|
+
exports.convertInternalReportToReport = convertInternalReportToReport;
|
|
4
8
|
const ChartBuilder_1 = require("../ChartBuilder");
|
|
5
9
|
const ast_1 = require("../components/ReportBuilder/ast");
|
|
6
10
|
const PivotModal_1 = require("../internals/ReportBuilder/PivotModal");
|
|
@@ -13,7 +17,6 @@ const dates_1 = require("./dates");
|
|
|
13
17
|
const error_1 = require("./error");
|
|
14
18
|
const errorProcessing_1 = require("./errorProcessing");
|
|
15
19
|
const logging_1 = require("./logging");
|
|
16
|
-
const merge_1 = require("./merge");
|
|
17
20
|
const paginationProcessing_1 = require("./paginationProcessing");
|
|
18
21
|
const pivotProcessing_1 = require("./pivotProcessing");
|
|
19
22
|
const tableProcessing_1 = require("./tableProcessing");
|
|
@@ -108,7 +111,6 @@ async function fetchReport(reportId, client, useReportTask = true, filters = [],
|
|
|
108
111
|
client.databaseType.toLowerCase() === 'bigquery') {
|
|
109
112
|
(0, dataProcessing_1.parseValueFromBigQueryDates)(dashboardItem.compareRows, resp.fields);
|
|
110
113
|
}
|
|
111
|
-
(0, merge_1.mergeComparisonRange)(dashboardItem);
|
|
112
114
|
}
|
|
113
115
|
reportInfo = await (0, dashboard_1.cleanDashboardItem)(dashboardItem, filters, client, dateBucket);
|
|
114
116
|
if (additionalProcessing) {
|
|
@@ -123,6 +125,7 @@ async function fetchReport(reportId, client, useReportTask = true, filters = [],
|
|
|
123
125
|
reportInfo &&
|
|
124
126
|
!reportInfo.pivot &&
|
|
125
127
|
!reportInfo.pivotColumns &&
|
|
128
|
+
!reportInfo.error &&
|
|
126
129
|
useReportTask &&
|
|
127
130
|
reportInfo.columns?.filter((col) => !observedColumns.includes(col.field))
|
|
128
131
|
?.length > 0) {
|
|
@@ -169,7 +172,6 @@ async function fetchReport(reportId, client, useReportTask = true, filters = [],
|
|
|
169
172
|
}
|
|
170
173
|
return { report: reportInfo || exports.EMPTY_INTERNAL_REPORT, error: errorMessage };
|
|
171
174
|
}
|
|
172
|
-
exports.fetchReport = fetchReport;
|
|
173
175
|
async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields, abortSignal) {
|
|
174
176
|
// Remove extra fields on each filter so we don't confuse the backend.
|
|
175
177
|
const hostedBody = {
|
|
@@ -195,7 +197,6 @@ async function fetchReportRowCount(reportId, client, useReportTask = true, filte
|
|
|
195
197
|
const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data', abortSignal);
|
|
196
198
|
return resp.rowCount;
|
|
197
199
|
}
|
|
198
|
-
exports.fetchReportRowCount = fetchReportRowCount;
|
|
199
200
|
async function saveReport({ report, dashboardItemId, client, }) {
|
|
200
201
|
const { publicKey, organizationId, databaseType } = client;
|
|
201
202
|
const cloudBody = {
|
|
@@ -231,7 +232,6 @@ async function saveReport({ report, dashboardItemId, client, }) {
|
|
|
231
232
|
: { clientId: publicKey }).toString();
|
|
232
233
|
return await (0, dataFetcher_1.getData)(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
|
|
233
234
|
}
|
|
234
|
-
exports.saveReport = saveReport;
|
|
235
235
|
const formatRowsFromReport = (report) => {
|
|
236
236
|
if (!report.rows || !report.columns) {
|
|
237
237
|
return [];
|
|
@@ -305,7 +305,6 @@ function convertInternalReportToReport(report) {
|
|
|
305
305
|
return exports.EMPTY_REPORT;
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
|
-
exports.convertInternalReportToReport = convertInternalReportToReport;
|
|
309
308
|
const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields, skipUniqueValues, skipRowCount, processing) => {
|
|
310
309
|
let newRows = [];
|
|
311
310
|
let newColumns = [];
|
|
@@ -333,11 +332,16 @@ const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client,
|
|
|
333
332
|
? report
|
|
334
333
|
: (0, ChartBuilder_1.createInitialFormData)(tableData.columns);
|
|
335
334
|
curReport = {
|
|
336
|
-
|
|
335
|
+
id: report?.id ?? '',
|
|
336
|
+
dashboardName: report?.dashboardName ?? '',
|
|
337
|
+
order: report?.order ?? 1,
|
|
338
|
+
compareRows: report?.compareRows ?? [],
|
|
339
|
+
queryString: report?.queryString ?? '',
|
|
340
|
+
...report,
|
|
337
341
|
...processedFormData,
|
|
338
|
-
pivot: pivot,
|
|
342
|
+
pivot: pivot ?? null,
|
|
339
343
|
itemQuery: tableData.itemQuery,
|
|
340
|
-
rowCount: tableData.rowCount,
|
|
344
|
+
rowCount: tableData.rowCount ?? 0,
|
|
341
345
|
filtersApplied: [],
|
|
342
346
|
rows: tableData.rows,
|
|
343
347
|
columns: tableData.columns.map((col) => {
|
|
@@ -368,7 +372,7 @@ const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client,
|
|
|
368
372
|
return column.fieldType === 'date';
|
|
369
373
|
});
|
|
370
374
|
if (dateColumns.length > 0) {
|
|
371
|
-
const dateRanges = await (0, tableProcessing_1.
|
|
375
|
+
const dateRanges = await (0, tableProcessing_1.getQueryDateRangeByColumns)(dateColumns, queryResult.query, client, customFields ?? []);
|
|
372
376
|
if (dateRanges === null) {
|
|
373
377
|
throw new Error("Couldn't fetch date ranges");
|
|
374
378
|
}
|
|
@@ -386,7 +390,13 @@ const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client,
|
|
|
386
390
|
if (rowFieldDateRange) {
|
|
387
391
|
dateBucket = (0, dates_1.getDateBucketFromRange)(rowFieldDateRange.dateRange);
|
|
388
392
|
}
|
|
389
|
-
newPivotData = await (0, PivotModal_1.generatePivotTable)(
|
|
393
|
+
newPivotData = await (0, PivotModal_1.generatePivotTable)({
|
|
394
|
+
pivot,
|
|
395
|
+
dateBucket,
|
|
396
|
+
report: curReport,
|
|
397
|
+
client,
|
|
398
|
+
uniqueValues: relevantInfo.uniqueStrings[table],
|
|
399
|
+
});
|
|
390
400
|
newPivot = pivot;
|
|
391
401
|
}
|
|
392
402
|
if (!newPivotData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyDzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,oCAqF5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,mBAAmB,8BAEhB,MAAM,EAAE,KAClB,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyDzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,oCAqF5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,mBAAmB,8BAEhB,MAAM,EAAE,KAClB,OAAO,CAAC;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAoD3D,CAAC"}
|
package/dist/cjs/utils/styles.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.styleToProps =
|
|
3
|
+
exports.styleToProps = styleToProps;
|
|
4
4
|
/**
|
|
5
5
|
* Converts the given styles to a props object that can be passed directly into
|
|
6
6
|
* a jsx/tsx component. Converts to className if styles is a string, otherwise
|
|
@@ -17,4 +17,3 @@ function styleToProps(styles) {
|
|
|
17
17
|
}
|
|
18
18
|
return { style: styles };
|
|
19
19
|
}
|
|
20
|
-
exports.styleToProps = styleToProps;
|
|
@@ -20,15 +20,15 @@ export declare const getUniqueValuesByColumns: (columns: Column[], query: string
|
|
|
20
20
|
} | null>;
|
|
21
21
|
export declare const getUniqueStringValues: (columns: ColumnInternal[], tableName: string, client: any, customFields?: any, previousUniqueValues?: any, withExceededColumns?: boolean, query?: string) => Promise<any>;
|
|
22
22
|
export declare const getRelevantInfoFromQuery: (columns: ColumnInternal[], client: QuillProviderClient, query: string, customFields?: any) => Promise<{
|
|
23
|
-
uniqueStrings?: UniqueValuesByColumn
|
|
24
|
-
dateRanges?: DateRangesByColumn
|
|
25
|
-
error?: string
|
|
23
|
+
uniqueStrings?: UniqueValuesByColumn;
|
|
24
|
+
dateRanges?: DateRangesByColumn;
|
|
25
|
+
error?: string;
|
|
26
26
|
}>;
|
|
27
27
|
export declare const getCountsByColumns: (columns: Column[], query: string, client: QuillProviderClient, customFields: any[]) => Promise<{
|
|
28
28
|
filteredColumns: Column[];
|
|
29
29
|
exceededColumns: Column[] | undefined;
|
|
30
30
|
}>;
|
|
31
|
-
export declare const
|
|
31
|
+
export declare const getQueryDateRangeByColumns: (columns: Column[], query: string, client: QuillProviderClient, customFields: any[]) => Promise<{
|
|
32
32
|
[column: string]: {
|
|
33
33
|
dateRange: {
|
|
34
34
|
start: Date;
|
|
@@ -48,22 +48,22 @@ export declare const fetchResultsByQuery: (query: string, client: QuillProviderC
|
|
|
48
48
|
} | null, rowsOnly?: boolean, rowCountOnly?: boolean) => Promise<{
|
|
49
49
|
columns: ColumnInternal[];
|
|
50
50
|
rows: any[];
|
|
51
|
-
rowCount?: number
|
|
52
|
-
error?: string
|
|
53
|
-
itemQuery?: string[]
|
|
51
|
+
rowCount?: number;
|
|
52
|
+
error?: string;
|
|
53
|
+
itemQuery?: string[];
|
|
54
54
|
}>;
|
|
55
55
|
export declare const fetchResultsByReport: (reportId: string, client: QuillProviderClient, processing?: AdditionalProcessing, filters?: any, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean, abortSignal?: AbortSignal) => Promise<{
|
|
56
56
|
columns: Column[];
|
|
57
57
|
rows: any[];
|
|
58
|
-
rowCount?: number
|
|
59
|
-
error?: string
|
|
58
|
+
rowCount?: number;
|
|
59
|
+
error?: string;
|
|
60
60
|
}>;
|
|
61
61
|
export declare const fetchTableByAST: (ast: NodeSQLParser.Select, client: QuillProviderClient, processing?: AdditionalProcessing, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean) => Promise<{
|
|
62
62
|
columns: ColumnInternal[];
|
|
63
63
|
rows: any[];
|
|
64
|
-
rowCount?: number
|
|
65
|
-
error?: string
|
|
66
|
-
itemQuery?: string[]
|
|
64
|
+
rowCount?: number;
|
|
65
|
+
error?: string;
|
|
66
|
+
itemQuery?: string[];
|
|
67
67
|
}>;
|
|
68
68
|
export declare const convertUniqueValuesByColumnToUniqueValueStrings: (uniqueValuesByColumns: UniqueValuesByColumn) => {
|
|
69
69
|
[columnName: string]: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertUniqueValuesByColumnToUniqueValueStrings = exports.fetchTableByAST = exports.fetchResultsByReport = exports.fetchResultsByQuery = exports.getPaginatedRows = exports.
|
|
3
|
+
exports.convertUniqueValuesByColumnToUniqueValueStrings = exports.fetchTableByAST = exports.fetchResultsByReport = exports.fetchResultsByQuery = exports.getPaginatedRows = exports.getQueryDateRangeByColumns = exports.getCountsByColumns = exports.getRelevantInfoFromQuery = exports.getUniqueStringValues = exports.getUniqueValuesByColumns = exports.hasColumnAlias = void 0;
|
|
4
4
|
const ast_1 = require("../components/ReportBuilder/ast");
|
|
5
5
|
const util_1 = require("../components/ReportBuilder/util");
|
|
6
6
|
const columnProcessing_1 = require("./columnProcessing");
|
|
@@ -9,7 +9,6 @@ const dataFetcher_1 = require("./dataFetcher");
|
|
|
9
9
|
const dataProcessing_1 = require("./dataProcessing");
|
|
10
10
|
const dates_1 = require("./dates");
|
|
11
11
|
const errorProcessing_1 = require("./errorProcessing");
|
|
12
|
-
const merge_1 = require("./merge");
|
|
13
12
|
const paginationProcessing_1 = require("./paginationProcessing");
|
|
14
13
|
const queryConstructor_1 = require("./queryConstructor");
|
|
15
14
|
const hasColumnAlias = (columns, referencedColumns) => {
|
|
@@ -49,9 +48,9 @@ const getUniqueValuesByColumns = async (columns, query, rows, client, customFiel
|
|
|
49
48
|
rows = data.rows;
|
|
50
49
|
}
|
|
51
50
|
for (const column of columns) {
|
|
52
|
-
const values = Array.from(
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
const values = Array.from(new Set(rows
|
|
52
|
+
.map((row) => row[column.name || column.field])
|
|
53
|
+
.filter((value) => value !== null && value !== undefined)));
|
|
55
54
|
// @ts-ignore
|
|
56
55
|
uniqueValues[column.name || column.field] = values.reduce((result, value) => {
|
|
57
56
|
result[value] = false;
|
|
@@ -79,7 +78,12 @@ const getUniqueStringValues = async (columns, tableName, client, customFields, p
|
|
|
79
78
|
const stringNames = convertedStringColumns.map((column) => (0, queryConstructor_1.processColumnReference)(column.field, client.databaseType));
|
|
80
79
|
const { filteredColumns: smallStringColumns, exceededColumns } = await (0, exports.getCountsByColumns)(convertedStringColumns, query ?? `Select ${stringNames.join(', ')} from ${tableName}`, client, customFields ?? []);
|
|
81
80
|
const smallStringNames = smallStringColumns.map((column) => (0, queryConstructor_1.processColumnReference)(column.field, client.databaseType));
|
|
82
|
-
const newUniqueValues = await (0, exports.getUniqueValuesByColumns)(
|
|
81
|
+
const newUniqueValues = await (0, exports.getUniqueValuesByColumns)(
|
|
82
|
+
// returns null if data error
|
|
83
|
+
smallStringColumns, query ?? `Select ${smallStringNames.join(', ')} from ${tableName}`, [], client, customFields ?? []);
|
|
84
|
+
if (!newUniqueValues) {
|
|
85
|
+
return {};
|
|
86
|
+
}
|
|
83
87
|
if (withExceededColumns) {
|
|
84
88
|
exceededColumns?.forEach((column) => {
|
|
85
89
|
if (newUniqueValues) {
|
|
@@ -116,7 +120,7 @@ const getRelevantInfoFromQuery = async (columns, client, query, customFields) =>
|
|
|
116
120
|
return column.fieldType === 'date';
|
|
117
121
|
});
|
|
118
122
|
if (dateColumns.length > 0) {
|
|
119
|
-
dateRanges = await (0, exports.
|
|
123
|
+
dateRanges = await (0, exports.getQueryDateRangeByColumns)(dateColumns, query, client, customFields);
|
|
120
124
|
if (dateRanges === null) {
|
|
121
125
|
throw new Error("Couldn't fetch date ranges");
|
|
122
126
|
}
|
|
@@ -153,7 +157,10 @@ const getCountsByColumns = async (columns, query, client, customFields) => {
|
|
|
153
157
|
return { filteredColumns: columns, exceededColumns: undefined };
|
|
154
158
|
}
|
|
155
159
|
const results = data.rows.map((columnInfo) => {
|
|
156
|
-
return {
|
|
160
|
+
return {
|
|
161
|
+
field: columnInfo.field || columnInfo.FIELD, // Snowflake
|
|
162
|
+
count: columnInfo.count || columnInfo.COUNT, // Snowflake
|
|
163
|
+
};
|
|
157
164
|
});
|
|
158
165
|
const filteredColumns = columns.filter((column) => {
|
|
159
166
|
const columnInfo = results.find((result) => result.field === column.field);
|
|
@@ -166,6 +173,7 @@ const getCountsByColumns = async (columns, query, client, customFields) => {
|
|
|
166
173
|
return { filteredColumns, exceededColumns };
|
|
167
174
|
}
|
|
168
175
|
catch (e) {
|
|
176
|
+
console.error(e);
|
|
169
177
|
return { filteredColumns: columns, exceededColumns: undefined };
|
|
170
178
|
}
|
|
171
179
|
};
|
|
@@ -189,12 +197,18 @@ const fetchDistinctStrings = async (query, client, customFields) => {
|
|
|
189
197
|
return null;
|
|
190
198
|
}
|
|
191
199
|
const results = data.rows.map((columnInfo) => {
|
|
192
|
-
const column = columnInfo.field;
|
|
200
|
+
const column = columnInfo.field || columnInfo.FIELD;
|
|
193
201
|
if (!columnInfo.string_values) {
|
|
194
202
|
return { column, values: {} };
|
|
195
203
|
}
|
|
204
|
+
// This function is used in ReportBuilder and PivotModal to fetch distinct values. However, neither PivotModal or FilterModal
|
|
205
|
+
// are currently built to handle null values (FilterModal uses SQL IN, which doesn't handle null values). For now, filtering
|
|
206
|
+
// out null values.
|
|
196
207
|
const values = columnInfo.string_values.reduce((result, value) => {
|
|
197
|
-
|
|
208
|
+
if (value !== null && value !== undefined) {
|
|
209
|
+
// filter out null values for now, TODO: handle
|
|
210
|
+
result[value] = false;
|
|
211
|
+
}
|
|
198
212
|
return result;
|
|
199
213
|
}, {});
|
|
200
214
|
return { column, values };
|
|
@@ -205,16 +219,16 @@ const fetchDistinctStrings = async (query, client, customFields) => {
|
|
|
205
219
|
return null;
|
|
206
220
|
}
|
|
207
221
|
};
|
|
208
|
-
const
|
|
222
|
+
const getQueryDateRangeByColumns = async (columns, query, client, customFields) => {
|
|
209
223
|
const columnNames = columns.map(
|
|
210
224
|
// @ts-ignore
|
|
211
225
|
(column) => column.field || column.name);
|
|
212
226
|
const distinctValueQuery = (0, queryConstructor_1.generateMinMaxRangeQueries)(columnNames, query, client.databaseType || 'postgresql');
|
|
213
|
-
const dateRanges = await
|
|
227
|
+
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
|
|
214
228
|
return dateRanges;
|
|
215
229
|
};
|
|
216
|
-
exports.
|
|
217
|
-
const
|
|
230
|
+
exports.getQueryDateRangeByColumns = getQueryDateRangeByColumns;
|
|
231
|
+
const fetchQueryDateRanges = async (query, client, customFields) => {
|
|
218
232
|
try {
|
|
219
233
|
const hostedBody = {
|
|
220
234
|
metadata: {
|
|
@@ -234,10 +248,7 @@ const fetchDateRanges = async (query, client, customFields) => {
|
|
|
234
248
|
}
|
|
235
249
|
const results = data.rows.reduce((acc, currentValue) => {
|
|
236
250
|
acc[currentValue.field] = {
|
|
237
|
-
dateRange:
|
|
238
|
-
start: (0, dates_1.parseDateByDatabaseType)(currentValue.min_range, client.databaseType || 'postgresql'),
|
|
239
|
-
end: (0, dates_1.parseDateByDatabaseType)(currentValue.max_range, client.databaseType || 'postgresql'),
|
|
240
|
-
},
|
|
251
|
+
dateRange: (0, dates_1.parseQueryDateRangeByDatabaseType)(currentValue.min_range, currentValue.max_range, client.databaseType || 'postgresql'),
|
|
241
252
|
};
|
|
242
253
|
return acc;
|
|
243
254
|
}, {});
|
|
@@ -285,6 +296,27 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
285
296
|
},
|
|
286
297
|
};
|
|
287
298
|
const cloudBody = { query };
|
|
299
|
+
let parsedSuccessfully = true;
|
|
300
|
+
let parsingError = '';
|
|
301
|
+
if (!rowCountOnly) {
|
|
302
|
+
const localURL = `${constants_1.QUILL_SERVER}/astify`;
|
|
303
|
+
const response = await fetch(localURL, {
|
|
304
|
+
method: 'POST',
|
|
305
|
+
headers: {
|
|
306
|
+
'Content-Type': 'application/json',
|
|
307
|
+
},
|
|
308
|
+
body: JSON.stringify({
|
|
309
|
+
query,
|
|
310
|
+
publicKey: client.publicKey,
|
|
311
|
+
useNewNodeSql: true,
|
|
312
|
+
}),
|
|
313
|
+
});
|
|
314
|
+
const results = await response.json();
|
|
315
|
+
if (results.success == false) {
|
|
316
|
+
parsedSuccessfully = false;
|
|
317
|
+
parsingError = results.message;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
288
320
|
const resp = await (0, dataFetcher_1.getData)(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
|
|
289
321
|
if (resp && resp.errorMessage) {
|
|
290
322
|
throw new Error(resp.errorMessage);
|
|
@@ -292,6 +324,23 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
292
324
|
if (resp.rowCount) {
|
|
293
325
|
rowCount = resp.rowCount;
|
|
294
326
|
}
|
|
327
|
+
if (!resp.error && !parsedSuccessfully) {
|
|
328
|
+
fetch(`${constants_1.QUILL_SERVER}${constants_1.QUILL_QUERY_ENDPOINT}`, {
|
|
329
|
+
method: 'POST',
|
|
330
|
+
headers: {
|
|
331
|
+
'Content-Type': 'application/json',
|
|
332
|
+
},
|
|
333
|
+
body: JSON.stringify({
|
|
334
|
+
metadata: {
|
|
335
|
+
task: 'log-broken-query',
|
|
336
|
+
query,
|
|
337
|
+
clientId: client.clientId,
|
|
338
|
+
error: parsingError,
|
|
339
|
+
},
|
|
340
|
+
}),
|
|
341
|
+
});
|
|
342
|
+
throw new Error('Quill parsing error' + parsingError.replace(`Error parsing query`, ''));
|
|
343
|
+
}
|
|
295
344
|
columns = resp.fields.map((elem) => (0, columnProcessing_1.convertPostgresColumn)(elem));
|
|
296
345
|
rows = resp.rows;
|
|
297
346
|
itemQuery = resp.itemQuery;
|
|
@@ -323,9 +372,9 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
323
372
|
const newFilter = { ...filter };
|
|
324
373
|
if (newFilter.filterType === 'date_range') {
|
|
325
374
|
delete newFilter['field'];
|
|
326
|
-
delete newFilter['options'];
|
|
327
375
|
delete newFilter['selectedValue'];
|
|
328
376
|
}
|
|
377
|
+
delete newFilter['options'];
|
|
329
378
|
return newFilter;
|
|
330
379
|
})
|
|
331
380
|
: [];
|
|
@@ -362,18 +411,12 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
362
411
|
const gatheredRows = resp.rows && resp.rows.length ? resp.rows : [];
|
|
363
412
|
columns = resp.fields.map((elem) => (0, columnProcessing_1.convertPostgresColumn)(elem));
|
|
364
413
|
rows = gatheredRows;
|
|
365
|
-
if (resp && resp.name
|
|
366
|
-
if (resp.compareRows) {
|
|
367
|
-
(0, merge_1.mergeComparisonRange)(resp);
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
else {
|
|
414
|
+
if (resp && resp.name === 'error') {
|
|
371
415
|
throw new Error(resp.errorMessage);
|
|
372
416
|
}
|
|
373
417
|
}
|
|
374
418
|
catch (e) {
|
|
375
419
|
if (e instanceof Error && e.name === 'AbortError') {
|
|
376
|
-
console.log('Aborted fetch results by report');
|
|
377
420
|
throw e;
|
|
378
421
|
}
|
|
379
422
|
rows = [];
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.capitalize = capitalize;
|
|
4
|
+
exports.depluralize = depluralize;
|
|
5
|
+
exports.snakeCaseToTitleCase = snakeCaseToTitleCase;
|
|
6
|
+
exports.snakeAndCamelCaseToTitleCase = snakeAndCamelCaseToTitleCase;
|
|
7
|
+
exports.removeDoubleQuotes = removeDoubleQuotes;
|
|
4
8
|
function capitalize(text) {
|
|
5
9
|
return text.charAt(0).toUpperCase() + text.slice(1);
|
|
6
10
|
}
|
|
7
|
-
exports.capitalize = capitalize;
|
|
8
11
|
function depluralize(text) {
|
|
9
12
|
if (text.endsWith('ies')) {
|
|
10
13
|
return text.slice(0, -3) + 'y';
|
|
@@ -14,7 +17,6 @@ function depluralize(text) {
|
|
|
14
17
|
}
|
|
15
18
|
return text;
|
|
16
19
|
}
|
|
17
|
-
exports.depluralize = depluralize;
|
|
18
20
|
function snakeCaseToTitleCase(str) {
|
|
19
21
|
if (!str) {
|
|
20
22
|
return str;
|
|
@@ -27,7 +29,6 @@ function snakeCaseToTitleCase(str) {
|
|
|
27
29
|
: word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
28
30
|
.join(' ');
|
|
29
31
|
}
|
|
30
|
-
exports.snakeCaseToTitleCase = snakeCaseToTitleCase;
|
|
31
32
|
function snakeAndCamelCaseToTitleCase(str) {
|
|
32
33
|
if (!str) {
|
|
33
34
|
return str;
|
|
@@ -47,11 +48,9 @@ function snakeAndCamelCaseToTitleCase(str) {
|
|
|
47
48
|
return newText;
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
exports.snakeAndCamelCaseToTitleCase = snakeAndCamelCaseToTitleCase;
|
|
51
51
|
function removeDoubleQuotes(str) {
|
|
52
52
|
if (!str) {
|
|
53
53
|
return str;
|
|
54
54
|
}
|
|
55
55
|
return str.replace(/"/g, '');
|
|
56
56
|
}
|
|
57
|
-
exports.removeDoubleQuotes = removeDoubleQuotes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,eAAO,MAAM,cAAc,aACf,gBAAgB,iBACX;IAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,qBACjC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,aAC1C,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,eAAO,MAAM,cAAc,aACf,gBAAgB,iBACX;IAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,qBACjC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,aAC1C,GAAG,EAAE,UAmCjB,CAAC"}
|
|
@@ -6,7 +6,9 @@ const validateReport = (formData, dashboardData, defaultDateFilter, allTables) =
|
|
|
6
6
|
const issues = [];
|
|
7
7
|
const filters = dashboardData.filters || [];
|
|
8
8
|
const dateFilter = dashboardData.dateFilter;
|
|
9
|
-
if (dateFilter &&
|
|
9
|
+
if (dateFilter &&
|
|
10
|
+
dateFilter.comparison &&
|
|
11
|
+
!['line', 'column'].includes(formData.chartType)) {
|
|
10
12
|
issues.push(`"${formData.dashboardName}" is a date comparison dashboard that only supports line and column charts.`);
|
|
11
13
|
}
|
|
12
14
|
if (dateFilter &&
|
|
@@ -18,6 +18,7 @@ export declare const quillFormat: ({ value, format, }: {
|
|
|
18
18
|
value: any;
|
|
19
19
|
format: string;
|
|
20
20
|
}) => string;
|
|
21
|
+
export declare function getValidDate(dateString: string): Date | undefined;
|
|
21
22
|
export declare const compareValues: (a: {
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
}, b: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAO/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MA8ChE,CAAC;AAEF,eAAO,MAAM,WAAW,uBAGrB;IACD,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,KAAG,MAgDH,CAAC;AA+MF,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,oBAG9C;AAED,eAAO,MAAM,aAAa,MACrB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,KACtB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,UACjB,MAAM,KACb,MAkDF,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.compareValues = exports.quillFormat = exports.valueFormatter = exports.NUMBER_FORMAT_TYPES = exports.DATE_FORMAT_TYPES = void 0;
|
|
4
|
+
exports.getValidDate = getValidDate;
|
|
4
5
|
const date_fns_1 = require("date-fns");
|
|
5
6
|
const date_fns_tz_1 = require("date-fns-tz");
|
|
6
7
|
exports.DATE_FORMAT_TYPES = [
|
|
@@ -16,6 +17,7 @@ exports.NUMBER_FORMAT_TYPES = [
|
|
|
16
17
|
'whole_number',
|
|
17
18
|
'one_decimal_place',
|
|
18
19
|
'two_decimal_places',
|
|
20
|
+
'percent',
|
|
19
21
|
'dollar_amount',
|
|
20
22
|
'dollar_cents',
|
|
21
23
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../../src/utils/width.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,iBAClB,
|
|
1
|
+
{"version":3,"file":"width.d.ts","sourceRoot":"","sources":["../../../src/utils/width.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,iBAClB,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,YAChC,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,YAC9C;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,SAazB,CAAC"}
|
package/dist/esm/Chart.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode, ChangeEvent } from 'react';
|
|
2
2
|
import { QuillTheme } from './QuillProvider';
|
|
3
3
|
import { QuillReport } from './models/Report';
|
|
4
|
-
import {
|
|
4
|
+
import { InternalFilter } from './models/Filter';
|
|
5
5
|
import { MultiSelectComponentProps, SelectComponentProps } from './components/UiComponents';
|
|
6
6
|
interface BaseChartProps {
|
|
7
7
|
colors?: string[];
|
|
@@ -20,7 +20,7 @@ interface BaseChartProps {
|
|
|
20
20
|
comparisonLineStyle?: 'solid' | 'dashed';
|
|
21
21
|
mapColorsToFields?: (_report: QuillReport, _theme: QuillTheme) => ColorMapType;
|
|
22
22
|
LoadingComponent?: () => JSX.Element;
|
|
23
|
-
filters?:
|
|
23
|
+
filters?: InternalFilter[];
|
|
24
24
|
onClickChartElement?: (data: any) => void;
|
|
25
25
|
}
|
|
26
26
|
interface WithConfig extends BaseChartProps {
|
|
@@ -147,8 +147,8 @@ export interface ChartProps {
|
|
|
147
147
|
label?: string;
|
|
148
148
|
selectWidth?: number;
|
|
149
149
|
dateRange: {
|
|
150
|
-
startDate
|
|
151
|
-
endDate
|
|
150
|
+
startDate?: Date;
|
|
151
|
+
endDate?: Date;
|
|
152
152
|
};
|
|
153
153
|
presetOptions: {
|
|
154
154
|
label: string;
|
|
@@ -175,7 +175,7 @@ export interface ChartProps {
|
|
|
175
175
|
*/
|
|
176
176
|
containerStyle?: React.CSSProperties;
|
|
177
177
|
/** An array of dashboard filters that are indicated by the frontend dev. */
|
|
178
|
-
filters?:
|
|
178
|
+
filters?: InternalFilter[];
|
|
179
179
|
/** A callback function that process specific chart element clicks */
|
|
180
180
|
onClickChartElement?: (data: any) => void;
|
|
181
181
|
/** An override for the pivot date bucketing. */
|
package/dist/esm/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAC;AAaf,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,OAAO,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/Chart.js
CHANGED
|
@@ -20,6 +20,7 @@ import { convertInternalReportToReport, EMPTY_REPORT, fetchReport, } from './uti
|
|
|
20
20
|
import { shouldFetchMore, DEFAULT_PAGINATION, shouldSortInMemory, } from './utils/paginationProcessing';
|
|
21
21
|
import { fetchResultsByReport } from './utils/tableProcessing';
|
|
22
22
|
import QuillMetricComponent from './components/Dashboard/MetricComponent';
|
|
23
|
+
import { mergeComparisonRange } from './utils/merge';
|
|
23
24
|
const MAX_ROWS_FOR_GENERIC_TABLE = 500;
|
|
24
25
|
// @ts-ignore
|
|
25
26
|
function sumByKey(arr, key) {
|
|
@@ -101,6 +102,12 @@ export function isEquivalent(filters1, filters2) {
|
|
|
101
102
|
if (filter1.comparison !== filter2.comparison) {
|
|
102
103
|
return false;
|
|
103
104
|
}
|
|
105
|
+
if (filter1.comparisonRange && !filter2.comparisonRange) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (!filter1.comparisonRange && filter2.comparisonRange) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
104
111
|
if (filter1.comparisonRange && filter2.comparisonRange) {
|
|
105
112
|
if (!filter1.comparisonRange.startDate &&
|
|
106
113
|
!filter2.comparisonRange.endDate) {
|
|
@@ -135,6 +142,11 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
|
|
|
135
142
|
page: 0,
|
|
136
143
|
});
|
|
137
144
|
const [report, setReport] = useState(undefined);
|
|
145
|
+
const chartReport = useMemo(() => {
|
|
146
|
+
return report
|
|
147
|
+
? convertInternalReportToReport(mergeComparisonRange(report))
|
|
148
|
+
: undefined;
|
|
149
|
+
}, [report]);
|
|
138
150
|
const [chartFilters, setChartFilters] = useState([]);
|
|
139
151
|
const [previousPage, setPreviousPage] = useState(0);
|
|
140
152
|
const [filterUpdateIndex, setFilterUpdateIndex] = useState(-1);
|
|
@@ -316,7 +328,7 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
|
|
|
316
328
|
updateIndex: filterUpdateIndex + 1,
|
|
317
329
|
},
|
|
318
330
|
});
|
|
319
|
-
}, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), _jsx(ChartDisplay, { config:
|
|
331
|
+
}, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), _jsx(ChartDisplay, { config: chartReport ? chartReport : undefined, reportId: reportId, colors: colors, className: className, containerStyle: containerStyle, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading || initialLoad, paginating: paginating, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onPageChange: onPageChange, onSortChange: onSortChange, onClickChartElement: onClickChartElement })] }));
|
|
320
332
|
}
|
|
321
333
|
export const ChartDisplay = ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter = false, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, isAnimationActive, scrollable = false, loading = false, paginating = false, ErrorComponent = ChartError, colorMap, LoadingComponent = QuillLoadingSkeleton, onPageChange, onSortChange, onClickChartElement, overrideTheme, }) => {
|
|
322
334
|
const { downloadCSV } = useExport(reportId);
|
|
@@ -349,12 +361,11 @@ export const ChartDisplay = ({ reportId, config, colors, className, containerSty
|
|
|
349
361
|
setDateFilter(getDateFilter());
|
|
350
362
|
}, [config]);
|
|
351
363
|
if (config &&
|
|
352
|
-
!config.pivot &&
|
|
353
364
|
config.chartType !== 'metric' &&
|
|
354
365
|
config.chartType !== 'table' &&
|
|
355
366
|
((config.rowCount && config.rowCount > MAX_ROWS_FOR_GENERIC_TABLE) ||
|
|
356
367
|
(config?.rows && config?.rows.length > MAX_ROWS_FOR_GENERIC_TABLE))) {
|
|
357
|
-
return (_jsx("div", { style: containerStyle, className: className, children: _jsx(ErrorComponent, { errorMessage: `Charts can only display ${MAX_ROWS_FOR_GENERIC_TABLE} rows. Please
|
|
368
|
+
return (_jsx("div", { style: containerStyle, className: className, children: _jsx(ErrorComponent, { errorMessage: `Charts can only display ${MAX_ROWS_FOR_GENERIC_TABLE} rows. Please modify the query.` }) }));
|
|
358
369
|
}
|
|
359
370
|
else if (loading) {
|
|
360
371
|
return (_jsx("div", { className: className, style: containerStyle, children: _jsx(LoadingComponent, {}) }));
|
|
@@ -368,7 +379,7 @@ export const ChartDisplay = ({ reportId, config, colors, className, containerSty
|
|
|
368
379
|
// @ts-ignore
|
|
369
380
|
parseInt(row[config?.yAxisFields[0]?.field]) /
|
|
370
381
|
// @ts-ignore
|
|
371
|
-
sumByKey(config?.rows, config?.yAxisFields[0]
|
|
382
|
+
sumByKey(config?.rows, config?.yAxisFields[0]?.field),
|
|
372
383
|
};
|
|
373
384
|
}) || [], category: config?.yAxisFields[0]?.field, index: config?.xAxisField, colors: chartColors, theme: overrideTheme ?? theme, colorMap: colorMap, onClickChartElement: onClickChartElement }));
|
|
374
385
|
}
|