@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/esm/utils/report.js
CHANGED
|
@@ -10,10 +10,9 @@ import { getDateBucketFromRange } from './dates';
|
|
|
10
10
|
import { DataLoadError } from './error';
|
|
11
11
|
import { processFilterErrorList } from './errorProcessing';
|
|
12
12
|
import { internalLog } from './logging';
|
|
13
|
-
import { mergeComparisonRange } from './merge';
|
|
14
13
|
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
15
14
|
import { isPivotPossible, isValidPivot } from './pivotProcessing';
|
|
16
|
-
import { fetchTableByAST,
|
|
15
|
+
import { fetchTableByAST, getQueryDateRangeByColumns, getRelevantInfoFromQuery, } from './tableProcessing';
|
|
17
16
|
import { snakeAndCamelCaseToTitleCase } from './textProcessing';
|
|
18
17
|
import { quillFormat } from './valueFormatter';
|
|
19
18
|
export const EMPTY_REPORT = {
|
|
@@ -105,7 +104,6 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
105
104
|
client.databaseType.toLowerCase() === 'bigquery') {
|
|
106
105
|
parseValueFromBigQueryDates(dashboardItem.compareRows, resp.fields);
|
|
107
106
|
}
|
|
108
|
-
mergeComparisonRange(dashboardItem);
|
|
109
107
|
}
|
|
110
108
|
reportInfo = await cleanDashboardItem(dashboardItem, filters, client, dateBucket);
|
|
111
109
|
if (additionalProcessing) {
|
|
@@ -120,6 +118,7 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
120
118
|
reportInfo &&
|
|
121
119
|
!reportInfo.pivot &&
|
|
122
120
|
!reportInfo.pivotColumns &&
|
|
121
|
+
!reportInfo.error &&
|
|
123
122
|
useReportTask &&
|
|
124
123
|
reportInfo.columns?.filter((col) => !observedColumns.includes(col.field))
|
|
125
124
|
?.length > 0) {
|
|
@@ -325,11 +324,16 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
325
324
|
? report
|
|
326
325
|
: createInitialFormData(tableData.columns);
|
|
327
326
|
curReport = {
|
|
328
|
-
|
|
327
|
+
id: report?.id ?? '',
|
|
328
|
+
dashboardName: report?.dashboardName ?? '',
|
|
329
|
+
order: report?.order ?? 1,
|
|
330
|
+
compareRows: report?.compareRows ?? [],
|
|
331
|
+
queryString: report?.queryString ?? '',
|
|
332
|
+
...report,
|
|
329
333
|
...processedFormData,
|
|
330
|
-
pivot: pivot,
|
|
334
|
+
pivot: pivot ?? null,
|
|
331
335
|
itemQuery: tableData.itemQuery,
|
|
332
|
-
rowCount: tableData.rowCount,
|
|
336
|
+
rowCount: tableData.rowCount ?? 0,
|
|
333
337
|
filtersApplied: [],
|
|
334
338
|
rows: tableData.rows,
|
|
335
339
|
columns: tableData.columns.map((col) => {
|
|
@@ -360,7 +364,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
360
364
|
return column.fieldType === 'date';
|
|
361
365
|
});
|
|
362
366
|
if (dateColumns.length > 0) {
|
|
363
|
-
const dateRanges = await
|
|
367
|
+
const dateRanges = await getQueryDateRangeByColumns(dateColumns, queryResult.query, client, customFields ?? []);
|
|
364
368
|
if (dateRanges === null) {
|
|
365
369
|
throw new Error("Couldn't fetch date ranges");
|
|
366
370
|
}
|
|
@@ -378,7 +382,13 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
378
382
|
if (rowFieldDateRange) {
|
|
379
383
|
dateBucket = getDateBucketFromRange(rowFieldDateRange.dateRange);
|
|
380
384
|
}
|
|
381
|
-
newPivotData = await generatePivotTable(
|
|
385
|
+
newPivotData = await generatePivotTable({
|
|
386
|
+
pivot,
|
|
387
|
+
dateBucket,
|
|
388
|
+
report: curReport,
|
|
389
|
+
client,
|
|
390
|
+
uniqueValues: relevantInfo.uniqueStrings[table],
|
|
391
|
+
});
|
|
382
392
|
newPivot = pivot;
|
|
383
393
|
}
|
|
384
394
|
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"}
|
|
@@ -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,12 +1,11 @@
|
|
|
1
1
|
import { isTextColumnType, } from '../components/ReportBuilder/ast';
|
|
2
2
|
import { deepCopy } from '../components/ReportBuilder/util';
|
|
3
3
|
import { convertPostgresColumn } from './columnProcessing';
|
|
4
|
-
import { MAX_PIVOT_UNIQUE_VALUES } from './constants';
|
|
4
|
+
import { MAX_PIVOT_UNIQUE_VALUES, QUILL_QUERY_ENDPOINT, QUILL_SERVER, } from './constants';
|
|
5
5
|
import { getData } from './dataFetcher';
|
|
6
6
|
import { parseValueFromBigQueryDates } from './dataProcessing';
|
|
7
|
-
import {
|
|
7
|
+
import { parseQueryDateRangeByDatabaseType } from './dates';
|
|
8
8
|
import { processFilterErrorList } from './errorProcessing';
|
|
9
|
-
import { mergeComparisonRange } from './merge';
|
|
10
9
|
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
11
10
|
import { generateCountQuery, generateDistinctQuery, generateMinMaxRangeQueries, processColumnReference, } from './queryConstructor';
|
|
12
11
|
export const hasColumnAlias = (columns, referencedColumns) => {
|
|
@@ -45,9 +44,9 @@ export const getUniqueValuesByColumns = async (columns, query, rows, client, cus
|
|
|
45
44
|
rows = data.rows;
|
|
46
45
|
}
|
|
47
46
|
for (const column of columns) {
|
|
48
|
-
const values = Array.from(
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
const values = Array.from(new Set(rows
|
|
48
|
+
.map((row) => row[column.name || column.field])
|
|
49
|
+
.filter((value) => value !== null && value !== undefined)));
|
|
51
50
|
// @ts-ignore
|
|
52
51
|
uniqueValues[column.name || column.field] = values.reduce((result, value) => {
|
|
53
52
|
result[value] = false;
|
|
@@ -74,7 +73,12 @@ export const getUniqueStringValues = async (columns, tableName, client, customFi
|
|
|
74
73
|
const stringNames = convertedStringColumns.map((column) => processColumnReference(column.field, client.databaseType));
|
|
75
74
|
const { filteredColumns: smallStringColumns, exceededColumns } = await getCountsByColumns(convertedStringColumns, query ?? `Select ${stringNames.join(', ')} from ${tableName}`, client, customFields ?? []);
|
|
76
75
|
const smallStringNames = smallStringColumns.map((column) => processColumnReference(column.field, client.databaseType));
|
|
77
|
-
const newUniqueValues = await getUniqueValuesByColumns(
|
|
76
|
+
const newUniqueValues = await getUniqueValuesByColumns(
|
|
77
|
+
// returns null if data error
|
|
78
|
+
smallStringColumns, query ?? `Select ${smallStringNames.join(', ')} from ${tableName}`, [], client, customFields ?? []);
|
|
79
|
+
if (!newUniqueValues) {
|
|
80
|
+
return {};
|
|
81
|
+
}
|
|
78
82
|
if (withExceededColumns) {
|
|
79
83
|
exceededColumns?.forEach((column) => {
|
|
80
84
|
if (newUniqueValues) {
|
|
@@ -110,7 +114,7 @@ export const getRelevantInfoFromQuery = async (columns, client, query, customFie
|
|
|
110
114
|
return column.fieldType === 'date';
|
|
111
115
|
});
|
|
112
116
|
if (dateColumns.length > 0) {
|
|
113
|
-
dateRanges = await
|
|
117
|
+
dateRanges = await getQueryDateRangeByColumns(dateColumns, query, client, customFields);
|
|
114
118
|
if (dateRanges === null) {
|
|
115
119
|
throw new Error("Couldn't fetch date ranges");
|
|
116
120
|
}
|
|
@@ -146,7 +150,10 @@ export const getCountsByColumns = async (columns, query, client, customFields) =
|
|
|
146
150
|
return { filteredColumns: columns, exceededColumns: undefined };
|
|
147
151
|
}
|
|
148
152
|
const results = data.rows.map((columnInfo) => {
|
|
149
|
-
return {
|
|
153
|
+
return {
|
|
154
|
+
field: columnInfo.field || columnInfo.FIELD, // Snowflake
|
|
155
|
+
count: columnInfo.count || columnInfo.COUNT, // Snowflake
|
|
156
|
+
};
|
|
150
157
|
});
|
|
151
158
|
const filteredColumns = columns.filter((column) => {
|
|
152
159
|
const columnInfo = results.find((result) => result.field === column.field);
|
|
@@ -159,6 +166,7 @@ export const getCountsByColumns = async (columns, query, client, customFields) =
|
|
|
159
166
|
return { filteredColumns, exceededColumns };
|
|
160
167
|
}
|
|
161
168
|
catch (e) {
|
|
169
|
+
console.error(e);
|
|
162
170
|
return { filteredColumns: columns, exceededColumns: undefined };
|
|
163
171
|
}
|
|
164
172
|
};
|
|
@@ -181,12 +189,18 @@ const fetchDistinctStrings = async (query, client, customFields) => {
|
|
|
181
189
|
return null;
|
|
182
190
|
}
|
|
183
191
|
const results = data.rows.map((columnInfo) => {
|
|
184
|
-
const column = columnInfo.field;
|
|
192
|
+
const column = columnInfo.field || columnInfo.FIELD;
|
|
185
193
|
if (!columnInfo.string_values) {
|
|
186
194
|
return { column, values: {} };
|
|
187
195
|
}
|
|
196
|
+
// This function is used in ReportBuilder and PivotModal to fetch distinct values. However, neither PivotModal or FilterModal
|
|
197
|
+
// are currently built to handle null values (FilterModal uses SQL IN, which doesn't handle null values). For now, filtering
|
|
198
|
+
// out null values.
|
|
188
199
|
const values = columnInfo.string_values.reduce((result, value) => {
|
|
189
|
-
|
|
200
|
+
if (value !== null && value !== undefined) {
|
|
201
|
+
// filter out null values for now, TODO: handle
|
|
202
|
+
result[value] = false;
|
|
203
|
+
}
|
|
190
204
|
return result;
|
|
191
205
|
}, {});
|
|
192
206
|
return { column, values };
|
|
@@ -197,15 +211,15 @@ const fetchDistinctStrings = async (query, client, customFields) => {
|
|
|
197
211
|
return null;
|
|
198
212
|
}
|
|
199
213
|
};
|
|
200
|
-
export const
|
|
214
|
+
export const getQueryDateRangeByColumns = async (columns, query, client, customFields) => {
|
|
201
215
|
const columnNames = columns.map(
|
|
202
216
|
// @ts-ignore
|
|
203
217
|
(column) => column.field || column.name);
|
|
204
218
|
const distinctValueQuery = generateMinMaxRangeQueries(columnNames, query, client.databaseType || 'postgresql');
|
|
205
|
-
const dateRanges = await
|
|
219
|
+
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
|
|
206
220
|
return dateRanges;
|
|
207
221
|
};
|
|
208
|
-
const
|
|
222
|
+
const fetchQueryDateRanges = async (query, client, customFields) => {
|
|
209
223
|
try {
|
|
210
224
|
const hostedBody = {
|
|
211
225
|
metadata: {
|
|
@@ -225,10 +239,7 @@ const fetchDateRanges = async (query, client, customFields) => {
|
|
|
225
239
|
}
|
|
226
240
|
const results = data.rows.reduce((acc, currentValue) => {
|
|
227
241
|
acc[currentValue.field] = {
|
|
228
|
-
dateRange:
|
|
229
|
-
start: parseDateByDatabaseType(currentValue.min_range, client.databaseType || 'postgresql'),
|
|
230
|
-
end: parseDateByDatabaseType(currentValue.max_range, client.databaseType || 'postgresql'),
|
|
231
|
-
},
|
|
242
|
+
dateRange: parseQueryDateRangeByDatabaseType(currentValue.min_range, currentValue.max_range, client.databaseType || 'postgresql'),
|
|
232
243
|
};
|
|
233
244
|
return acc;
|
|
234
245
|
}, {});
|
|
@@ -275,6 +286,27 @@ export const fetchResultsByQuery = async (query, client, processing, customField
|
|
|
275
286
|
},
|
|
276
287
|
};
|
|
277
288
|
const cloudBody = { query };
|
|
289
|
+
let parsedSuccessfully = true;
|
|
290
|
+
let parsingError = '';
|
|
291
|
+
if (!rowCountOnly) {
|
|
292
|
+
const localURL = `${QUILL_SERVER}/astify`;
|
|
293
|
+
const response = await fetch(localURL, {
|
|
294
|
+
method: 'POST',
|
|
295
|
+
headers: {
|
|
296
|
+
'Content-Type': 'application/json',
|
|
297
|
+
},
|
|
298
|
+
body: JSON.stringify({
|
|
299
|
+
query,
|
|
300
|
+
publicKey: client.publicKey,
|
|
301
|
+
useNewNodeSql: true,
|
|
302
|
+
}),
|
|
303
|
+
});
|
|
304
|
+
const results = await response.json();
|
|
305
|
+
if (results.success == false) {
|
|
306
|
+
parsedSuccessfully = false;
|
|
307
|
+
parsingError = results.message;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
278
310
|
const resp = await getData(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
|
|
279
311
|
if (resp && resp.errorMessage) {
|
|
280
312
|
throw new Error(resp.errorMessage);
|
|
@@ -282,6 +314,23 @@ export const fetchResultsByQuery = async (query, client, processing, customField
|
|
|
282
314
|
if (resp.rowCount) {
|
|
283
315
|
rowCount = resp.rowCount;
|
|
284
316
|
}
|
|
317
|
+
if (!resp.error && !parsedSuccessfully) {
|
|
318
|
+
fetch(`${QUILL_SERVER}${QUILL_QUERY_ENDPOINT}`, {
|
|
319
|
+
method: 'POST',
|
|
320
|
+
headers: {
|
|
321
|
+
'Content-Type': 'application/json',
|
|
322
|
+
},
|
|
323
|
+
body: JSON.stringify({
|
|
324
|
+
metadata: {
|
|
325
|
+
task: 'log-broken-query',
|
|
326
|
+
query,
|
|
327
|
+
clientId: client.clientId,
|
|
328
|
+
error: parsingError,
|
|
329
|
+
},
|
|
330
|
+
}),
|
|
331
|
+
});
|
|
332
|
+
throw new Error('Quill parsing error' + parsingError.replace(`Error parsing query`, ''));
|
|
333
|
+
}
|
|
285
334
|
columns = resp.fields.map((elem) => convertPostgresColumn(elem));
|
|
286
335
|
rows = resp.rows;
|
|
287
336
|
itemQuery = resp.itemQuery;
|
|
@@ -312,9 +361,9 @@ export const fetchResultsByReport = async (reportId, client, processing, filters
|
|
|
312
361
|
const newFilter = { ...filter };
|
|
313
362
|
if (newFilter.filterType === 'date_range') {
|
|
314
363
|
delete newFilter['field'];
|
|
315
|
-
delete newFilter['options'];
|
|
316
364
|
delete newFilter['selectedValue'];
|
|
317
365
|
}
|
|
366
|
+
delete newFilter['options'];
|
|
318
367
|
return newFilter;
|
|
319
368
|
})
|
|
320
369
|
: [];
|
|
@@ -351,18 +400,12 @@ export const fetchResultsByReport = async (reportId, client, processing, filters
|
|
|
351
400
|
const gatheredRows = resp.rows && resp.rows.length ? resp.rows : [];
|
|
352
401
|
columns = resp.fields.map((elem) => convertPostgresColumn(elem));
|
|
353
402
|
rows = gatheredRows;
|
|
354
|
-
if (resp && resp.name
|
|
355
|
-
if (resp.compareRows) {
|
|
356
|
-
mergeComparisonRange(resp);
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
else {
|
|
403
|
+
if (resp && resp.name === 'error') {
|
|
360
404
|
throw new Error(resp.errorMessage);
|
|
361
405
|
}
|
|
362
406
|
}
|
|
363
407
|
catch (e) {
|
|
364
408
|
if (e instanceof Error && e.name === 'AbortError') {
|
|
365
|
-
console.log('Aborted fetch results by report');
|
|
366
409
|
throw e;
|
|
367
410
|
}
|
|
368
411
|
rows = [];
|
|
@@ -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"}
|
|
@@ -3,7 +3,9 @@ export const validateReport = (formData, dashboardData, defaultDateFilter, allTa
|
|
|
3
3
|
const issues = [];
|
|
4
4
|
const filters = dashboardData.filters || [];
|
|
5
5
|
const dateFilter = dashboardData.dateFilter;
|
|
6
|
-
if (dateFilter &&
|
|
6
|
+
if (dateFilter &&
|
|
7
|
+
dateFilter.comparison &&
|
|
8
|
+
!['line', 'column'].includes(formData.chartType)) {
|
|
7
9
|
issues.push(`"${formData.dashboardName}" is a date comparison dashboard that only supports line and column charts.`);
|
|
8
10
|
}
|
|
9
11
|
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"}
|
|
@@ -13,6 +13,7 @@ export const NUMBER_FORMAT_TYPES = [
|
|
|
13
13
|
'whole_number',
|
|
14
14
|
'one_decimal_place',
|
|
15
15
|
'two_decimal_places',
|
|
16
|
+
'percent',
|
|
16
17
|
'dollar_amount',
|
|
17
18
|
'dollar_cents',
|
|
18
19
|
];
|
|
@@ -304,7 +305,7 @@ function isValidDate(dateString) {
|
|
|
304
305
|
return !isNaN(d.getTime());
|
|
305
306
|
// return FORMATS.some((fmt) => isValid(parse(d, fmt, new Date())));
|
|
306
307
|
}
|
|
307
|
-
function getValidDate(dateString) {
|
|
308
|
+
export function getValidDate(dateString) {
|
|
308
309
|
const dates = FORMATS.map((fmt) => parse(dateString, fmt, new Date()));
|
|
309
310
|
return dates.find((date) => isValid(date));
|
|
310
311
|
}
|
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quillsql/react",
|
|
3
|
-
"version": "2.13.
|
|
3
|
+
"version": "2.13.9",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": {
|
|
6
6
|
"import": "./dist/esm/index.js",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.esm.json",
|
|
17
17
|
"dev": "concurrently \"npm run dev:types\" \"npm run dev:esm\" \"npm run dev:cjs\"",
|
|
18
|
-
"dev:cjs": "babel src --out-dir dist/cjs --extensions \".ts,.tsx\" --copy-files --watch --env-name cjs",
|
|
19
|
-
"dev:esm": "babel src --out-dir dist/esm --extensions \".ts,.tsx\" --copy-files --watch --env-name esm",
|
|
20
18
|
"dev:types": "tsc --emitDeclarationOnly -w",
|
|
19
|
+
"dev:esm": "babel src --out-dir dist/esm --extensions \".ts,.tsx\" --copy-files --watch --env-name esm",
|
|
20
|
+
"dev:cjs": "babel src --out-dir dist/cjs --extensions \".ts,.tsx\" --copy-files --watch --env-name cjs",
|
|
21
21
|
"lint": "eslint . --max-warnings 0",
|
|
22
22
|
"pub": "rm -rf dist && tsc -p tsconfig.json && tsc -p tsconfig.esm.json && npm publish --access public"
|
|
23
23
|
},
|
|
@@ -56,4 +56,4 @@
|
|
|
56
56
|
"react-dom": "^18"
|
|
57
57
|
},
|
|
58
58
|
"access": "public"
|
|
59
|
-
}
|
|
59
|
+
}
|