@quillsql/react 2.12.40 → 2.12.42
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 +1 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +26 -12
- package/dist/cjs/ChartBuilder.d.ts +1 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +31 -25
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +7 -3
- package/dist/cjs/Context.d.ts +20 -5
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +55 -93
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +29 -18
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +11 -0
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +6 -6
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.d.ts +5 -6
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts +1 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +132 -1612
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +22 -9
- package/dist/cjs/Table.d.ts +1 -1
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +4 -2
- package/dist/cjs/components/Chart/BarChart.d.ts +3 -2
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +32 -27
- package/dist/cjs/components/Chart/BarList.d.ts +1 -5
- package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartError.js +6 -5
- package/dist/cjs/components/Chart/ChartTooltip.d.ts +4 -7
- package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartTooltip.js +14 -48
- package/dist/cjs/components/Chart/LineChart.d.ts +1 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +30 -26
- package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +0 -2
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +7 -6
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +4 -2
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -4
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +2 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +3 -4
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +12 -7
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +8 -7
- package/dist/cjs/components/Dashboard/TableComponent.js +6 -6
- package/dist/cjs/components/Dashboard/util.d.ts +2 -1
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/QuillCard.d.ts.map +1 -1
- package/dist/cjs/components/QuillCard.js +6 -5
- package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelect.js +11 -11
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +11 -11
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +12 -12
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +12 -12
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +4 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +33 -33
- package/dist/cjs/components/ReportBuilder/convert.d.ts +7 -33
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +3 -7
- package/dist/cjs/components/ReportBuilder/ui.d.ts +4 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +1 -2
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +9 -10
- package/dist/cjs/hooks/index.d.ts +0 -1
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +1 -3
- package/dist/cjs/hooks/useAskQuill.d.ts +27 -0
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -0
- package/dist/cjs/hooks/useAskQuill.js +185 -0
- package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -1
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/cjs/hooks/useAstToFilterTree.js +1 -1
- package/dist/cjs/hooks/useDashboard.d.ts +1 -1
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +10 -6
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +8 -3
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +7 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -3
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -16
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +36 -24
- package/dist/cjs/models/Client.d.ts +11 -0
- package/dist/cjs/models/Client.d.ts.map +1 -0
- package/dist/cjs/models/Columns.d.ts +1 -0
- package/dist/cjs/models/Columns.d.ts.map +1 -1
- package/dist/cjs/models/Dashboard.d.ts +14 -0
- package/dist/cjs/models/Dashboard.d.ts.map +1 -0
- package/dist/cjs/models/Filter.d.ts +87 -19
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +15 -4
- package/dist/{esm/components/ReportBuilder/pivot.d.ts → cjs/models/Pivot.d.ts} +13 -4
- package/dist/cjs/models/Pivot.d.ts.map +1 -0
- package/dist/cjs/models/Pivot.js +2 -0
- package/dist/cjs/models/Report.d.ts +4 -2
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Tables.d.ts +29 -2
- package/dist/cjs/models/Tables.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +27 -27
- package/dist/cjs/utils/astProcessing.d.ts +46 -3
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +210 -7
- package/dist/cjs/utils/axisFormatter.d.ts +3 -4
- package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/axisFormatter.js +42 -34
- package/dist/cjs/utils/client.d.ts +4 -0
- package/dist/cjs/utils/client.d.ts.map +1 -0
- package/dist/cjs/utils/client.js +40 -0
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/csv.d.ts +2 -1
- package/dist/cjs/utils/csv.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.d.ts +3 -2
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +11 -2
- package/dist/cjs/utils/dataFetcher.d.ts +7 -2
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +24 -4
- package/dist/cjs/utils/dataProcessing.d.ts +6 -5
- package/dist/cjs/utils/dataProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/dataProcessing.js +15 -23
- package/dist/cjs/utils/dates.d.ts +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts +2 -2
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +6 -6
- package/dist/cjs/utils/monacoConfig.d.ts +2 -1
- package/dist/cjs/utils/monacoConfig.d.ts.map +1 -1
- package/dist/cjs/utils/monacoConfig.js +2 -2
- package/dist/cjs/utils/pivotConstructor.d.ts +3 -2
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +10 -6
- package/dist/cjs/utils/pivotProcessing.d.ts +4 -4
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +21 -2
- package/dist/cjs/utils/queryConstructor.d.ts +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +3 -3
- package/dist/cjs/utils/report.d.ts +27 -1
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +143 -4
- package/dist/cjs/utils/schema.d.ts +6 -4
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +27 -4
- package/dist/cjs/utils/tableProcessing.d.ts +24 -6
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +94 -5
- package/dist/cjs/utils/valueFormatter.d.ts +0 -2
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +83 -67
- package/dist/esm/Chart.d.ts +1 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +27 -13
- package/dist/esm/ChartBuilder.d.ts +1 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +33 -27
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +7 -3
- package/dist/esm/Context.d.ts +20 -5
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +54 -92
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +29 -18
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +11 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +6 -6
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/QuillProvider.d.ts +5 -6
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts +1 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +141 -1621
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +23 -10
- package/dist/esm/Table.d.ts +1 -1
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +5 -3
- package/dist/esm/components/Chart/BarChart.d.ts +3 -2
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +32 -27
- package/dist/esm/components/Chart/BarList.d.ts +1 -5
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartError.js +6 -5
- package/dist/esm/components/Chart/ChartTooltip.d.ts +4 -7
- package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartTooltip.js +15 -49
- package/dist/esm/components/Chart/LineChart.d.ts +1 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +30 -26
- package/dist/esm/components/Chart/PieChart.d.ts +3 -1
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +0 -2
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +7 -6
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +4 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +4 -4
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +2 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.js +4 -5
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +13 -8
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +8 -7
- package/dist/esm/components/Dashboard/TableComponent.js +7 -7
- package/dist/esm/components/Dashboard/util.d.ts +2 -1
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/QuillCard.d.ts.map +1 -1
- package/dist/esm/components/QuillCard.js +6 -5
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelect.js +11 -11
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +11 -11
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +12 -12
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +12 -12
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +4 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +33 -33
- package/dist/esm/components/ReportBuilder/convert.d.ts +7 -33
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +3 -7
- package/dist/esm/components/ReportBuilder/ui.d.ts +4 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +1 -2
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +9 -10
- package/dist/esm/hooks/index.d.ts +0 -1
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +0 -1
- package/dist/esm/hooks/useAskQuill.d.ts +27 -0
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -0
- package/dist/esm/hooks/useAskQuill.js +181 -0
- package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -1
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/esm/hooks/useAstToFilterTree.js +1 -1
- package/dist/esm/hooks/useDashboard.d.ts +1 -1
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +11 -7
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +9 -4
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +8 -2
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -3
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -16
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +36 -24
- package/dist/esm/models/Client.d.ts +11 -0
- package/dist/esm/models/Client.d.ts.map +1 -0
- package/dist/esm/models/Columns.d.ts +1 -0
- package/dist/esm/models/Columns.d.ts.map +1 -1
- package/dist/esm/models/Dashboard.d.ts +14 -0
- package/dist/esm/models/Dashboard.d.ts.map +1 -0
- package/dist/esm/models/Filter.d.ts +87 -19
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +13 -2
- package/dist/{cjs/components/ReportBuilder/pivot.d.ts → esm/models/Pivot.d.ts} +13 -4
- package/dist/esm/models/Pivot.d.ts.map +1 -0
- package/dist/esm/models/Pivot.js +1 -0
- package/dist/esm/models/Report.d.ts +4 -2
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Tables.d.ts +29 -2
- package/dist/esm/models/Tables.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +27 -27
- package/dist/esm/utils/astProcessing.d.ts +46 -3
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +204 -6
- package/dist/esm/utils/axisFormatter.d.ts +3 -4
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
- package/dist/esm/utils/axisFormatter.js +42 -34
- package/dist/esm/utils/client.d.ts +4 -0
- package/dist/esm/utils/client.d.ts.map +1 -0
- package/dist/esm/utils/client.js +36 -0
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/csv.d.ts +2 -1
- package/dist/esm/utils/csv.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.d.ts +3 -2
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +11 -2
- package/dist/esm/utils/dataFetcher.d.ts +7 -2
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +22 -3
- package/dist/esm/utils/dataProcessing.d.ts +6 -5
- package/dist/esm/utils/dataProcessing.d.ts.map +1 -1
- package/dist/esm/utils/dataProcessing.js +15 -23
- package/dist/esm/utils/dates.d.ts +1 -1
- package/dist/esm/utils/filterProcessing.d.ts +2 -2
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +7 -7
- package/dist/esm/utils/monacoConfig.d.ts +2 -1
- package/dist/esm/utils/monacoConfig.d.ts.map +1 -1
- package/dist/esm/utils/monacoConfig.js +2 -2
- package/dist/esm/utils/pivotConstructor.d.ts +3 -2
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +10 -6
- package/dist/esm/utils/pivotProcessing.d.ts +4 -4
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +19 -1
- package/dist/esm/utils/queryConstructor.d.ts +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +3 -3
- package/dist/esm/utils/report.d.ts +27 -1
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +143 -5
- package/dist/esm/utils/schema.d.ts +6 -4
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +27 -4
- package/dist/esm/utils/tableProcessing.d.ts +24 -6
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +90 -4
- package/dist/esm/utils/valueFormatter.d.ts +0 -2
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +83 -67
- package/package.json +1 -1
- package/dist/cjs/DateRangePicker/Calendar.d.ts +0 -17
- package/dist/cjs/DateRangePicker/Calendar.d.ts.map +0 -1
- package/dist/cjs/DateRangePicker/Calendar.js +0 -168
- package/dist/cjs/DateRangePicker/DateRangePicker.d.ts +0 -39
- package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +0 -1
- package/dist/cjs/DateRangePicker/DateRangePicker.js +0 -123
- package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +0 -22
- package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +0 -1
- package/dist/cjs/DateRangePicker/DateRangePickerButton.js +0 -136
- package/dist/cjs/DateRangePicker/index.d.ts +0 -3
- package/dist/cjs/DateRangePicker/index.d.ts.map +0 -1
- package/dist/cjs/DateRangePicker/index.js +0 -9
- package/dist/cjs/TableChart.d.ts +0 -15
- package/dist/cjs/TableChart.d.ts.map +0 -1
- package/dist/cjs/TableChart.js +0 -122
- package/dist/cjs/components/Dropdown/Dropdown.d.ts +0 -14
- package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/cjs/components/Dropdown/Dropdown.js +0 -97
- package/dist/cjs/components/Dropdown/DropdownItem.d.ts +0 -11
- package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +0 -1
- package/dist/cjs/components/Dropdown/DropdownItem.js +0 -62
- package/dist/cjs/components/Dropdown/index.d.ts +0 -3
- package/dist/cjs/components/Dropdown/index.d.ts.map +0 -1
- package/dist/cjs/components/Dropdown/index.js +0 -10
- package/dist/cjs/components/Modal/Modal.d.ts +0 -15
- package/dist/cjs/components/Modal/Modal.d.ts.map +0 -1
- package/dist/cjs/components/Modal/Modal.js +0 -89
- package/dist/cjs/components/Modal/index.d.ts +0 -2
- package/dist/cjs/components/Modal/index.d.ts.map +0 -1
- package/dist/cjs/components/Modal/index.js +0 -8
- package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +0 -1
- package/dist/cjs/hooks/useTheme.d.ts +0 -7
- package/dist/cjs/hooks/useTheme.d.ts.map +0 -1
- package/dist/cjs/hooks/useTheme.js +0 -12
- package/dist/cjs/models/Pivots.d.ts +0 -2
- package/dist/cjs/models/Pivots.d.ts.map +0 -1
- package/dist/cjs/utils/aggregate.d.ts +0 -4
- package/dist/cjs/utils/aggregate.d.ts.map +0 -1
- package/dist/cjs/utils/aggregate.js +0 -428
- package/dist/esm/DateRangePicker/Calendar.d.ts +0 -17
- package/dist/esm/DateRangePicker/Calendar.d.ts.map +0 -1
- package/dist/esm/DateRangePicker/Calendar.js +0 -164
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts +0 -39
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +0 -1
- package/dist/esm/DateRangePicker/DateRangePicker.js +0 -95
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +0 -22
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +0 -1
- package/dist/esm/DateRangePicker/DateRangePickerButton.js +0 -134
- package/dist/esm/DateRangePicker/index.d.ts +0 -3
- package/dist/esm/DateRangePicker/index.d.ts.map +0 -1
- package/dist/esm/DateRangePicker/index.js +0 -2
- package/dist/esm/TableChart.d.ts +0 -15
- package/dist/esm/TableChart.d.ts.map +0 -1
- package/dist/esm/TableChart.js +0 -95
- package/dist/esm/components/Dropdown/Dropdown.d.ts +0 -14
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/Dropdown.js +0 -69
- package/dist/esm/components/Dropdown/DropdownItem.d.ts +0 -11
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/DropdownItem.js +0 -37
- package/dist/esm/components/Dropdown/index.d.ts +0 -3
- package/dist/esm/components/Dropdown/index.d.ts.map +0 -1
- package/dist/esm/components/Dropdown/index.js +0 -2
- package/dist/esm/components/Modal/Modal.d.ts +0 -15
- package/dist/esm/components/Modal/Modal.d.ts.map +0 -1
- package/dist/esm/components/Modal/Modal.js +0 -64
- package/dist/esm/components/Modal/index.d.ts +0 -2
- package/dist/esm/components/Modal/index.d.ts.map +0 -1
- package/dist/esm/components/Modal/index.js +0 -1
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +0 -1
- package/dist/esm/hooks/useTheme.d.ts +0 -7
- package/dist/esm/hooks/useTheme.d.ts.map +0 -1
- package/dist/esm/hooks/useTheme.js +0 -10
- package/dist/esm/models/Pivots.d.ts +0 -2
- package/dist/esm/models/Pivots.d.ts.map +0 -1
- package/dist/esm/utils/aggregate.d.ts +0 -4
- package/dist/esm/utils/aggregate.d.ts.map +0 -1
- package/dist/esm/utils/aggregate.js +0 -422
- /package/dist/cjs/{components/ReportBuilder/pivot.js → models/Client.js} +0 -0
- /package/dist/cjs/models/{Pivots.js → Dashboard.js} +0 -0
- /package/dist/esm/{components/ReportBuilder/pivot.js → models/Client.js} +0 -0
- /package/dist/esm/models/{Pivots.js → Dashboard.js} +0 -0
package/dist/esm/utils/report.js
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
|
+
import { createInitialFormData } from '../ChartBuilder';
|
|
2
|
+
import { getTableNames } from '../components/ReportBuilder/ast';
|
|
3
|
+
import { generatePivotTable } from '../internals/ReportBuilder/PivotModal';
|
|
4
|
+
import { createBasicSelectASTFromColumns } from './astProcessing';
|
|
1
5
|
import { getYAxisFields } from './columnProcessing';
|
|
2
6
|
import { cleanDashboardItem } from './dashboard';
|
|
3
|
-
import { getData } from './dataFetcher';
|
|
7
|
+
import { fetchSqlQuery, getData } from './dataFetcher';
|
|
4
8
|
import { parseValueFromBigQueryDates } from './dataProcessing';
|
|
9
|
+
import { getDateBucketFromRange } from './dates';
|
|
5
10
|
import { DataLoadError } from './error';
|
|
6
11
|
import { processFilterErrorList } from './errorProcessing';
|
|
7
12
|
import { internalLog } from './logging';
|
|
8
13
|
import { mergeComparisonRange } from './merge';
|
|
9
|
-
import {
|
|
14
|
+
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
15
|
+
import { isPivotPossible, isValidPivot } from './pivotProcessing';
|
|
16
|
+
import { fetchTableByAST, getRelevantInfoFromQuery, } from './tableProcessing';
|
|
10
17
|
import { quillFormat } from './valueFormatter';
|
|
11
18
|
export const EMPTY_REPORT = {
|
|
12
19
|
id: '',
|
|
@@ -27,6 +34,31 @@ export const EMPTY_REPORT = {
|
|
|
27
34
|
queryString: '',
|
|
28
35
|
rowCount: 0,
|
|
29
36
|
};
|
|
37
|
+
export const EMPTY_INTERNAL_REPORT = {
|
|
38
|
+
...EMPTY_REPORT,
|
|
39
|
+
columnInternal: [],
|
|
40
|
+
};
|
|
41
|
+
function extractAllReportValuesFromQuillInternalReport(reportInternal) {
|
|
42
|
+
return {
|
|
43
|
+
id: reportInternal.id,
|
|
44
|
+
name: reportInternal.name,
|
|
45
|
+
dashboardName: reportInternal.dashboardName,
|
|
46
|
+
rows: reportInternal.rows,
|
|
47
|
+
columns: reportInternal.columns,
|
|
48
|
+
chartType: reportInternal.chartType,
|
|
49
|
+
dateField: reportInternal.dateField,
|
|
50
|
+
pivot: reportInternal.pivot,
|
|
51
|
+
xAxisLabel: reportInternal.xAxisLabel,
|
|
52
|
+
xAxisField: reportInternal.xAxisField,
|
|
53
|
+
xAxisFormat: reportInternal.xAxisFormat,
|
|
54
|
+
yAxisFields: reportInternal.yAxisFields,
|
|
55
|
+
order: reportInternal.order,
|
|
56
|
+
compareRows: reportInternal.compareRows,
|
|
57
|
+
filtersApplied: reportInternal.filtersApplied,
|
|
58
|
+
queryString: reportInternal.queryString,
|
|
59
|
+
rowCount: reportInternal.rowCount,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
30
62
|
export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields) {
|
|
31
63
|
let reportInfo = undefined;
|
|
32
64
|
let errorMessage = undefined;
|
|
@@ -110,7 +142,7 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
110
142
|
errorMessage = error.message;
|
|
111
143
|
}
|
|
112
144
|
}
|
|
113
|
-
return { report: reportInfo, error: errorMessage };
|
|
145
|
+
return { report: reportInfo || EMPTY_REPORT, error: errorMessage };
|
|
114
146
|
}
|
|
115
147
|
export const formatRowsFromReport = (report) => {
|
|
116
148
|
if (!report.rows || !report.columns) {
|
|
@@ -163,7 +195,7 @@ export function convertInternalReportToReport(report) {
|
|
|
163
195
|
rows = formatRowsFromReport({ rows, columns });
|
|
164
196
|
}
|
|
165
197
|
return {
|
|
166
|
-
...formattedReport,
|
|
198
|
+
...extractAllReportValuesFromQuillInternalReport(formattedReport),
|
|
167
199
|
rows: rows,
|
|
168
200
|
yAxisFields: getYAxisFields(report),
|
|
169
201
|
columns: columns,
|
|
@@ -175,7 +207,7 @@ export function convertInternalReportToReport(report) {
|
|
|
175
207
|
rows = formatRowsFromReport(report);
|
|
176
208
|
}
|
|
177
209
|
return {
|
|
178
|
-
...formattedReport,
|
|
210
|
+
...extractAllReportValuesFromQuillInternalReport(formattedReport),
|
|
179
211
|
rows: rows,
|
|
180
212
|
yAxisFields: getYAxisFields(report),
|
|
181
213
|
};
|
|
@@ -184,3 +216,109 @@ export function convertInternalReportToReport(report) {
|
|
|
184
216
|
return EMPTY_REPORT;
|
|
185
217
|
}
|
|
186
218
|
}
|
|
219
|
+
export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields) => {
|
|
220
|
+
let newRows = [];
|
|
221
|
+
let newColumns = [];
|
|
222
|
+
let newRowCount = 0;
|
|
223
|
+
let newPivot = null;
|
|
224
|
+
let newPivotData = null;
|
|
225
|
+
let formattedRows = [];
|
|
226
|
+
let curReport = report;
|
|
227
|
+
let table = '';
|
|
228
|
+
let error;
|
|
229
|
+
const relevantInfo = previousRelevant ?? { uniqueStrings: {}, dateRanges: {} };
|
|
230
|
+
const query = '';
|
|
231
|
+
try {
|
|
232
|
+
const tables = getTableNames(baseAst);
|
|
233
|
+
table = tables[0] ? tables[0] : '';
|
|
234
|
+
const tableInfo = schema.find((tableInfo) => tableInfo.name === table);
|
|
235
|
+
if (!table || !tableInfo) {
|
|
236
|
+
throw new Error('No table found;');
|
|
237
|
+
}
|
|
238
|
+
const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, { page: DEFAULT_PAGINATION });
|
|
239
|
+
if (tableData.error) {
|
|
240
|
+
throw new Error(tableData.error);
|
|
241
|
+
}
|
|
242
|
+
const processedFormData = report
|
|
243
|
+
? report
|
|
244
|
+
: createInitialFormData(tableData.columns);
|
|
245
|
+
curReport = {
|
|
246
|
+
...formData,
|
|
247
|
+
...processedFormData,
|
|
248
|
+
pivot: pivot,
|
|
249
|
+
itemQuery: tableData.itemQuery,
|
|
250
|
+
rowCount: tableData.rowCount,
|
|
251
|
+
filtersApplied: [],
|
|
252
|
+
rows: tableData.rows,
|
|
253
|
+
columns: tableData.columns.map((col) => {
|
|
254
|
+
return { field: col.field, format: col.format, label: col.label };
|
|
255
|
+
}),
|
|
256
|
+
columnInternal: tableData.columns,
|
|
257
|
+
};
|
|
258
|
+
const queryResult = await fetchSqlQuery({
|
|
259
|
+
...createBasicSelectASTFromColumns(tableInfo.columns, table),
|
|
260
|
+
where: formData,
|
|
261
|
+
}, client, formData);
|
|
262
|
+
if (queryResult.error) {
|
|
263
|
+
throw new Error(queryResult.error);
|
|
264
|
+
}
|
|
265
|
+
if (table !== currentTable || previousFormData !== formData) {
|
|
266
|
+
const { uniqueStrings, dateRanges } = await getRelevantInfoFromQuery(tableInfo.columns, client, queryResult.query, customFields);
|
|
267
|
+
relevantInfo.uniqueStrings[table] = uniqueStrings ?? {};
|
|
268
|
+
relevantInfo.dateRanges = dateRanges ?? {};
|
|
269
|
+
}
|
|
270
|
+
if (!!relevantInfo.error) {
|
|
271
|
+
throw new Error(relevantInfo.error);
|
|
272
|
+
}
|
|
273
|
+
if (pivot) {
|
|
274
|
+
if (isPivotPossible(tableData.columns, pivot)) {
|
|
275
|
+
let dateBucket = undefined;
|
|
276
|
+
const rowFieldDateRange = relevantInfo.dateRanges[pivot.rowField ?? ''] ?? undefined;
|
|
277
|
+
if (rowFieldDateRange) {
|
|
278
|
+
dateBucket = getDateBucketFromRange(rowFieldDateRange.dateRange);
|
|
279
|
+
}
|
|
280
|
+
newPivotData = await generatePivotTable(pivot, tableData.rows, undefined, false, -1, undefined, dateBucket, curReport, client, relevantInfo.uniqueStrings[table]);
|
|
281
|
+
newPivot = pivot;
|
|
282
|
+
}
|
|
283
|
+
if (!newPivotData) {
|
|
284
|
+
newPivot = null;
|
|
285
|
+
formattedRows = formatRowsFromReport({
|
|
286
|
+
rows: tableData.rows,
|
|
287
|
+
columns: tableData.columns,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
formattedRows = formatRowsFromReport({
|
|
292
|
+
rows: newPivotData.rows,
|
|
293
|
+
columns: newPivotData.columns,
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
formattedRows = formatRowsFromReport({
|
|
299
|
+
rows: tableData.rows,
|
|
300
|
+
columns: tableData.columns,
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
newRowCount = tableData.rowCount ?? tableData.rows.length;
|
|
304
|
+
newRows = tableData.rows;
|
|
305
|
+
newColumns = tableData.columns;
|
|
306
|
+
}
|
|
307
|
+
catch (e) {
|
|
308
|
+
error = e.message;
|
|
309
|
+
}
|
|
310
|
+
return {
|
|
311
|
+
rows: newRows,
|
|
312
|
+
columns: newColumns,
|
|
313
|
+
rowCount: newRowCount,
|
|
314
|
+
pivot: newPivot,
|
|
315
|
+
pivotData: newPivotData,
|
|
316
|
+
formattedRows,
|
|
317
|
+
report: curReport ?? EMPTY_INTERNAL_REPORT,
|
|
318
|
+
table,
|
|
319
|
+
uniqueValues: relevantInfo.uniqueStrings,
|
|
320
|
+
dateRanges: relevantInfo.dateRanges,
|
|
321
|
+
query,
|
|
322
|
+
error: error,
|
|
323
|
+
};
|
|
324
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { Client } from '../models/Client';
|
|
2
|
+
import { Table } from '../models/Tables';
|
|
3
|
+
export declare const getCustomFieldInfo: (client: Client, caller?: string) => Promise<any[]>;
|
|
4
|
+
export declare const getSchemaInfoWithCustomFields: (client: Client, caller?: string) => Promise<{
|
|
5
|
+
schemaData: Table[];
|
|
6
|
+
customFieldsByTable: any;
|
|
5
7
|
}>;
|
|
6
8
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAsDzC,eAAO,MAAM,kBAAkB,WAAkB,MAAM,oCA8EtD,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,MAAM,sBAEb,QAAQ;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAmD3D,CAAC"}
|
package/dist/esm/utils/schema.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { convertColumnInfoToColumnInternal } from './columnProcessing';
|
|
1
2
|
const triggerSoftUpdate = async (client, tables) => {
|
|
2
3
|
const { queryEndpoint, queryHeaders, publicKey, withCredentials } = client;
|
|
3
4
|
tables.forEach(async (table) => {
|
|
@@ -49,8 +50,8 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
|
49
50
|
let customFieldsByTableUnique = [];
|
|
50
51
|
try {
|
|
51
52
|
const { queryEndpoint, queryHeaders, publicKey, databaseType, customerId } = client;
|
|
52
|
-
if (databaseType.toLowerCase() !== 'postgresql' ||
|
|
53
|
-
!['
|
|
53
|
+
if ((databaseType && databaseType.toLowerCase() !== 'postgresql') ||
|
|
54
|
+
!['665610862cf7a3000be66453'].includes(publicKey)) {
|
|
54
55
|
throw new Error('CUSTOM FIELDS IS ONLY ALLOWED FOR POSTGRESQL DATABASES');
|
|
55
56
|
}
|
|
56
57
|
const response = await fetch(`${queryEndpoint}?cfr-${caller}`, {
|
|
@@ -148,9 +149,31 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
|
|
|
148
149
|
});
|
|
149
150
|
const result = await response.json();
|
|
150
151
|
const parsedData = parseResponse(result);
|
|
151
|
-
|
|
152
|
+
const converted = convertSchemaInfoToTable(parsedData);
|
|
153
|
+
triggerSoftUpdate(client, converted);
|
|
152
154
|
return {
|
|
153
|
-
schemaData:
|
|
155
|
+
schemaData: converted,
|
|
154
156
|
customFieldsByTable: customFieldsByTableUnique,
|
|
155
157
|
};
|
|
156
158
|
};
|
|
159
|
+
// Used to convert backend data to front end data
|
|
160
|
+
function convertSchemaInfoToTable(schemaData) {
|
|
161
|
+
const tables = [];
|
|
162
|
+
schemaData.forEach((table) => {
|
|
163
|
+
const columnInternal = table.columns.map((column) => {
|
|
164
|
+
return convertColumnInfoToColumnInternal(column);
|
|
165
|
+
});
|
|
166
|
+
const newTable = {
|
|
167
|
+
name: table.name,
|
|
168
|
+
columns: columnInternal,
|
|
169
|
+
rowCount: table.rowCount,
|
|
170
|
+
isSelectStar: table.isSelectStar,
|
|
171
|
+
viewQuery: table.viewQuery,
|
|
172
|
+
_id: table._id,
|
|
173
|
+
customFieldInfo: table.customFieldInfo,
|
|
174
|
+
displayName: table.displayName,
|
|
175
|
+
};
|
|
176
|
+
tables.push(newTable);
|
|
177
|
+
});
|
|
178
|
+
return tables;
|
|
179
|
+
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import { NodeSQLParser } from '../components/ReportBuilder/ast';
|
|
2
|
+
import { Client } from '../models/Client';
|
|
1
3
|
import { Column, ColumnInternal } from '../models/Columns';
|
|
2
4
|
import { Pagination } from '../models/Pagination';
|
|
5
|
+
import { DateRangesByColumn, UniqueValuesByColumn } from '../models/Tables';
|
|
3
6
|
export interface AdditionalProcessing {
|
|
4
7
|
sort?: {
|
|
5
8
|
field: string;
|
|
@@ -9,13 +12,18 @@ export interface AdditionalProcessing {
|
|
|
9
12
|
last?: any;
|
|
10
13
|
}
|
|
11
14
|
export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
|
|
12
|
-
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client:
|
|
15
|
+
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: Client, customFields: any[]) => Promise<{
|
|
13
16
|
[column: string]: {
|
|
14
17
|
[value: string]: boolean;
|
|
15
18
|
};
|
|
16
19
|
} | null>;
|
|
17
|
-
export declare const
|
|
18
|
-
|
|
20
|
+
export declare const getRelevantInfoFromQuery: (columns: ColumnInternal[], client: Client, query: string, customFields?: any) => Promise<{
|
|
21
|
+
uniqueStrings?: UniqueValuesByColumn | undefined;
|
|
22
|
+
dateRanges?: DateRangesByColumn | undefined;
|
|
23
|
+
error?: string | undefined;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const getCountsByColumns: (columns: Column[], query: string, client: Client, customFields: any[]) => Promise<Column[]>;
|
|
26
|
+
export declare const getDateRangeByColumns: (columns: Column[], query: string, client: Client, customFields: any[]) => Promise<{
|
|
19
27
|
[column: string]: {
|
|
20
28
|
dateRange: {
|
|
21
29
|
start: Date;
|
|
@@ -23,23 +31,33 @@ export declare const getDateRangeByColumns: (columns: Column[], query: string, c
|
|
|
23
31
|
};
|
|
24
32
|
};
|
|
25
33
|
} | null>;
|
|
26
|
-
export declare const getPaginatedRows: (client:
|
|
34
|
+
export declare const getPaginatedRows: (client: Client, query?: string, reportId?: string, processing?: AdditionalProcessing, filters?: any, customFields?: any) => Promise<{
|
|
27
35
|
columns: Column[];
|
|
28
36
|
rows: any[];
|
|
29
37
|
rowCount?: number;
|
|
30
38
|
error?: string;
|
|
31
39
|
}>;
|
|
32
|
-
export declare const fetchTableByQuery: (query: string, client:
|
|
40
|
+
export declare const fetchTableByQuery: (query: string, client: Client, processing?: AdditionalProcessing, customFields?: any) => Promise<{
|
|
33
41
|
columns: ColumnInternal[];
|
|
34
42
|
rows: any[];
|
|
35
43
|
rowCount?: number | undefined;
|
|
36
44
|
error?: string | undefined;
|
|
37
45
|
itemQuery?: string[] | undefined;
|
|
38
46
|
}>;
|
|
39
|
-
export declare const fetchTableByReport: (reportId: string, client:
|
|
47
|
+
export declare const fetchTableByReport: (reportId: string, client: Client, processing?: AdditionalProcessing, filters?: any, customFields?: any) => Promise<{
|
|
40
48
|
columns: Column[];
|
|
41
49
|
rows: any[];
|
|
42
50
|
rowCount?: number | undefined;
|
|
43
51
|
error?: string | undefined;
|
|
44
52
|
}>;
|
|
53
|
+
export declare const fetchTableByAST: (ast: NodeSQLParser.Select, client: Client, processing?: AdditionalProcessing, customFields?: any) => Promise<{
|
|
54
|
+
columns: ColumnInternal[];
|
|
55
|
+
rows: any[];
|
|
56
|
+
rowCount?: number | undefined;
|
|
57
|
+
error?: string | undefined;
|
|
58
|
+
itemQuery?: string[] | undefined;
|
|
59
|
+
}>;
|
|
60
|
+
export declare const convertUniqueValuesByColumnToUniqueValueStrings: (uniqueValuesByColumns: UniqueValuesByColumn) => {
|
|
61
|
+
[columnName: string]: string[];
|
|
62
|
+
};
|
|
45
63
|
//# sourceMappingURL=tableProcessing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAe5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,eAAO,MAAM,cAAc,YAChB,MAAM,EAAE,qBACE,MAAM,EAAE,KAC1B,OAUF,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,MAAM,EAAE,SACV,MAAM,QACP,GAAG,UACD,MAAM,gBACA,GAAG,EAAE;;;;SAkEpB,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,cAAc,EAAE,UACjB,MAAM,SACP,MAAM,iBACE,GAAG;;;;EA6DnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,EAAE,SACV,MAAM,UACL,MAAM,gBACA,GAAG,EAAE,KAClB,QAAQ,MAAM,EAAE,CA2ClB,CAAC;AAkDF,eAAO,MAAM,qBAAqB,YACvB,MAAM,EAAE,SACV,MAAM,UACL,MAAM,gBACA,GAAG,EAAE;;mBAEY;YAAE,KAAK,EAAE,IAAI,CAAC;YAAC,GAAG,EAAE,IAAI,CAAA;SAAE;;SAiB1D,CAAC;AA2DF,eAAO,MAAM,gBAAgB,WACnB,MAAM,UACN,MAAM,aACH,MAAM,eACJ,oBAAoB,YACvB,GAAG,iBACE,GAAG,KACjB,QAAQ;IACT,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAaA,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,MAAM,UACL,MAAM,eACD,oBAAoB,iBAClB,GAAG;aAET,cAAc,EAAE;UACnB,GAAG,EAAE;;;;EAqDZ,CAAC;AAEF,eAAO,MAAM,kBAAkB,aACnB,MAAM,UACR,MAAM,eACD,oBAAoB,YACvB,GAAG,iBACE,GAAG;aAET,MAAM,EAAE;UACX,GAAG,EAAE;;;EAgFZ,CAAC;AAEF,eAAO,MAAM,eAAe,QACrB,cAAc,MAAM,UACjB,MAAM,eACD,oBAAoB,iBAClB,GAAG;aAET,cAAc,EAAE;UACnB,GAAG,EAAE;;;;EAuDZ,CAAC;AAEF,eAAO,MAAM,+CAA+C,0BACnC,oBAAoB;;CAU5C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isTextColumnType, } from '../components/ReportBuilder/ast';
|
|
1
2
|
import { convertPostgresColumn } from './columnProcessing';
|
|
2
3
|
import { MAX_PIVOT_UNIQUE_VALUES } from './constants';
|
|
3
4
|
import { getData } from './dataFetcher';
|
|
@@ -65,9 +66,41 @@ export const getUniqueValuesByColumns = async (columns, query, rows, client, cus
|
|
|
65
66
|
}
|
|
66
67
|
return uniqueValues;
|
|
67
68
|
};
|
|
69
|
+
export const getRelevantInfoFromQuery = async (columns, client, query, customFields) => {
|
|
70
|
+
let dateRanges = {};
|
|
71
|
+
let uniqueStrings = {};
|
|
72
|
+
let error = undefined;
|
|
73
|
+
try {
|
|
74
|
+
const convertedStringColumns = columns.filter((column) => {
|
|
75
|
+
return isTextColumnType(column.fieldType);
|
|
76
|
+
});
|
|
77
|
+
const stringNames = convertedStringColumns.map((column) => column.field);
|
|
78
|
+
if (stringNames.length > 0) {
|
|
79
|
+
const smallStringColumns = await getCountsByColumns(convertedStringColumns, query, client, customFields);
|
|
80
|
+
uniqueStrings = await getUniqueValuesByColumns(smallStringColumns, query, [], client, customFields);
|
|
81
|
+
}
|
|
82
|
+
const dateColumns = columns.filter((column) => {
|
|
83
|
+
return column.fieldType === 'date';
|
|
84
|
+
});
|
|
85
|
+
if (dateColumns.length > 0) {
|
|
86
|
+
dateRanges = await getDateRangeByColumns(dateColumns, query, client, customFields);
|
|
87
|
+
if (dateRanges === null) {
|
|
88
|
+
throw new Error("Couldn't fetch date ranges");
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch (e) {
|
|
93
|
+
error = "Couldn't fetch pivot info";
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
uniqueStrings: uniqueStrings ?? undefined,
|
|
97
|
+
dateRanges: dateRanges ?? undefined,
|
|
98
|
+
error,
|
|
99
|
+
};
|
|
100
|
+
};
|
|
68
101
|
export const getCountsByColumns = async (columns, query, client, customFields) => {
|
|
69
102
|
const stringNames = columns.map((column) => column.field);
|
|
70
|
-
const countQuery = generateCountQuery(stringNames, query, client.databaseType);
|
|
103
|
+
const countQuery = generateCountQuery(stringNames, query, client.databaseType || 'postgresql');
|
|
71
104
|
try {
|
|
72
105
|
const hostedBody = {
|
|
73
106
|
metadata: {
|
|
@@ -137,7 +170,7 @@ export const getDateRangeByColumns = async (columns, query, client, customFields
|
|
|
137
170
|
const columnNames = columns.map(
|
|
138
171
|
// @ts-ignore
|
|
139
172
|
(column) => column.field || column.name);
|
|
140
|
-
const distinctValueQuery = generateMinMaxRangeQueries(columnNames, query, client.databaseType);
|
|
173
|
+
const distinctValueQuery = generateMinMaxRangeQueries(columnNames, query, client.databaseType || 'postgresql');
|
|
141
174
|
const dateRanges = await fetchDateRanges(distinctValueQuery, client, customFields);
|
|
142
175
|
return dateRanges;
|
|
143
176
|
};
|
|
@@ -162,8 +195,8 @@ const fetchDateRanges = async (query, client, customFields) => {
|
|
|
162
195
|
const results = data.rows.reduce((acc, currentValue) => {
|
|
163
196
|
acc[currentValue.field] = {
|
|
164
197
|
dateRange: {
|
|
165
|
-
start: parseDateByDatabaseType(currentValue.min_range, client.databaseType),
|
|
166
|
-
end: parseDateByDatabaseType(currentValue.max_range, client.databaseType),
|
|
198
|
+
start: parseDateByDatabaseType(currentValue.min_range, client.databaseType || 'postgresql'),
|
|
199
|
+
end: parseDateByDatabaseType(currentValue.max_range, client.databaseType || 'postgresql'),
|
|
167
200
|
},
|
|
168
201
|
};
|
|
169
202
|
return acc;
|
|
@@ -299,3 +332,56 @@ export const fetchTableByReport = async (reportId, client, processing, filters,
|
|
|
299
332
|
}
|
|
300
333
|
return { rows, columns, rowCount, error };
|
|
301
334
|
};
|
|
335
|
+
export const fetchTableByAST = async (ast, client, processing, customFields) => {
|
|
336
|
+
let rows = [];
|
|
337
|
+
let columns = [];
|
|
338
|
+
let rowCount;
|
|
339
|
+
let error;
|
|
340
|
+
let itemQuery;
|
|
341
|
+
try {
|
|
342
|
+
const hostedBody = {
|
|
343
|
+
metadata: {
|
|
344
|
+
clientId: client.publicKey,
|
|
345
|
+
ast,
|
|
346
|
+
publicKey: client.publicKey,
|
|
347
|
+
orgId: client.customerId,
|
|
348
|
+
task: 'patterns',
|
|
349
|
+
getCustomFields: false,
|
|
350
|
+
customFields,
|
|
351
|
+
additionalProcessing: processing,
|
|
352
|
+
useUpdatedDataGathering: true,
|
|
353
|
+
useNewNodeSql: true,
|
|
354
|
+
},
|
|
355
|
+
};
|
|
356
|
+
const cloudBody = {};
|
|
357
|
+
const resp = await getData(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
|
|
358
|
+
if (resp.errorMessage || resp.name === 'error') {
|
|
359
|
+
throw new Error(resp.errorMessage);
|
|
360
|
+
}
|
|
361
|
+
processFilterErrorList(resp);
|
|
362
|
+
if (resp.rowCount) {
|
|
363
|
+
rowCount = resp.rowCount;
|
|
364
|
+
}
|
|
365
|
+
const gatheredRows = resp.rows && resp.rows.length ? resp.rows : [];
|
|
366
|
+
columns = resp.fields.map((elem) => convertPostgresColumn(elem));
|
|
367
|
+
rows = gatheredRows;
|
|
368
|
+
itemQuery = resp.itemQuery;
|
|
369
|
+
}
|
|
370
|
+
catch (e) {
|
|
371
|
+
rows = [];
|
|
372
|
+
columns = [];
|
|
373
|
+
rowCount = 0;
|
|
374
|
+
error = e.message;
|
|
375
|
+
}
|
|
376
|
+
if (client.databaseType && client.databaseType.toLowerCase() === 'bigquery') {
|
|
377
|
+
parseValueFromBigQueryDates(rows, columns);
|
|
378
|
+
}
|
|
379
|
+
return { rows, columns, rowCount, error, itemQuery };
|
|
380
|
+
};
|
|
381
|
+
export const convertUniqueValuesByColumnToUniqueValueStrings = (uniqueValuesByColumns) => {
|
|
382
|
+
return Object.keys(uniqueValuesByColumns).reduce((acc, column) => {
|
|
383
|
+
const uniqueValues = uniqueValuesByColumns[column] ?? [];
|
|
384
|
+
acc[column] = Object.keys(uniqueValues);
|
|
385
|
+
return acc;
|
|
386
|
+
}, {});
|
|
387
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,
|
|
1
|
+
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,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,UAM/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MA8ChE,CAAC;AAEF,eAAO,MAAM,WAAW;WAIf,GAAG;YACF,MAAM;MACZ,MAgDH,CAAC;AAoNF,eAAO,MAAM,aAAa;;;;WAGhB,MAAM,KACb,MAkDF,CAAC"}
|
|
@@ -27,36 +27,44 @@ export const valueFormatter = ({ value, field, fields }) => {
|
|
|
27
27
|
const fieldInfo = fields.find((f) => f.field === field);
|
|
28
28
|
if (!fieldInfo)
|
|
29
29
|
return '';
|
|
30
|
-
const HANDLERS = {
|
|
31
|
-
percent: formatPercent,
|
|
32
|
-
dollar_amount: formatDollarAmount,
|
|
33
|
-
dollar_cents: formatDollarCents,
|
|
34
|
-
whole_number: formatWholeNumber,
|
|
35
|
-
one_decimal_place: formatOneDecimalPlace,
|
|
36
|
-
two_decimal_places: formatTwoDecimalPlaces,
|
|
37
|
-
string: formatString,
|
|
38
|
-
yyyy: format_YYYY,
|
|
39
|
-
MMM_dd: format_MMM_dd,
|
|
40
|
-
MMM_yyyy: format_MMM_yyyy,
|
|
41
|
-
MMM_dd_yyyy: format_MMM_dd_yyyy,
|
|
42
|
-
MMM_ww_yyyy: format_MMM_ww_yyyy,
|
|
43
|
-
hh_ap_pm: format_hh_ap_pm,
|
|
44
|
-
'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
|
|
45
|
-
'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
|
|
46
|
-
'wo, yyyy': format_wo_yyyy,
|
|
47
|
-
};
|
|
48
|
-
// try to handle this value using the associated formatType handler
|
|
49
30
|
const formatType = fieldInfo.format;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
value
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
31
|
+
switch (formatType) {
|
|
32
|
+
case 'percent':
|
|
33
|
+
return formatPercent(value);
|
|
34
|
+
case 'dollar_amount':
|
|
35
|
+
return formatDollarAmount(value);
|
|
36
|
+
case 'dollar_cents':
|
|
37
|
+
return formatDollarCents(value);
|
|
38
|
+
case 'whole_number':
|
|
39
|
+
return formatWholeNumber(value);
|
|
40
|
+
case 'one_decimal_place':
|
|
41
|
+
return formatOneDecimalPlace(value);
|
|
42
|
+
case 'two_decimal_places':
|
|
43
|
+
return formatTwoDecimalPlaces(value);
|
|
44
|
+
case 'string':
|
|
45
|
+
return formatString(value);
|
|
46
|
+
case 'yyyy':
|
|
47
|
+
return format_YYYY(value);
|
|
48
|
+
case 'MMM_dd':
|
|
49
|
+
return format_MMM_dd(value);
|
|
50
|
+
case 'MMM_yyyy':
|
|
51
|
+
return format_MMM_yyyy(value);
|
|
52
|
+
case 'MMM_dd_yyyy':
|
|
53
|
+
return format_MMM_dd_yyyy(value);
|
|
54
|
+
// what is this
|
|
55
|
+
// case 'MMM_ww_yyyy':
|
|
56
|
+
// return format_MMM_ww_yyyy(value);
|
|
57
|
+
case 'hh_ap_pm':
|
|
58
|
+
return format_hh_ap_pm(value);
|
|
59
|
+
case 'MMM_dd-MMM_dd':
|
|
60
|
+
return format_MMM_dd_MMM_dd(value);
|
|
61
|
+
case 'MMM_dd_hh:mm_ap_pm':
|
|
62
|
+
return format_MMM_dd_hh_mm_ap_pm(value);
|
|
63
|
+
case 'wo, yyyy':
|
|
64
|
+
return format_wo_yyyy(value);
|
|
65
|
+
default:
|
|
66
|
+
return formatString(value);
|
|
58
67
|
}
|
|
59
|
-
return formatString(value); // by default make this value a string
|
|
60
68
|
};
|
|
61
69
|
export const quillFormat = ({ value, format, }) => {
|
|
62
70
|
// Handle special case, if value is null and format is numeric display '-'
|
|
@@ -64,36 +72,45 @@ export const quillFormat = ({ value, format, }) => {
|
|
|
64
72
|
(NUMBER_FORMAT_TYPES.includes(format) || DATE_FORMAT_TYPES.includes(format))) {
|
|
65
73
|
return '-';
|
|
66
74
|
}
|
|
67
|
-
const HANDLERS = {
|
|
68
|
-
percent: formatPercent,
|
|
69
|
-
dollar_amount: formatDollarAmount,
|
|
70
|
-
dollar_cents: formatDollarCents,
|
|
71
|
-
whole_number: formatWholeNumber,
|
|
72
|
-
one_decimal_place: formatOneDecimalPlace,
|
|
73
|
-
two_decimal_places: formatTwoDecimalPlaces,
|
|
74
|
-
string: formatString,
|
|
75
|
-
yyyy: format_YYYY,
|
|
76
|
-
MMM_yyyy: format_MMM_yyyy,
|
|
77
|
-
MMM_dd_yyyy: format_MMM_dd_yyyy,
|
|
78
|
-
MMM_dd: format_MMM_dd,
|
|
79
|
-
hh_ap_pm: format_hh_ap_pm,
|
|
80
|
-
'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
|
|
81
|
-
'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
|
|
82
|
-
'wo, yyyy': format_wo_yyyy,
|
|
83
|
-
};
|
|
84
75
|
// try to handle this value using the associated formatType handler
|
|
85
76
|
const formatType = format;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
value
|
|
91
|
-
|
|
92
|
-
return
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
switch (formatType) {
|
|
78
|
+
case 'percent':
|
|
79
|
+
return formatPercent(value);
|
|
80
|
+
case 'dollar_amount':
|
|
81
|
+
return formatDollarAmount(value);
|
|
82
|
+
case 'dollar_cents':
|
|
83
|
+
return formatDollarCents(value);
|
|
84
|
+
case 'whole_number':
|
|
85
|
+
return formatWholeNumber(value);
|
|
86
|
+
case 'one_decimal_place':
|
|
87
|
+
return formatOneDecimalPlace(value);
|
|
88
|
+
case 'two_decimal_places':
|
|
89
|
+
return formatTwoDecimalPlaces(value);
|
|
90
|
+
case 'string':
|
|
91
|
+
return formatString(value);
|
|
92
|
+
case 'yyyy':
|
|
93
|
+
return format_YYYY(value);
|
|
94
|
+
case 'MMM_dd':
|
|
95
|
+
return format_MMM_dd(value);
|
|
96
|
+
case 'MMM_yyyy':
|
|
97
|
+
return format_MMM_yyyy(value);
|
|
98
|
+
case 'MMM_dd_yyyy':
|
|
99
|
+
return format_MMM_dd_yyyy(value);
|
|
100
|
+
// what is this
|
|
101
|
+
// case 'MMM_ww_yyyy':
|
|
102
|
+
// return format_MMM_ww_yyyy(value);
|
|
103
|
+
case 'hh_ap_pm':
|
|
104
|
+
return format_hh_ap_pm(value);
|
|
105
|
+
case 'MMM_dd-MMM_dd':
|
|
106
|
+
return format_MMM_dd_MMM_dd(value);
|
|
107
|
+
case 'MMM_dd_hh:mm_ap_pm':
|
|
108
|
+
return format_MMM_dd_hh_mm_ap_pm(value);
|
|
109
|
+
case 'wo, yyyy':
|
|
110
|
+
return format_wo_yyyy(value);
|
|
111
|
+
default:
|
|
112
|
+
return formatString(value);
|
|
95
113
|
}
|
|
96
|
-
return formatString(value); // by default make this value a string
|
|
97
114
|
};
|
|
98
115
|
/**
|
|
99
116
|
* HELPER FUNCTION DEFINITIONS
|
|
@@ -240,18 +257,17 @@ const format_wo_yyyy = (value) => {
|
|
|
240
257
|
return 'Invalid date';
|
|
241
258
|
return `${getWeek(utcDate)},${utcDate.getFullYear()}`;
|
|
242
259
|
};
|
|
243
|
-
const format_MMM_ww_yyyy = (value) => {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
};
|
|
260
|
+
// const format_MMM_ww_yyyy = (value: any) => {
|
|
261
|
+
// const utcDate: Date = utcToZonedTime(new Date(value), 'UTC');
|
|
262
|
+
// if (!isValid(utcDate)) return 'Invalid date';
|
|
263
|
+
// const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
|
|
264
|
+
// const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
|
|
265
|
+
// const month = format(utcDate, 'MMM');
|
|
266
|
+
// const startDay = format(startOfWeekDate, 'd');
|
|
267
|
+
// const endDay = format(endOfWeekDate, 'd');
|
|
268
|
+
// const year = format(utcDate, 'yyyy');
|
|
269
|
+
// return `${month}, ${startDay}-${endDay}, ${year}`;
|
|
270
|
+
// };
|
|
255
271
|
/**
|
|
256
272
|
* Parses a numeric string back into a number, taking into account that
|
|
257
273
|
* users in different locales will format numbers differently (eg. 1,234 means
|