@quillsql/react 2.12.29 → 2.12.31
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 +29 -46
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +187 -468
- package/dist/cjs/ChartBuilder.d.ts +30 -61
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +190 -131
- package/dist/cjs/ChartEditor.d.ts +14 -2
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +70 -125
- package/dist/cjs/Context.d.ts +4 -1
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +52 -6
- package/dist/cjs/Dashboard.d.ts +74 -118
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +273 -47
- package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/Calendar.js +3 -6
- package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/DateRangePicker.js +2 -29
- package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +1 -2
- package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/DateRangePickerButton.js +2 -4
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +4 -4
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -15
- package/dist/cjs/ReportBuilder.d.ts +18 -6
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +477 -489
- package/dist/cjs/SQLEditor.d.ts +4 -11
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +76 -88
- package/dist/cjs/Table.d.ts +19 -3
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +130 -114
- package/dist/cjs/TableChart.d.ts.map +1 -1
- package/dist/cjs/TableChart.js +0 -1
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -1
- package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -1
- package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -1
- package/dist/cjs/assets/SearchIcon.d.ts.map +1 -1
- package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -1
- package/dist/cjs/components/Banner/index.d.ts +1 -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/BigModal/BigModal.d.ts.map +1 -1
- package/dist/cjs/components/BigModal/BigModal.js +6 -12
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +12 -1
- package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarList.js +21 -14
- package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
- package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartError.js +40 -5
- package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
- package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
- package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +27 -3
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +1 -3
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -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 +5 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +8 -12
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +137 -194
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +11 -45
- package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -5
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +3 -32
- package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
- package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
- package/dist/cjs/components/Dropdown/index.d.ts +2 -2
- package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
- package/dist/cjs/components/Modal/Modal.js +2 -3
- package/dist/cjs/components/Modal/index.d.ts +1 -1
- package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelect.js +18 -3
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +18 -3
- package/dist/cjs/components/QuillSelect.js +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +6 -3
- package/dist/cjs/components/QuillTable.d.ts +1 -4
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +5 -11
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +30 -0
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/FilterModal.js +579 -0
- package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ast.js +33 -6
- package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
- package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/constants.js +24 -3
- package/dist/cjs/components/ReportBuilder/convert.d.ts +18 -16
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +378 -494
- package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
- package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/operators.js +32 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +15 -5
- package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +15 -18
- package/dist/cjs/components/UiComponents.d.ts +36 -8
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +106 -12
- package/dist/cjs/components/selectUtils.d.ts +0 -1
- package/dist/cjs/components/selectUtils.d.ts.map +1 -1
- package/dist/cjs/components/selectUtils.js +1 -22
- package/dist/cjs/hooks/index.d.ts +4 -4
- package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
- package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +5 -1
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +3 -1
- package/dist/cjs/hooks/useOnClickOutside.js +4 -4
- package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
- package/dist/cjs/hooks/useOnWindowResize.js +2 -2
- package/dist/cjs/hooks/useQuill.d.ts +10 -27
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +133 -85
- package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
- package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
- package/dist/cjs/hooks/useTheme.js +1 -1
- package/dist/cjs/index.d.ts +3 -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.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +8 -21
- package/dist/cjs/lib/utils.js +2 -2
- package/dist/cjs/models/Columns.d.ts +2 -1
- package/dist/cjs/models/Columns.d.ts.map +1 -1
- package/dist/cjs/models/Filter.d.ts +115 -4
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +99 -0
- package/dist/cjs/models/Pagination.d.ts +10 -0
- package/dist/cjs/models/Pagination.d.ts.map +1 -0
- package/dist/cjs/models/Pagination.js +2 -0
- package/dist/cjs/models/Report.d.ts +103 -0
- package/dist/cjs/models/Report.d.ts.map +1 -0
- package/dist/cjs/models/Report.js +2 -0
- package/dist/cjs/utils/aggregate.js +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
- package/dist/cjs/utils/astFilterProcessing.js +8091 -0
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +4 -3
- package/dist/cjs/utils/axisFormatter.js +0 -71
- package/dist/cjs/utils/color.js +9 -87
- package/dist/cjs/utils/columnProcessing.d.ts +2 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +54 -1
- package/dist/cjs/utils/csv.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.d.ts +1 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +6 -59
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +63 -1
- package/dist/cjs/utils/dataProcessing.d.ts +10 -0
- package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
- package/dist/cjs/utils/dataProcessing.js +144 -0
- package/dist/cjs/utils/dates.d.ts +2 -1
- package/dist/cjs/utils/dates.d.ts.map +1 -1
- package/dist/cjs/utils/dates.js +23 -1
- package/dist/cjs/utils/error.d.ts +5 -0
- package/dist/cjs/utils/error.d.ts.map +1 -0
- package/dist/cjs/utils/error.js +12 -0
- package/dist/cjs/utils/filterConstants.d.ts +34 -0
- package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
- package/dist/cjs/utils/filterConstants.js +36 -0
- package/dist/cjs/utils/filterProcessing.d.ts +7 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +104 -17
- package/dist/cjs/utils/logging.d.ts.map +1 -1
- package/dist/cjs/utils/logging.js +1 -0
- package/dist/cjs/utils/merge.js +0 -21
- package/dist/cjs/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
- package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
- package/dist/cjs/utils/monacoConfig.js +324 -0
- package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
- package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
- package/dist/cjs/utils/paginationProcessing.js +30 -0
- package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +16 -1
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +12 -6
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +4 -3
- package/dist/cjs/utils/report.d.ts +10 -0
- package/dist/cjs/utils/report.d.ts.map +1 -0
- package/dist/cjs/utils/report.js +180 -0
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +35 -6
- package/dist/cjs/utils/styles.d.ts +1 -1
- package/dist/cjs/utils/styles.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.d.ts +22 -8
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +116 -35
- package/dist/cjs/utils/textProcessing.js +3 -3
- package/dist/cjs/utils/validation.d.ts +9 -0
- package/dist/cjs/utils/validation.d.ts.map +1 -0
- package/dist/cjs/utils/validation.js +24 -0
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +8 -4
- package/dist/esm/Chart.d.ts +29 -46
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +189 -471
- package/dist/esm/ChartBuilder.d.ts +30 -61
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +191 -129
- package/dist/esm/ChartEditor.d.ts +14 -2
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +71 -126
- package/dist/esm/Context.d.ts +4 -1
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +51 -5
- package/dist/esm/Dashboard.d.ts +74 -118
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +275 -49
- package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/Calendar.js +5 -8
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/DateRangePicker.js +2 -29
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
- package/dist/esm/ReportBuilder.d.ts +18 -6
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +484 -496
- package/dist/esm/SQLEditor.d.ts +4 -11
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +75 -87
- package/dist/esm/Table.d.ts +19 -3
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +132 -116
- package/dist/esm/TableChart.d.ts.map +1 -1
- package/dist/esm/TableChart.js +0 -1
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
- package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
- package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
- package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
- package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
- package/dist/esm/components/Banner/index.d.ts +1 -1
- package/dist/esm/components/Banner/index.d.ts.map +1 -1
- package/dist/esm/components/Banner/index.js +1 -1
- package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
- package/dist/esm/components/BigModal/BigModal.js +7 -13
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +13 -2
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarList.js +21 -14
- package/dist/esm/components/Chart/ChartError.d.ts +8 -1
- package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartError.js +39 -6
- package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
- package/dist/esm/components/Chart/ChartTooltip.js +8 -2
- package/dist/esm/components/Chart/LineChart.d.ts +2 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +28 -4
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +1 -3
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
- package/dist/esm/components/Dashboard/DataLoader.d.ts +8 -12
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +137 -194
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +11 -45
- package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -5
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +3 -32
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -4
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
- package/dist/esm/components/Dropdown/index.d.ts +2 -2
- package/dist/esm/components/Dropdown/index.js +2 -2
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
- package/dist/esm/components/Modal/Modal.js +2 -3
- package/dist/esm/components/Modal/index.d.ts +1 -1
- package/dist/esm/components/Modal/index.js +1 -1
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelect.js +18 -3
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +18 -3
- package/dist/esm/components/QuillSelect.js +1 -1
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +7 -4
- package/dist/esm/components/QuillTable.d.ts +1 -4
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +5 -11
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +30 -0
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/FilterModal.js +576 -0
- package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ast.js +31 -5
- package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
- package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/constants.js +24 -3
- package/dist/esm/components/ReportBuilder/convert.d.ts +18 -16
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +375 -493
- package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
- package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/convert.uspec.js +1419 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
- package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/operators.js +32 -4
- package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +13 -4
- package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +16 -19
- package/dist/esm/components/UiComponents.d.ts +36 -8
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +104 -11
- package/dist/esm/components/selectUtils.d.ts +0 -1
- package/dist/esm/components/selectUtils.d.ts.map +1 -1
- package/dist/esm/components/selectUtils.js +0 -20
- package/dist/esm/hooks/index.d.ts +4 -4
- package/dist/esm/hooks/index.js +4 -4
- package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
- package/dist/esm/hooks/useAstToFilterTree.js +24 -0
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +5 -1
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +4 -2
- package/dist/esm/hooks/useOnClickOutside.js +5 -5
- package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
- package/dist/esm/hooks/useOnWindowResize.js +3 -3
- package/dist/esm/hooks/useQuill.d.ts +10 -27
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +133 -85
- package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
- package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
- package/dist/esm/hooks/useTheme.js +1 -1
- package/dist/esm/index.d.ts +3 -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.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +11 -24
- package/dist/esm/lib/utils.js +2 -2
- package/dist/esm/models/Columns.d.ts +2 -1
- package/dist/esm/models/Columns.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts +115 -4
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +98 -1
- package/dist/esm/models/Pagination.d.ts +10 -0
- package/dist/esm/models/Pagination.d.ts.map +1 -0
- package/dist/esm/models/Pagination.js +1 -0
- package/dist/esm/models/Report.d.ts +103 -0
- package/dist/esm/models/Report.d.ts.map +1 -0
- package/dist/esm/models/Report.js +1 -0
- package/dist/esm/test-utils/constants.d.ts +56 -0
- package/dist/esm/test-utils/constants.d.ts.map +1 -0
- package/dist/esm/test-utils/constants.js +271 -0
- package/dist/esm/test-utils/generators.d.ts +4 -0
- package/dist/esm/test-utils/generators.d.ts.map +1 -0
- package/dist/esm/test-utils/generators.js +37 -0
- package/dist/esm/utils/aggregate.js +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
- package/dist/esm/utils/astFilterProcessing.js +8084 -0
- package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
- package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
- package/dist/esm/utils/astFilterProcessing.uspec.js +2877 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +4 -3
- package/dist/esm/utils/axisFormatter.js +0 -71
- package/dist/esm/utils/color.js +9 -87
- package/dist/esm/utils/columnProcessing.d.ts +2 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +52 -0
- package/dist/esm/utils/columnProcessing.uspec.d.ts +2 -0
- package/dist/esm/utils/columnProcessing.uspec.d.ts.map +1 -0
- package/dist/esm/utils/columnProcessing.uspec.js +65 -0
- package/dist/esm/utils/csv.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.d.ts +1 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +6 -59
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +63 -1
- package/dist/esm/utils/dataProcessing.d.ts +10 -0
- package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
- package/dist/esm/utils/dataProcessing.js +138 -0
- package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
- package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
- package/dist/esm/utils/dataProcessing.uspec.js +205 -0
- package/dist/esm/utils/dates.d.ts +2 -1
- package/dist/esm/utils/dates.d.ts.map +1 -1
- package/dist/esm/utils/dates.js +21 -0
- package/dist/esm/utils/error.d.ts +5 -0
- package/dist/esm/utils/error.d.ts.map +1 -0
- package/dist/esm/utils/error.js +8 -0
- package/dist/esm/utils/filterConstants.d.ts +34 -0
- package/dist/esm/utils/filterConstants.d.ts.map +1 -0
- package/dist/esm/utils/filterConstants.js +33 -0
- package/dist/esm/utils/filterProcessing.d.ts +7 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +101 -16
- package/dist/esm/utils/filterProcessing.uspec.d.ts +2 -0
- package/dist/esm/utils/filterProcessing.uspec.d.ts.map +1 -0
- package/dist/esm/utils/filterProcessing.uspec.js +245 -0
- package/dist/esm/utils/logging.d.ts.map +1 -1
- package/dist/esm/utils/logging.js +1 -0
- package/dist/esm/utils/merge.js +0 -21
- package/dist/esm/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
- package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
- package/dist/esm/utils/monacoConfig.js +319 -0
- package/dist/esm/utils/paginationProcessing.d.ts +5 -0
- package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
- package/dist/esm/utils/paginationProcessing.js +25 -0
- package/dist/esm/utils/pivotConstructor.d.ts +2 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +16 -1
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +12 -6
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +4 -3
- package/dist/esm/utils/queryConstructor.uspec.js +21 -21
- package/dist/esm/utils/report.d.ts +10 -0
- package/dist/esm/utils/report.d.ts.map +1 -0
- package/dist/esm/utils/report.ispec.d.ts +2 -0
- package/dist/esm/utils/report.ispec.d.ts.map +1 -0
- package/dist/esm/utils/report.ispec.js +46 -0
- package/dist/esm/utils/report.js +174 -0
- package/dist/esm/utils/report.uspec.d.ts +2 -0
- package/dist/esm/utils/report.uspec.d.ts.map +1 -0
- package/dist/esm/utils/report.uspec.js +66 -0
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +35 -6
- package/dist/esm/utils/styles.d.ts +1 -1
- package/dist/esm/utils/styles.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.d.ts +22 -8
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
- package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
- package/dist/esm/utils/tableProcessing.ispec.js +61 -0
- package/dist/esm/utils/tableProcessing.js +112 -33
- package/dist/esm/utils/textProcessing.js +3 -3
- package/dist/esm/utils/validation.d.ts +9 -0
- package/dist/esm/utils/validation.d.ts.map +1 -0
- package/dist/esm/utils/validation.js +20 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +8 -4
- package/package.json +1 -1
- package/dist/cjs/utils/monacoAutocomplete.d.ts.map +0 -1
- package/dist/cjs/utils/monacoAutocomplete.js +0 -145
- package/dist/cjs/utils/queryConstructor.uspec.d.ts +0 -2
- package/dist/cjs/utils/queryConstructor.uspec.d.ts.map +0 -1
- package/dist/cjs/utils/queryConstructor.uspec.js +0 -225
- package/dist/esm/utils/monacoAutocomplete.d.ts.map +0 -1
- package/dist/esm/utils/monacoAutocomplete.js +0 -140
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;
|
|
1
|
+
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B"}
|
|
@@ -76,8 +76,9 @@ export function createTableNameToTableAliasMap(ast) {
|
|
|
76
76
|
}
|
|
77
77
|
if (ast.with) {
|
|
78
78
|
for (const withStmt of ast.with) {
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
const astFrom = withStmt.stmt.from ?? withStmt.stmt.ast.from;
|
|
80
|
+
if (astFrom) {
|
|
81
|
+
for (const table of astFrom) {
|
|
81
82
|
const tableObject = recursiveSearchByKeys(table, ['table', 'as']);
|
|
82
83
|
if (tableObject.as) {
|
|
83
84
|
tableNameToTableAliasMap[tableObject.as] = tableObject.table;
|
|
@@ -168,7 +169,7 @@ export function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
|
|
|
168
169
|
return { tableName, columnName };
|
|
169
170
|
}
|
|
170
171
|
export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
|
|
171
|
-
|
|
172
|
+
const referencedColumns = {};
|
|
172
173
|
if (ast.columns === '*' || ast.columns[0].expr.column === '*') {
|
|
173
174
|
// Be sure to select everything from stars
|
|
174
175
|
const tableList = ast.from.map((table) => recursiveSearchByKey(table, 'table'));
|
|
@@ -66,13 +66,6 @@ const formatterDollar = new Intl.NumberFormat('en-US', {
|
|
|
66
66
|
currency: 'USD',
|
|
67
67
|
maximumFractionDigits: 0,
|
|
68
68
|
});
|
|
69
|
-
// Formats to dollars like 1234.567 -> $1234.57
|
|
70
|
-
const formatterDollarsCents = new Intl.NumberFormat('en-US', {
|
|
71
|
-
style: 'currency',
|
|
72
|
-
currency: 'USD',
|
|
73
|
-
minimumFractionDigits: 2,
|
|
74
|
-
maximumFractionDigits: 2,
|
|
75
|
-
});
|
|
76
69
|
/**
|
|
77
70
|
* Formats the value as a (rounded) currency amount in dollars. If value is
|
|
78
71
|
* zero, returns '$0' with no cents. If value is greater than or equal to 1000,
|
|
@@ -94,27 +87,6 @@ const formatDollarAmount = (value) => {
|
|
|
94
87
|
return formatterDollar.format(num);
|
|
95
88
|
}
|
|
96
89
|
};
|
|
97
|
-
/**
|
|
98
|
-
* Formats the value as a (rounded) currency amount in dollars and cents. If
|
|
99
|
-
* value is zero, returns '$0' with no cents. If value is greater than or equal
|
|
100
|
-
* to 1000, it will not show cents and shorten the value with a suffix such
|
|
101
|
-
* as K (for thousands) or M (for millions).
|
|
102
|
-
*
|
|
103
|
-
* @example format(1,234,567) => "$1.2M"
|
|
104
|
-
* @example format(1234.567) => "$1.2K"
|
|
105
|
-
* @example format(5000) => "$5K"
|
|
106
|
-
* @example format(123.45) => "$123.45"
|
|
107
|
-
* @example format(0.00) => "$0"
|
|
108
|
-
*/
|
|
109
|
-
const formatDollarCents = (value) => {
|
|
110
|
-
const num = Number(value ?? 0);
|
|
111
|
-
if (num >= 1000 || num === 0) {
|
|
112
|
-
return formatterBigDollars.format(num);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
return formatterDollarsCents.format(num);
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
90
|
const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
|
|
119
91
|
minimumSignificantDigits: 1,
|
|
120
92
|
maximumSignificantDigits: 2,
|
|
@@ -129,48 +101,6 @@ const formatterBigWholeNumber = new Intl.NumberFormat('en-US', {
|
|
|
129
101
|
const formatWholeNumber = (value) => {
|
|
130
102
|
return formatterBigWholeNumber.format(Number(value));
|
|
131
103
|
};
|
|
132
|
-
/**
|
|
133
|
-
* Formats the value as a number rounded to exactly one decimal place.
|
|
134
|
-
*
|
|
135
|
-
* @example format(1234.567) => "1.2K"
|
|
136
|
-
* @example format(123.456) => "1,234.6"
|
|
137
|
-
*/
|
|
138
|
-
const formatOneDecimalPlace = (value) => {
|
|
139
|
-
const formatter = new Intl.NumberFormat('en-US', {
|
|
140
|
-
minimumFractionDigits: 1,
|
|
141
|
-
maximumFractionDigits: 1,
|
|
142
|
-
notation: 'compact',
|
|
143
|
-
compactDisplay: 'short',
|
|
144
|
-
});
|
|
145
|
-
const num = Number(value ?? 0);
|
|
146
|
-
if (num >= 1000 || num === 0) {
|
|
147
|
-
return formatterBigWholeNumber.format(num);
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
return formatter.format(num);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
/**
|
|
154
|
-
* Formats the value as a number rounded to exactly two decimal places.
|
|
155
|
-
*
|
|
156
|
-
* @example format(1234.567) => "1.23K"
|
|
157
|
-
* @example format(123.456) => "123.46"
|
|
158
|
-
*/
|
|
159
|
-
const formatTwoDecimalPlaces = (value) => {
|
|
160
|
-
const formatter = new Intl.NumberFormat('en-US', {
|
|
161
|
-
minimumFractionDigits: 2,
|
|
162
|
-
maximumFractionDigits: 2,
|
|
163
|
-
notation: 'compact',
|
|
164
|
-
compactDisplay: 'short',
|
|
165
|
-
});
|
|
166
|
-
const num = Number(value ?? 0);
|
|
167
|
-
if (num >= 1000 || num === 0) {
|
|
168
|
-
return formatterBigWholeNumber.format(num);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
return formatter.format(num);
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
104
|
/**
|
|
175
105
|
* Formats the value as a percentage.
|
|
176
106
|
*
|
|
@@ -225,7 +155,6 @@ const format_MMM_ww_yyyy = (value) => {
|
|
|
225
155
|
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
226
156
|
if (!isValid(utcDate))
|
|
227
157
|
return 'Invalid date';
|
|
228
|
-
const currentDate = new Date();
|
|
229
158
|
const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
|
|
230
159
|
const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
|
|
231
160
|
const month = format(utcDate, 'MMM');
|
package/dist/esm/utils/color.js
CHANGED
|
@@ -69,7 +69,7 @@ function interpolateBetween(leftColor, rightColor, length = 3) {
|
|
|
69
69
|
* @param length - The number of interpolated colors to generate.
|
|
70
70
|
*/
|
|
71
71
|
function monochromaticInterpolation(color, length) {
|
|
72
|
-
const [h, s
|
|
72
|
+
const [h, s] = colorToHSL(color);
|
|
73
73
|
const hues = linspace(h, h, length);
|
|
74
74
|
const saturations = linspace(s, s, length);
|
|
75
75
|
const lightnesses = linspace(0.6, 0.9, length);
|
|
@@ -360,15 +360,15 @@ const COLOR_TO_HEX = {
|
|
|
360
360
|
*/
|
|
361
361
|
export function rgbToHsl(r, g, b) {
|
|
362
362
|
(r /= 255), (g /= 255), (b /= 255);
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
363
|
+
const max = Math.max(r, g, b), min = Math.min(r, g, b);
|
|
364
|
+
let h = (max + min) / 2;
|
|
365
|
+
let s = (max + min) / 2;
|
|
366
|
+
const l = (max + min) / 2;
|
|
367
367
|
if (max == min) {
|
|
368
368
|
h = s = 0; // achromatic
|
|
369
369
|
}
|
|
370
370
|
else {
|
|
371
|
-
|
|
371
|
+
const d = max - min;
|
|
372
372
|
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
373
373
|
switch (max) {
|
|
374
374
|
case r:
|
|
@@ -397,7 +397,7 @@ export function rgbToHsl(r, g, b) {
|
|
|
397
397
|
* @return Array The RGB representation
|
|
398
398
|
*/
|
|
399
399
|
export function HSLtoRGB(h, s, l) {
|
|
400
|
-
|
|
400
|
+
let r, g, b;
|
|
401
401
|
if (s == 0) {
|
|
402
402
|
r = g = b = l; // achromatic
|
|
403
403
|
}
|
|
@@ -415,89 +415,11 @@ export function HSLtoRGB(h, s, l) {
|
|
|
415
415
|
return p + (q - p) * (2 / 3 - t) * 6;
|
|
416
416
|
return p;
|
|
417
417
|
};
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
419
|
+
const p = 2 * l - q;
|
|
420
420
|
r = hue2rgb(p, q, h + 1 / 3);
|
|
421
421
|
g = hue2rgb(p, q, h);
|
|
422
422
|
b = hue2rgb(p, q, h - 1 / 3);
|
|
423
423
|
}
|
|
424
424
|
return [r * 255, g * 255, b * 255];
|
|
425
425
|
}
|
|
426
|
-
/**
|
|
427
|
-
* Converts an RGB color value to HSV. Conversion formula
|
|
428
|
-
* adapted from http://en.wikipedia.org/wiki/HSV_color_space.
|
|
429
|
-
* Assumes r, g, and b are contained in the set [0, 255] and
|
|
430
|
-
* returns h, s, and v in the set [0, 1].
|
|
431
|
-
*
|
|
432
|
-
* @param Number r The red color value
|
|
433
|
-
* @param Number g The green color value
|
|
434
|
-
* @param Number b The blue color value
|
|
435
|
-
* @return Array The HSV representation
|
|
436
|
-
*/
|
|
437
|
-
function rgbToHsv(r, g, b) {
|
|
438
|
-
(r = r / 255), (g = g / 255), (b = b / 255);
|
|
439
|
-
var max = Math.max(r, g, b), min = Math.min(r, g, b);
|
|
440
|
-
var h = max;
|
|
441
|
-
var s = max;
|
|
442
|
-
var v = max;
|
|
443
|
-
var d = max - min;
|
|
444
|
-
s = max == 0 ? 0 : d / max;
|
|
445
|
-
if (max == min) {
|
|
446
|
-
h = 0; // achromatic
|
|
447
|
-
}
|
|
448
|
-
else {
|
|
449
|
-
switch (max) {
|
|
450
|
-
case r:
|
|
451
|
-
h = (g - b) / d + (g < b ? 6 : 0);
|
|
452
|
-
break;
|
|
453
|
-
case g:
|
|
454
|
-
h = (b - r) / d + 2;
|
|
455
|
-
break;
|
|
456
|
-
case b:
|
|
457
|
-
h = (r - g) / d + 4;
|
|
458
|
-
break;
|
|
459
|
-
}
|
|
460
|
-
h /= 6;
|
|
461
|
-
}
|
|
462
|
-
return [h, s, v];
|
|
463
|
-
}
|
|
464
|
-
/**
|
|
465
|
-
* Converts an HSV color value to RGB. Conversion formula
|
|
466
|
-
* adapted from http://en.wikipedia.org/wiki/HSV_color_space.
|
|
467
|
-
* Assumes h, s, and v are contained in the set [0, 1] and
|
|
468
|
-
* returns r, g, and b in the set [0, 255].
|
|
469
|
-
*
|
|
470
|
-
* @param Number h The hue
|
|
471
|
-
* @param Number s The saturation
|
|
472
|
-
* @param Number v The value
|
|
473
|
-
* @return Array The RGB representation
|
|
474
|
-
*/
|
|
475
|
-
function hsvToRgb(h, s, v) {
|
|
476
|
-
var r, g, b;
|
|
477
|
-
var i = Math.floor(h * 6);
|
|
478
|
-
var f = h * 6 - i;
|
|
479
|
-
var p = v * (1 - s);
|
|
480
|
-
var q = v * (1 - f * s);
|
|
481
|
-
var t = v * (1 - (1 - f) * s);
|
|
482
|
-
switch (i % 6) {
|
|
483
|
-
case 0:
|
|
484
|
-
(r = v), (g = t), (b = p);
|
|
485
|
-
break;
|
|
486
|
-
case 1:
|
|
487
|
-
(r = q), (g = v), (b = p);
|
|
488
|
-
break;
|
|
489
|
-
case 2:
|
|
490
|
-
(r = p), (g = v), (b = t);
|
|
491
|
-
break;
|
|
492
|
-
case 3:
|
|
493
|
-
(r = p), (g = q), (b = v);
|
|
494
|
-
break;
|
|
495
|
-
case 4:
|
|
496
|
-
(r = t), (g = p), (b = v);
|
|
497
|
-
break;
|
|
498
|
-
case 5:
|
|
499
|
-
(r = v), (g = p), (b = q);
|
|
500
|
-
break;
|
|
501
|
-
}
|
|
502
|
-
return [r * 255, g * 255, b * 255];
|
|
503
|
-
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ColumnInfo } from '../components/ReportBuilder/schema';
|
|
2
2
|
import { Column, ColumnInternal } from '../models/Columns';
|
|
3
|
+
import { QuillReportInternal } from '../models/Report';
|
|
3
4
|
export declare function convertPostgresColumn(field: {
|
|
4
5
|
name: string;
|
|
5
6
|
dataTypeID: number;
|
|
@@ -8,4 +9,5 @@ export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo
|
|
|
8
9
|
export declare function convertFieldTypeToJSType(fieldType: string): string;
|
|
9
10
|
export declare function convertFormatToJsType(column: Column): string;
|
|
10
11
|
export declare function processColumnName(columnName: string): string;
|
|
12
|
+
export declare const getYAxisFields: (report: QuillReportInternal) => any[];
|
|
11
13
|
//# sourceMappingURL=columnProcessing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAyGjB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0DD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAsBlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,eAAO,MAAM,cAAc,WAAY,mBAAmB,UAsDzD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { findAndProcessDateFilter } from './filterProcessing';
|
|
1
2
|
function removeBigQuerySpecialChars(columnName) {
|
|
2
3
|
return columnName.replaceAll('quill_forward_slash', '/');
|
|
3
4
|
}
|
|
@@ -206,3 +207,54 @@ export function convertFormatToJsType(column) {
|
|
|
206
207
|
export function processColumnName(columnName) {
|
|
207
208
|
return removeBigQuerySpecialChars(columnName);
|
|
208
209
|
}
|
|
210
|
+
export const getYAxisFields = (report) => {
|
|
211
|
+
try {
|
|
212
|
+
const curDateFilter = findAndProcessDateFilter(Object.values(report.filtersApplied));
|
|
213
|
+
if (report.pivot && report.pivotColumns && report.pivot.columnField) {
|
|
214
|
+
return (report.pivotColumns
|
|
215
|
+
.slice(1)
|
|
216
|
+
.map((column) => {
|
|
217
|
+
// @ts-ignore
|
|
218
|
+
return { ...column, format: report.yAxisFields[0].format };
|
|
219
|
+
}) ?? []);
|
|
220
|
+
}
|
|
221
|
+
else if (report.pivot && report.pivotColumns) {
|
|
222
|
+
return (report.pivotColumns
|
|
223
|
+
.slice(1)
|
|
224
|
+
.map((column) => {
|
|
225
|
+
return {
|
|
226
|
+
...column,
|
|
227
|
+
// @ts-ignore
|
|
228
|
+
label: report?.yAxisFields[0].label,
|
|
229
|
+
// @ts-ignore
|
|
230
|
+
format: report?.yAxisFields[0].format,
|
|
231
|
+
};
|
|
232
|
+
}) ?? []);
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
if (curDateFilter?.comparison &&
|
|
236
|
+
curDateFilter.comparisonRange.value !== 'NO_COMPARISON') {
|
|
237
|
+
const comparisonYAxisFields = report.yAxisFields?.map((field) => {
|
|
238
|
+
return {
|
|
239
|
+
...field,
|
|
240
|
+
field: `comparison_${field.field}`,
|
|
241
|
+
label: `comparison ${field.label ?? field.field}`,
|
|
242
|
+
};
|
|
243
|
+
});
|
|
244
|
+
if (report.pivotColumns) {
|
|
245
|
+
return report.pivotColumns;
|
|
246
|
+
}
|
|
247
|
+
else if (comparisonYAxisFields || report.yAxisFields) {
|
|
248
|
+
const yAxisFields = report.yAxisFields ?? [];
|
|
249
|
+
const compYAxisFields = comparisonYAxisFields ?? [];
|
|
250
|
+
return [...yAxisFields, ...compYAxisFields];
|
|
251
|
+
}
|
|
252
|
+
return [];
|
|
253
|
+
}
|
|
254
|
+
return report.pivotColumns ?? report.yAxisFields ?? [];
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
catch (e) {
|
|
258
|
+
return report.yAxisFields;
|
|
259
|
+
}
|
|
260
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnProcessing.uspec.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.uspec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DEFAULT_COMPARISON_DATE_FILTER, TWO_D_PIVOT, GENERIC_REPORT_INTERNAL, ONE_D_PIVOT, } from '../test-utils/constants';
|
|
2
|
+
import { createRows } from '../test-utils/generators';
|
|
3
|
+
import { getYAxisFields } from './columnProcessing';
|
|
4
|
+
describe('columnProcessing', () => {
|
|
5
|
+
describe('getYAxisFields', () => {
|
|
6
|
+
it('should return an array of fields for generic reports', () => {
|
|
7
|
+
const internalReport = {
|
|
8
|
+
...GENERIC_REPORT_INTERNAL,
|
|
9
|
+
rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
|
|
10
|
+
};
|
|
11
|
+
const result = getYAxisFields(internalReport);
|
|
12
|
+
expect(result).toEqual([
|
|
13
|
+
{ field: 'id', format: 'whole_number', label: 'ID' },
|
|
14
|
+
]);
|
|
15
|
+
});
|
|
16
|
+
it('should return an array of fields for comparison reports', () => {
|
|
17
|
+
const internalReport = {
|
|
18
|
+
...GENERIC_REPORT_INTERNAL,
|
|
19
|
+
rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
|
|
20
|
+
compareRows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
|
|
21
|
+
filtersApplied: [DEFAULT_COMPARISON_DATE_FILTER],
|
|
22
|
+
};
|
|
23
|
+
const result = getYAxisFields(internalReport);
|
|
24
|
+
expect(result).toEqual([
|
|
25
|
+
{ field: 'id', format: 'whole_number', label: 'ID' },
|
|
26
|
+
{
|
|
27
|
+
field: 'comparison_id',
|
|
28
|
+
format: 'whole_number',
|
|
29
|
+
label: 'comparison ID',
|
|
30
|
+
},
|
|
31
|
+
]);
|
|
32
|
+
});
|
|
33
|
+
it('should return the proper fields for a 2d pivot report', () => {
|
|
34
|
+
const internalReport = {
|
|
35
|
+
...GENERIC_REPORT_INTERNAL,
|
|
36
|
+
rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
|
|
37
|
+
pivotColumns: TWO_D_PIVOT.pivotColumns,
|
|
38
|
+
pivotRows: TWO_D_PIVOT.pivotRows,
|
|
39
|
+
pivot: TWO_D_PIVOT.pivot,
|
|
40
|
+
};
|
|
41
|
+
const result = getYAxisFields(internalReport);
|
|
42
|
+
expect(result).toEqual([
|
|
43
|
+
{ field: 'Food', format: 'whole_number', label: 'Food' },
|
|
44
|
+
{ field: 'Fuel', format: 'whole_number', label: 'Fuel' },
|
|
45
|
+
{ field: 'Other', format: 'whole_number', label: 'Other' },
|
|
46
|
+
]);
|
|
47
|
+
});
|
|
48
|
+
it('should return the proper fields for a 1d pivot report', () => {
|
|
49
|
+
const internalReport = {
|
|
50
|
+
...GENERIC_REPORT_INTERNAL,
|
|
51
|
+
rows: createRows(GENERIC_REPORT_INTERNAL.columns, 10),
|
|
52
|
+
pivotColumns: ONE_D_PIVOT.pivotColumns,
|
|
53
|
+
pivotRows: ONE_D_PIVOT.pivotRows,
|
|
54
|
+
pivot: ONE_D_PIVOT.pivot,
|
|
55
|
+
yAxisFields: [
|
|
56
|
+
{ field: 'amount', format: 'whole_number', label: 'Amount' },
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
const result = getYAxisFields(internalReport);
|
|
60
|
+
expect(result).toEqual([
|
|
61
|
+
{ field: 'amount', format: 'whole_number', label: 'Amount' },
|
|
62
|
+
]);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../src/utils/csv.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,SAAU;IAChC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,SA2FA,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QuillReportInternal } from '../
|
|
1
|
+
import { QuillReportInternal } from '../models/Report';
|
|
2
2
|
/**
|
|
3
3
|
* Returns a cleaned version of the dashboard item we store in state. We clean
|
|
4
4
|
* the dashboard item so that we aren't exposing unnecessary details to the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA+BpE;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,SAAS,EACxC,gBAAgB,EAAE,GAAG,EACrB,MAAM,CAAC,EAAE,GAAG,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAyC9B;AAgHD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC,CA2Bd"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { valueFormatter } from './valueFormatter';
|
|
2
1
|
import { generatePivotTable, generatePivotTableYAxis, } from '../internals/ReportBuilder/PivotModal';
|
|
3
2
|
import { snakeAndCamelCaseToTitleCase } from './textProcessing';
|
|
4
3
|
import { getData } from './dataFetcher';
|
|
@@ -14,15 +13,14 @@ const defaultDashboardItem = {
|
|
|
14
13
|
chartType: '',
|
|
15
14
|
dateField: null,
|
|
16
15
|
pivot: null,
|
|
17
|
-
primaryAggregation: '',
|
|
18
|
-
comparisonAggregation: '',
|
|
19
|
-
aggregationPercentChange: undefined,
|
|
20
16
|
yAxisFields: [],
|
|
21
17
|
xAxisLabel: '',
|
|
22
18
|
xAxisField: '',
|
|
23
19
|
xAxisFormat: 'string',
|
|
24
20
|
order: -1,
|
|
25
21
|
filtersApplied: {},
|
|
22
|
+
queryString: '',
|
|
23
|
+
rowCount: 0,
|
|
26
24
|
};
|
|
27
25
|
/**
|
|
28
26
|
* Returns a cleaned version of the dashboard item we store in state. We clean
|
|
@@ -41,7 +39,6 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
|
|
|
41
39
|
name: item.name,
|
|
42
40
|
};
|
|
43
41
|
const pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket);
|
|
44
|
-
const { primaryAggregation, comparisonAggregation, aggregationPercentChange, } = getAggragations(pivotTable, item);
|
|
45
42
|
return {
|
|
46
43
|
id: item._id,
|
|
47
44
|
name: item.name,
|
|
@@ -56,9 +53,6 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
|
|
|
56
53
|
chartType: item.chartType,
|
|
57
54
|
dateField: item.dateField,
|
|
58
55
|
pivot: item.pivot,
|
|
59
|
-
primaryAggregation,
|
|
60
|
-
comparisonAggregation,
|
|
61
|
-
aggregationPercentChange,
|
|
62
56
|
yAxisFields: pivotTable
|
|
63
57
|
? extractPivotedYAxis(pivotTable, item)
|
|
64
58
|
: item.yAxisFields,
|
|
@@ -69,52 +63,18 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
|
|
|
69
63
|
filtersApplied: item.filtersApplied,
|
|
70
64
|
rowCount: parseInt(item.rowCount),
|
|
71
65
|
sort: item.sort,
|
|
72
|
-
page: item.page,
|
|
73
66
|
itemQuery: item.itemQuery,
|
|
67
|
+
queryString: item.queryString,
|
|
74
68
|
};
|
|
75
69
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Extracts the aggregations from the item, if any.
|
|
78
|
-
*/
|
|
79
|
-
function getAggragations(pivotTable, item) {
|
|
80
|
-
const yAxisFields = extractPivotedYAxis(pivotTable, item);
|
|
81
|
-
const rows = extractPivotedData(pivotTable, item);
|
|
82
|
-
// extract the aggragation for the primary range.
|
|
83
|
-
const mainKey = yAxisFields[0]?.field ?? item.pivot?.valueField;
|
|
84
|
-
const primary = mainKey
|
|
85
|
-
? rows.reduce((sum, row) => sum + parseFloat(row[mainKey]), 0)
|
|
86
|
-
: 0;
|
|
87
|
-
// extract the aggragation for the comparison range, if applicable.
|
|
88
|
-
const compKey = yAxisFields[1]?.field ?? item.pivot?.valueField;
|
|
89
|
-
const comparison = compKey
|
|
90
|
-
? rows.reduce((sum, row) => sum + parseFloat(row[compKey]), 0)
|
|
91
|
-
: 0;
|
|
92
|
-
return {
|
|
93
|
-
primaryAggregation: formatAggragation(item, primary),
|
|
94
|
-
comparisonAggregation: formatAggragation(item, comparison),
|
|
95
|
-
aggregationPercentChange: Number(primary - comparison),
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Applies a valueFormatter to the given value based on the format in the item.
|
|
100
|
-
*/
|
|
101
|
-
function formatAggragation(item, value) {
|
|
102
|
-
if (!value)
|
|
103
|
-
return undefined;
|
|
104
|
-
return valueFormatter({
|
|
105
|
-
value,
|
|
106
|
-
field: item.pivot?.valueField,
|
|
107
|
-
fields: item.yAxisFields,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
70
|
/**
|
|
111
71
|
* Extract and transform the data from itemInfo.
|
|
112
72
|
*/
|
|
113
73
|
async function getPivotTable(report, dashboardFilters, client, dateBucketInitial) {
|
|
114
74
|
if (!report)
|
|
115
75
|
return undefined;
|
|
116
|
-
|
|
117
|
-
if (dateFilter?.
|
|
76
|
+
const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
|
|
77
|
+
if (dateFilter?.operator === 'BETWEEN') {
|
|
118
78
|
dateFilter.startDate = dateFilter.value[0];
|
|
119
79
|
dateFilter.endDate = dateFilter.value[1];
|
|
120
80
|
}
|
|
@@ -162,20 +122,6 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
|
|
|
162
122
|
: undefined)
|
|
163
123
|
: undefined;
|
|
164
124
|
}
|
|
165
|
-
/**
|
|
166
|
-
* Returns the data list based on whether the table is pivoted and if there is
|
|
167
|
-
* a config value passed into this component.
|
|
168
|
-
*/
|
|
169
|
-
function extractPivotedData(pivotTable, item, config = undefined) {
|
|
170
|
-
if (pivotTable)
|
|
171
|
-
return pivotTable.rows;
|
|
172
|
-
if (config) {
|
|
173
|
-
if (config.bucketedRows.length > 0)
|
|
174
|
-
return config.bucketedRows;
|
|
175
|
-
return config.rows;
|
|
176
|
-
}
|
|
177
|
-
return item.rows;
|
|
178
|
-
}
|
|
179
125
|
/**
|
|
180
126
|
* Extracts the yAxis from the pivot table, if one exists.
|
|
181
127
|
*/
|
|
@@ -217,6 +163,7 @@ export async function getDashboard(dashboardName, client) {
|
|
|
217
163
|
clientId: client.publicKey,
|
|
218
164
|
orgId: client.customerId || '*',
|
|
219
165
|
databaseType: client.databaseType,
|
|
166
|
+
useNewNodeSql: true,
|
|
220
167
|
},
|
|
221
168
|
};
|
|
222
169
|
const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAwEA,wBAAsB,OAAO,CAC3B,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,gBA0IpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAgChB"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
function fetchQuillData(responseData) {
|
|
2
|
+
if (!responseData) {
|
|
3
|
+
return null;
|
|
4
|
+
}
|
|
5
|
+
if (responseData.data && responseData.data?.data) {
|
|
6
|
+
return responseData.data;
|
|
7
|
+
}
|
|
8
|
+
else if (responseData.data) {
|
|
9
|
+
return responseData;
|
|
10
|
+
}
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
1
13
|
function parseData(rows, queryType) {
|
|
2
14
|
if (!rows || rows.length === 0)
|
|
3
15
|
return [];
|
|
@@ -17,6 +29,32 @@ function parseData(rows, queryType) {
|
|
|
17
29
|
return rows;
|
|
18
30
|
}
|
|
19
31
|
}
|
|
32
|
+
async function testSqlViewState(hostedRequestBody, client, referencedTables) {
|
|
33
|
+
let errorMessage = null;
|
|
34
|
+
await Promise.all(referencedTables.map(async (table) => {
|
|
35
|
+
const hostedBody = {
|
|
36
|
+
metadata: {
|
|
37
|
+
tables: [table],
|
|
38
|
+
task: 'test-view',
|
|
39
|
+
clientId: hostedRequestBody.metadata.clientId,
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
const cloudBody = { ...hostedBody };
|
|
43
|
+
const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
|
|
44
|
+
if (resp.success === false) {
|
|
45
|
+
const brokenBody = {
|
|
46
|
+
metadata: {
|
|
47
|
+
table: table,
|
|
48
|
+
task: 'set-broken-view',
|
|
49
|
+
clientId: hostedRequestBody.metadata.clientId,
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
getData(client, 'test-view', 'same-origin', brokenBody, cloudBody);
|
|
53
|
+
errorMessage = `SQL View Error: '${table}' is out of sync with datasource.`;
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
return errorMessage;
|
|
57
|
+
}
|
|
20
58
|
// this function gets the data either from the self hosted endpoint or
|
|
21
59
|
// our cloud server
|
|
22
60
|
export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam) {
|
|
@@ -37,6 +75,30 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
|
|
|
37
75
|
body: JSON.stringify(hostedRequestBody),
|
|
38
76
|
});
|
|
39
77
|
const responseJson = await resp.json();
|
|
78
|
+
if (responseJson.status === 'error' &&
|
|
79
|
+
['query', 'patterns', 'item'].includes(hostedRequestBody.metadata.task)) {
|
|
80
|
+
const brokenReport = { ...responseJson };
|
|
81
|
+
let errorPrefix = 'Error: ';
|
|
82
|
+
let errorMessage = 'Failed to fetch chart';
|
|
83
|
+
if (hostedRequestBody.metadata.task === 'query' ||
|
|
84
|
+
hostedRequestBody.metadata.task === 'patterns') {
|
|
85
|
+
errorPrefix = 'SQL Error: ';
|
|
86
|
+
errorMessage = errorPrefix + responseJson.error;
|
|
87
|
+
}
|
|
88
|
+
let adminErrorMessage = undefined;
|
|
89
|
+
const processedData = fetchQuillData(brokenReport);
|
|
90
|
+
if (processedData &&
|
|
91
|
+
processedData.data &&
|
|
92
|
+
processedData.data.referencedTables) {
|
|
93
|
+
adminErrorMessage = await testSqlViewState(hostedRequestBody, client, processedData.data.referencedTables);
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
success: false,
|
|
97
|
+
errorMessage,
|
|
98
|
+
adminErrorMessage,
|
|
99
|
+
data: brokenReport.data,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
40
102
|
if (responseJson.error) {
|
|
41
103
|
return { success: false, errorMessage: responseJson.error };
|
|
42
104
|
}
|
|
@@ -50,7 +112,7 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
|
|
|
50
112
|
fields: responseJson?.data.queries?.queryResults[0]?.fields,
|
|
51
113
|
...responseJson.data.data,
|
|
52
114
|
};
|
|
53
|
-
responseJson.data.data
|
|
115
|
+
responseJson.data.data?.queryOrder?.forEach((queryKey, index) => {
|
|
54
116
|
result[queryKey] = parseData(responseJson.queries.queryResults[index].rows, queryKey);
|
|
55
117
|
});
|
|
56
118
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { QuillReportInternal } from '../models/Report';
|
|
2
|
+
export declare enum Calculation {
|
|
3
|
+
PointToPointPercentageChange = "POINT_TO_POINT_PERCENTAGE_CHANGE",
|
|
4
|
+
SimplePercentageChange = "SIMPLE_PERCENTAGE_CHANGE",
|
|
5
|
+
Sum = "SUM"
|
|
6
|
+
}
|
|
7
|
+
export declare const getSimplePercentageChange: (data: QuillReportInternal) => number | undefined;
|
|
8
|
+
export declare const getPointToPointPercentageChange: (data: QuillReportInternal) => number | undefined;
|
|
9
|
+
export declare const getSumOfFields: (data: QuillReportInternal) => number;
|
|
10
|
+
//# sourceMappingURL=dataProcessing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/dataProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,oBAAY,WAAW;IACrB,4BAA4B,qCAAqC;IACjE,sBAAsB,6BAA6B;IACnD,GAAG,QAAQ;CACZ;AAyBD,eAAO,MAAM,yBAAyB,SAAU,mBAAmB,uBAsClE,CAAC;AAEF,eAAO,MAAM,+BAA+B,SAAU,mBAAmB,uBAkFxE,CAAC;AAEF,eAAO,MAAM,cAAc,SAAU,mBAAmB,WAavD,CAAC"}
|