@quillsql/react 2.12.37 → 2.12.38
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/esm/Chart.d.ts +204 -0
- package/dist/esm/Chart.d.ts.map +1 -0
- package/dist/esm/Chart.js +431 -0
- package/dist/esm/ChartBuilder.d.ts +339 -0
- package/dist/esm/ChartBuilder.d.ts.map +1 -0
- package/dist/esm/ChartBuilder.js +1312 -0
- package/dist/esm/ChartEditor.d.ts +209 -0
- package/dist/esm/ChartEditor.d.ts.map +1 -0
- package/dist/esm/ChartEditor.js +182 -0
- package/dist/esm/Context.d.ts +14 -0
- package/dist/esm/Context.d.ts.map +1 -0
- package/dist/esm/Context.js +269 -0
- package/dist/esm/Dashboard.d.ts +279 -0
- package/dist/esm/Dashboard.d.ts.map +1 -0
- package/dist/esm/Dashboard.js +660 -0
- package/dist/esm/DateRangePicker/Calendar.d.ts +17 -0
- package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/Calendar.js +164 -0
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts +39 -0
- package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/DateRangePicker.js +95 -0
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +22 -0
- package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/DateRangePickerButton.js +134 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +25 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +260 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +521 -0
- package/dist/esm/DateRangePicker/index.d.ts +3 -0
- package/dist/esm/DateRangePicker/index.d.ts.map +1 -0
- package/dist/esm/DateRangePicker/index.js +2 -0
- package/dist/esm/QuillProvider.d.ts +163 -0
- package/dist/esm/QuillProvider.d.ts.map +1 -0
- package/dist/esm/QuillProvider.js +104 -0
- package/dist/esm/ReportBuilder.d.ts +318 -0
- package/dist/esm/ReportBuilder.d.ts.map +1 -0
- package/dist/esm/ReportBuilder.js +3279 -0
- package/dist/esm/SQLEditor.d.ts +272 -0
- package/dist/esm/SQLEditor.d.ts.map +1 -0
- package/dist/esm/SQLEditor.js +510 -0
- package/dist/esm/Table.d.ts +167 -0
- package/dist/esm/Table.d.ts.map +1 -0
- package/dist/esm/Table.js +215 -0
- package/dist/esm/TableChart.d.ts +15 -0
- package/dist/esm/TableChart.d.ts.map +1 -0
- package/dist/esm/TableChart.js +95 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowDownIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownIcon.js +3 -0
- package/dist/esm/assets/ArrowDownRightIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowDownRightIcon.js +3 -0
- package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowLeftHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowRightHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowRightHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowRightIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowRightIcon.js +3 -0
- package/dist/esm/assets/ArrowUpHeadIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowUpHeadIcon.js +3 -0
- package/dist/esm/assets/ArrowUpIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowUpIcon.js +3 -0
- package/dist/esm/assets/ArrowUpRightIcon.d.ts +5 -0
- package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -0
- package/dist/esm/assets/ArrowUpRightIcon.js +3 -0
- package/dist/esm/assets/CalendarIcon.d.ts +5 -0
- package/dist/esm/assets/CalendarIcon.d.ts.map +1 -0
- package/dist/esm/assets/CalendarIcon.js +3 -0
- package/dist/esm/assets/CalendarNormalIcon.d.ts +5 -0
- package/dist/esm/assets/CalendarNormalIcon.d.ts.map +1 -0
- package/dist/esm/assets/CalendarNormalIcon.js +3 -0
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +3 -0
- package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
- package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
- package/dist/esm/assets/DoubleArrowRightHeadIcon.js +3 -0
- package/dist/esm/assets/ExclamationFilledIcon.d.ts +5 -0
- package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -0
- package/dist/esm/assets/ExclamationFilledIcon.js +3 -0
- package/dist/esm/assets/FilterIcon.d.ts +5 -0
- package/dist/esm/assets/FilterIcon.d.ts.map +1 -0
- package/dist/esm/assets/FilterIcon.js +3 -0
- package/dist/esm/assets/LoadingSpinner.d.ts +5 -0
- package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -0
- package/dist/esm/assets/LoadingSpinner.js +3 -0
- package/dist/esm/assets/RefreshIcon.d.ts +5 -0
- package/dist/esm/assets/RefreshIcon.d.ts.map +1 -0
- package/dist/esm/assets/RefreshIcon.js +3 -0
- package/dist/esm/assets/SearchIcon.d.ts +5 -0
- package/dist/esm/assets/SearchIcon.d.ts.map +1 -0
- package/dist/esm/assets/SearchIcon.js +3 -0
- package/dist/esm/assets/UpLeftArrowsIcon.d.ts +5 -0
- package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +1 -0
- package/dist/esm/assets/UpLeftArrowsIcon.js +3 -0
- package/dist/esm/assets/XCircleIcon.d.ts +5 -0
- package/dist/esm/assets/XCircleIcon.d.ts.map +1 -0
- package/dist/esm/assets/XCircleIcon.js +3 -0
- package/dist/esm/assets/XIcon.d.ts +5 -0
- package/dist/esm/assets/XIcon.d.ts.map +1 -0
- package/dist/esm/assets/XIcon.js +3 -0
- package/dist/esm/assets/index.d.ts +22 -0
- package/dist/esm/assets/index.d.ts.map +1 -0
- package/dist/esm/assets/index.js +21 -0
- package/dist/esm/components/Banner/index.d.ts +3 -0
- package/dist/esm/components/Banner/index.d.ts.map +1 -0
- package/dist/esm/components/Banner/index.js +24 -0
- package/dist/esm/components/BigModal/BigModal.d.ts +15 -0
- package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -0
- package/dist/esm/components/BigModal/BigModal.js +56 -0
- package/dist/esm/components/Chart/BarChart.d.ts +23 -0
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/BarChart.js +110 -0
- package/dist/esm/components/Chart/BarList.d.ts +27 -0
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -0
- package/dist/esm/components/Chart/BarList.js +148 -0
- package/dist/esm/components/Chart/ChartError.d.ts +10 -0
- package/dist/esm/components/Chart/ChartError.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartError.js +65 -0
- package/dist/esm/components/Chart/ChartSkeleton.d.ts +8 -0
- package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartSkeleton.js +19 -0
- package/dist/esm/components/Chart/ChartTooltip.d.ts +31 -0
- package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltip.js +234 -0
- package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +6 -0
- package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltipFrame.js +14 -0
- package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +11 -0
- package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltipGroup.js +23 -0
- package/dist/esm/components/Chart/ChartTooltipRow.d.ts +8 -0
- package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +1 -0
- package/dist/esm/components/Chart/ChartTooltipRow.js +41 -0
- package/dist/esm/components/Chart/LineChart.d.ts +29 -0
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/LineChart.js +163 -0
- package/dist/esm/components/Chart/PieChart.d.ts +62 -0
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/PieChart.js +195 -0
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/ChartComponent.js +60 -0
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +38 -0
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardFilter.js +89 -0
- package/dist/esm/components/Dashboard/DashboardSection.d.ts +7 -0
- package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardSection.js +22 -0
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
- package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardSectionContainer.js +10 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts +44 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DataLoader.js +190 -0
- package/dist/esm/components/Dashboard/MetricComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/MetricComponent.js +133 -0
- package/dist/esm/components/Dashboard/TableComponent.d.ts +15 -0
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TableComponent.js +62 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts +14 -0
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/esm/components/Dropdown/Dropdown.js +69 -0
- package/dist/esm/components/Dropdown/DropdownItem.d.ts +11 -0
- package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/esm/components/Dropdown/DropdownItem.js +37 -0
- package/dist/esm/components/Dropdown/index.d.ts +3 -0
- package/dist/esm/components/Dropdown/index.d.ts.map +1 -0
- package/dist/esm/components/Dropdown/index.js +2 -0
- package/dist/esm/components/Modal/Modal.d.ts +15 -0
- package/dist/esm/components/Modal/Modal.d.ts.map +1 -0
- package/dist/esm/components/Modal/Modal.js +64 -0
- package/dist/esm/components/Modal/index.d.ts +2 -0
- package/dist/esm/components/Modal/index.d.ts.map +1 -0
- package/dist/esm/components/Modal/index.js +1 -0
- package/dist/esm/components/QuillCard.d.ts +9 -0
- package/dist/esm/components/QuillCard.d.ts.map +1 -0
- package/dist/esm/components/QuillCard.js +56 -0
- package/dist/esm/components/QuillMultiSelect.d.ts +11 -0
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -0
- package/dist/esm/components/QuillMultiSelect.js +193 -0
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +11 -0
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -0
- package/dist/esm/components/QuillMultiSelectWithCombo.js +215 -0
- package/dist/esm/components/QuillSelect.d.ts +6 -0
- package/dist/esm/components/QuillSelect.d.ts.map +1 -0
- package/dist/esm/components/QuillSelect.js +136 -0
- package/dist/esm/components/QuillSelectWithCombo.d.ts +6 -0
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -0
- package/dist/esm/components/QuillSelectWithCombo.js +163 -0
- package/dist/esm/components/QuillTable.d.ts +31 -0
- package/dist/esm/components/QuillTable.d.ts.map +1 -0
- package/dist/esm/components/QuillTable.js +261 -0
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +34 -0
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +145 -0
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +26 -0
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +36 -0
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +23 -0
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +73 -0
- 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 +523 -0
- package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ast.js +230 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.d.ts +7 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/bigDateMap.js +687 -0
- package/dist/esm/components/ReportBuilder/constants.d.ts +117 -0
- package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/constants.js +161 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts +65 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/convert.js +717 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts +462 -0
- package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/operators.js +581 -0
- package/dist/esm/components/ReportBuilder/pivot.d.ts +16 -0
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/pivot.js +1 -0
- package/dist/esm/components/ReportBuilder/postgres.d.ts +150 -0
- package/dist/esm/components/ReportBuilder/postgres.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/postgres.js +355 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts +23 -0
- package/dist/esm/components/ReportBuilder/schema.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/schema.js +1 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts +119 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ui.js +382 -0
- package/dist/esm/components/ReportBuilder/util.d.ts +76 -0
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/util.js +729 -0
- package/dist/esm/components/UiComponents.d.ts +221 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -0
- package/dist/esm/components/UiComponents.js +571 -0
- package/dist/esm/components/selectUtils.d.ts +9 -0
- package/dist/esm/components/selectUtils.d.ts.map +1 -0
- package/dist/esm/components/selectUtils.js +17 -0
- package/dist/esm/contexts/BaseColorContext.d.ts +4 -0
- package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -0
- package/dist/esm/contexts/BaseColorContext.js +3 -0
- package/dist/esm/contexts/HoveredValueContext.d.ts +8 -0
- package/dist/esm/contexts/HoveredValueContext.d.ts.map +1 -0
- package/dist/esm/contexts/HoveredValueContext.js +5 -0
- package/dist/esm/contexts/RootStylesContext.d.ts +4 -0
- package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -0
- package/dist/esm/contexts/RootStylesContext.js +3 -0
- package/dist/esm/contexts/SelectedValueContext.d.ts +8 -0
- package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -0
- package/dist/esm/contexts/SelectedValueContext.js +6 -0
- package/dist/esm/contexts/index.d.ts +5 -0
- package/dist/esm/contexts/index.d.ts.map +1 -0
- package/dist/esm/contexts/index.js +4 -0
- package/dist/esm/hooks/index.d.ts +6 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +5 -0
- 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 +7 -0
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -0
- package/dist/esm/hooks/useDashboard.js +69 -0
- package/dist/esm/hooks/useExport.d.ts +6 -0
- package/dist/esm/hooks/useExport.d.ts.map +1 -0
- package/dist/esm/hooks/useExport.js +125 -0
- package/dist/esm/hooks/useFormat.d.ts +5 -0
- package/dist/esm/hooks/useFormat.d.ts.map +1 -0
- package/dist/esm/hooks/useFormat.js +25 -0
- package/dist/esm/hooks/useInternalState.d.ts +4 -0
- package/dist/esm/hooks/useInternalState.d.ts.map +1 -0
- package/dist/esm/hooks/useInternalState.js +14 -0
- package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/esm/hooks/useOnClickOutside.js +18 -0
- package/dist/esm/hooks/useOnWindowResize.d.ts +5 -0
- package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -0
- package/dist/esm/hooks/useOnWindowResize.js +14 -0
- package/dist/esm/hooks/useQuill.d.ts +37 -0
- package/dist/esm/hooks/useQuill.d.ts.map +1 -0
- package/dist/esm/hooks/useQuill.js +182 -0
- package/dist/esm/hooks/useSelectOnKeyDown.d.ts +3 -0
- package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -0
- package/dist/esm/hooks/useSelectOnKeyDown.js +63 -0
- package/dist/esm/hooks/useTheme.d.ts +7 -0
- package/dist/esm/hooks/useTheme.d.ts.map +1 -0
- package/dist/esm/hooks/useTheme.js +10 -0
- package/dist/esm/index.d.ts +29 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +28 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.js +62 -0
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts +39 -0
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotList.js +89 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +146 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotModal.js +1210 -0
- package/dist/esm/lib/font.d.ts +14 -0
- package/dist/esm/lib/font.d.ts.map +1 -0
- package/dist/esm/lib/font.js +13 -0
- package/dist/esm/lib/index.d.ts +4 -0
- package/dist/esm/lib/index.d.ts.map +1 -0
- package/dist/esm/lib/index.js +3 -0
- package/dist/esm/lib/inputTypes.d.ts +21 -0
- package/dist/esm/lib/inputTypes.d.ts.map +1 -0
- package/dist/esm/lib/inputTypes.js +55 -0
- package/dist/esm/lib/utils.d.ts +10 -0
- package/dist/esm/lib/utils.d.ts.map +1 -0
- package/dist/esm/lib/utils.js +35 -0
- package/dist/esm/models/Columns.d.ts +12 -0
- package/dist/esm/models/Columns.d.ts.map +1 -0
- package/dist/esm/models/Columns.js +1 -0
- package/dist/esm/models/Filter.d.ts +118 -0
- package/dist/esm/models/Filter.d.ts.map +1 -0
- package/dist/esm/models/Filter.js +98 -0
- 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/Pivots.d.ts +2 -0
- package/dist/esm/models/Pivots.d.ts.map +1 -0
- package/dist/esm/models/Pivots.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/models/Tables.d.ts +8 -0
- package/dist/esm/models/Tables.d.ts.map +1 -0
- package/dist/esm/models/Tables.js +1 -0
- package/dist/esm/utils/aggregate.d.ts +4 -0
- package/dist/esm/utils/aggregate.d.ts.map +1 -0
- package/dist/esm/utils/aggregate.js +422 -0
- 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/astProcessing.d.ts +26 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -0
- package/dist/esm/utils/astProcessing.js +254 -0
- package/dist/esm/utils/axisFormatter.d.ts +20 -0
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -0
- package/dist/esm/utils/axisFormatter.js +179 -0
- package/dist/esm/utils/color.d.ts +44 -0
- package/dist/esm/utils/color.d.ts.map +1 -0
- package/dist/esm/utils/color.js +425 -0
- package/dist/esm/utils/columnProcessing.d.ts +13 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
- package/dist/esm/utils/columnProcessing.js +260 -0
- package/dist/esm/utils/constants.d.ts +2 -0
- package/dist/esm/utils/constants.d.ts.map +1 -0
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/crypto.d.ts +2 -0
- package/dist/esm/utils/crypto.d.ts.map +1 -0
- package/dist/esm/utils/crypto.js +10 -0
- package/dist/esm/utils/csv.d.ts +6 -0
- package/dist/esm/utils/csv.d.ts.map +1 -0
- package/dist/esm/utils/csv.js +78 -0
- package/dist/esm/utils/dashboard.d.ts +13 -0
- package/dist/esm/utils/dashboard.d.ts.map +1 -0
- package/dist/esm/utils/dashboard.js +171 -0
- package/dist/esm/utils/dataFetcher.d.ts +3 -0
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
- package/dist/esm/utils/dataFetcher.js +205 -0
- package/dist/esm/utils/dataProcessing.d.ts +11 -0
- package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
- package/dist/esm/utils/dataProcessing.js +162 -0
- package/dist/esm/utils/dates.d.ts +20 -0
- package/dist/esm/utils/dates.d.ts.map +1 -0
- package/dist/esm/utils/dates.js +95 -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/errorProcessing.d.ts +2 -0
- package/dist/esm/utils/errorProcessing.d.ts.map +1 -0
- package/dist/esm/utils/errorProcessing.js +5 -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 +10 -0
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -0
- package/dist/esm/utils/filterProcessing.js +232 -0
- package/dist/esm/utils/getDomain.d.ts +8 -0
- package/dist/esm/utils/getDomain.d.ts.map +1 -0
- package/dist/esm/utils/getDomain.js +52 -0
- package/dist/esm/utils/logging.d.ts +2 -0
- package/dist/esm/utils/logging.d.ts.map +1 -0
- package/dist/esm/utils/logging.js +7 -0
- package/dist/esm/utils/merge.d.ts +2 -0
- package/dist/esm/utils/merge.d.ts.map +1 -0
- package/dist/esm/utils/merge.js +18 -0
- package/dist/esm/utils/monacoConfig.d.ts +21 -0
- 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/parserBigQuery.d.ts +6 -0
- package/dist/esm/utils/parserBigQuery.d.ts.map +1 -0
- package/dist/esm/utils/parserBigQuery.js +52 -0
- package/dist/esm/utils/parserPostgres.d.ts +3 -0
- package/dist/esm/utils/parserPostgres.d.ts.map +1 -0
- package/dist/esm/utils/parserPostgres.js +37 -0
- package/dist/esm/utils/pivotConstructor.d.ts +7 -0
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -0
- package/dist/esm/utils/pivotConstructor.js +151 -0
- package/dist/esm/utils/pivotProcessing.d.ts +17 -0
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -0
- package/dist/esm/utils/pivotProcessing.js +132 -0
- package/dist/esm/utils/queryConstructor.d.ts +7 -0
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -0
- package/dist/esm/utils/queryConstructor.js +226 -0
- package/dist/esm/utils/report.d.ts +10 -0
- package/dist/esm/utils/report.d.ts.map +1 -0
- package/dist/esm/utils/report.js +186 -0
- package/dist/esm/utils/schema.d.ts +6 -0
- package/dist/esm/utils/schema.d.ts.map +1 -0
- package/dist/esm/utils/schema.js +153 -0
- package/dist/esm/utils/styles.d.ts +17 -0
- package/dist/esm/utils/styles.d.ts.map +1 -0
- package/dist/esm/utils/styles.js +16 -0
- package/dist/esm/utils/tableProcessing.d.ts +45 -0
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -0
- package/dist/esm/utils/tableProcessing.js +300 -0
- package/dist/esm/utils/textProcessing.d.ts +6 -0
- package/dist/esm/utils/textProcessing.d.ts.map +1 -0
- package/dist/esm/utils/textProcessing.js +49 -0
- 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 +29 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -0
- package/dist/esm/utils/valueFormatter.js +342 -0
- package/dist/esm/utils/width.d.ts +12 -0
- package/dist/esm/utils/width.d.ts.map +1 -0
- package/dist/esm/utils/width.js +21 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const MAX_COLUMN_ROWS_LIMIT = 500;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/utils/crypto.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,UAShC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function hashCode(obj) {
|
|
2
|
+
const serializedObj = JSON.stringify(obj);
|
|
3
|
+
let hashCode = 0;
|
|
4
|
+
for (let i = 0; i < serializedObj.length; i++) {
|
|
5
|
+
const char = serializedObj.charCodeAt(i);
|
|
6
|
+
hashCode = (hashCode << 5) - hashCode + char;
|
|
7
|
+
hashCode |= 0;
|
|
8
|
+
}
|
|
9
|
+
return hashCode;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { quillFormat } from './valueFormatter';
|
|
2
|
+
export const downloadCSV = (data) => {
|
|
3
|
+
const { rows, fields, name } = data;
|
|
4
|
+
// report.rows
|
|
5
|
+
if (rows && !rows.length) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
// if table chart, use columns and valueFormatter
|
|
9
|
+
if (fields) {
|
|
10
|
+
const newRows = [];
|
|
11
|
+
for (let i = 0; i < rows.length; i++) {
|
|
12
|
+
const newRow = {};
|
|
13
|
+
Object.keys(rows[i]).forEach((field) => {
|
|
14
|
+
const fieldObj = fields.find((f) => f.field === field);
|
|
15
|
+
newRow[field] = quillFormat({
|
|
16
|
+
value: rows[i][field],
|
|
17
|
+
format: fieldObj?.format || 'text',
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
newRows.push(newRow);
|
|
21
|
+
}
|
|
22
|
+
const fieldsProcessed = fields?.map((col) => {
|
|
23
|
+
return {
|
|
24
|
+
label: col.field,
|
|
25
|
+
_id: col.field,
|
|
26
|
+
field: col.field,
|
|
27
|
+
format: 'percent',
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
const csvRows = [];
|
|
31
|
+
// Header row
|
|
32
|
+
csvRows.push(fields?.map((col) => col.label || col.field).join(','));
|
|
33
|
+
// Data rows
|
|
34
|
+
for (const row of newRows) {
|
|
35
|
+
const values = fieldsProcessed.map((field) => {
|
|
36
|
+
let value = JSON.stringify(row[field.label] ?? '');
|
|
37
|
+
if (value.includes('\\"')) {
|
|
38
|
+
value = value.replaceAll('\\"', '""');
|
|
39
|
+
}
|
|
40
|
+
return value;
|
|
41
|
+
});
|
|
42
|
+
csvRows.push(values.join(','));
|
|
43
|
+
}
|
|
44
|
+
// Create CSV string and create a 'blob' with it
|
|
45
|
+
const csvString = csvRows.join('\r\n');
|
|
46
|
+
const csvBlob = new Blob([csvString], { type: 'text/csv' });
|
|
47
|
+
// Create a download link and click it
|
|
48
|
+
const downloadLink = document.createElement('a');
|
|
49
|
+
downloadLink.download = `${name}.csv`;
|
|
50
|
+
downloadLink.href = URL.createObjectURL(csvBlob);
|
|
51
|
+
downloadLink.style.display = 'none';
|
|
52
|
+
document.body.appendChild(downloadLink);
|
|
53
|
+
downloadLink.click();
|
|
54
|
+
document.body.removeChild(downloadLink);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const json = rows; // JSON data passed as a prop
|
|
58
|
+
const fieldsProcessed = Object.keys(json[0]); // Assumes all objects have same keys
|
|
59
|
+
const csvRows = [];
|
|
60
|
+
// Header row
|
|
61
|
+
csvRows.push(fieldsProcessed.join(','));
|
|
62
|
+
// Data rows
|
|
63
|
+
for (const row of json) {
|
|
64
|
+
const values = fieldsProcessed.map((field) => JSON.stringify(row[field] || ''));
|
|
65
|
+
csvRows.push(values.join(','));
|
|
66
|
+
}
|
|
67
|
+
// Create CSV string and create a 'blob' with it
|
|
68
|
+
const csvString = csvRows.join('\r\n');
|
|
69
|
+
const csvBlob = new Blob([csvString], { type: 'text/csv' });
|
|
70
|
+
// Create a download link and click it
|
|
71
|
+
const downloadLink = document.createElement('a');
|
|
72
|
+
downloadLink.download = `${name}.csv`;
|
|
73
|
+
downloadLink.href = URL.createObjectURL(csvBlob);
|
|
74
|
+
downloadLink.style.display = 'none';
|
|
75
|
+
document.body.appendChild(downloadLink);
|
|
76
|
+
downloadLink.click();
|
|
77
|
+
document.body.removeChild(downloadLink);
|
|
78
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { QuillReportInternal } from '../models/Report';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a cleaned version of the dashboard item we store in state. We clean
|
|
4
|
+
* the dashboard item so that we aren't exposing unnecessary details to the
|
|
5
|
+
* client and also so that we can give the developer using our items a stable
|
|
6
|
+
* interface to build amazing dashboards on top of.
|
|
7
|
+
* @param item
|
|
8
|
+
*/
|
|
9
|
+
export declare function cleanDashboardItem(item: {
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
} | undefined, dashboardFilters: any, client?: any, dateBucket?: string): Promise<QuillReportInternal>;
|
|
12
|
+
export declare function getDashboard(dashboardName: string, client: any): Promise<any>;
|
|
13
|
+
//# sourceMappingURL=dashboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { generatePivotTable, generatePivotTableYAxis, } from '../internals/ReportBuilder/PivotModal';
|
|
2
|
+
import { snakeAndCamelCaseToTitleCase } from './textProcessing';
|
|
3
|
+
import { getData } from './dataFetcher';
|
|
4
|
+
import { getDateBucketFromRange } from './dates';
|
|
5
|
+
import { generatePivotWithSQL } from './pivotConstructor';
|
|
6
|
+
const defaultDashboardItem = {
|
|
7
|
+
id: '',
|
|
8
|
+
name: '',
|
|
9
|
+
dashboardName: '',
|
|
10
|
+
rows: [],
|
|
11
|
+
compareRows: [],
|
|
12
|
+
columns: [],
|
|
13
|
+
chartType: '',
|
|
14
|
+
dateField: null,
|
|
15
|
+
pivot: null,
|
|
16
|
+
yAxisFields: [],
|
|
17
|
+
xAxisLabel: '',
|
|
18
|
+
xAxisField: '',
|
|
19
|
+
xAxisFormat: 'string',
|
|
20
|
+
order: -1,
|
|
21
|
+
filtersApplied: {},
|
|
22
|
+
queryString: '',
|
|
23
|
+
rowCount: 0,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Returns a cleaned version of the dashboard item we store in state. We clean
|
|
27
|
+
* the dashboard item so that we aren't exposing unnecessary details to the
|
|
28
|
+
* client and also so that we can give the developer using our items a stable
|
|
29
|
+
* interface to build amazing dashboards on top of.
|
|
30
|
+
* @param item
|
|
31
|
+
*/
|
|
32
|
+
export async function cleanDashboardItem(item, dashboardFilters, client, dateBucket) {
|
|
33
|
+
if (!item)
|
|
34
|
+
return defaultDashboardItem;
|
|
35
|
+
if (!item.rows)
|
|
36
|
+
return {
|
|
37
|
+
...defaultDashboardItem,
|
|
38
|
+
id: item._id,
|
|
39
|
+
name: item.name,
|
|
40
|
+
};
|
|
41
|
+
const pivotTable = await getPivotTable(item, dashboardFilters, client, dateBucket);
|
|
42
|
+
return {
|
|
43
|
+
id: item._id,
|
|
44
|
+
name: item.name,
|
|
45
|
+
dashboardName: item.dashboardName,
|
|
46
|
+
rows: item.rows,
|
|
47
|
+
pivotRows: pivotTable ? pivotTable.rows : undefined,
|
|
48
|
+
pivotColumns: pivotTable ? pivotTable.columns : undefined,
|
|
49
|
+
compareRows: item.compareRows,
|
|
50
|
+
columns: item.columns.map((col) => {
|
|
51
|
+
return { ...col, label: snakeAndCamelCaseToTitleCase(col.label) };
|
|
52
|
+
}),
|
|
53
|
+
chartType: item.chartType,
|
|
54
|
+
dateField: item.dateField,
|
|
55
|
+
pivot: item.pivot,
|
|
56
|
+
yAxisFields: pivotTable
|
|
57
|
+
? extractPivotedYAxis(pivotTable, item)
|
|
58
|
+
: item.yAxisFields,
|
|
59
|
+
xAxisLabel: item.xAxisLabel,
|
|
60
|
+
xAxisField: item.xAxisField,
|
|
61
|
+
xAxisFormat: item.xAxisFormat,
|
|
62
|
+
order: item.order,
|
|
63
|
+
filtersApplied: item.filtersApplied,
|
|
64
|
+
rowCount: parseInt(item.rowCount),
|
|
65
|
+
sort: item.sort,
|
|
66
|
+
itemQuery: item.itemQuery,
|
|
67
|
+
queryString: item.queryString,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Extract and transform the data from itemInfo.
|
|
72
|
+
*/
|
|
73
|
+
async function getPivotTable(report, dashboardFilters, client, dateBucketInitial) {
|
|
74
|
+
if (!report)
|
|
75
|
+
return undefined;
|
|
76
|
+
const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.opterator === 'BETWEEN');
|
|
77
|
+
if (dateFilter?.operator === 'BETWEEN') {
|
|
78
|
+
dateFilter.startDate = dateFilter.value[0];
|
|
79
|
+
dateFilter.endDate = dateFilter.value[1];
|
|
80
|
+
}
|
|
81
|
+
const pivot = report?.pivot;
|
|
82
|
+
const data = report || {};
|
|
83
|
+
if (pivot && client) {
|
|
84
|
+
if (report.rowCount === 0) {
|
|
85
|
+
return { rows: [], columns: [] };
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
let dateBucket = dateBucketInitial;
|
|
89
|
+
let filterDateRange = undefined;
|
|
90
|
+
if (dateFilter) {
|
|
91
|
+
filterDateRange = {
|
|
92
|
+
start: dateFilter.startDate,
|
|
93
|
+
end: dateFilter.endDate,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
else if (report.dateRange) {
|
|
97
|
+
filterDateRange = report.dateRange;
|
|
98
|
+
}
|
|
99
|
+
if (!dateBucket && filterDateRange) {
|
|
100
|
+
dateBucket = getDateBucketFromRange(filterDateRange);
|
|
101
|
+
}
|
|
102
|
+
const pivotTable = await generatePivotWithSQL(pivot, report, client, dateBucket, dateFilter, report.distinctStrings);
|
|
103
|
+
if (pivotTable) {
|
|
104
|
+
return pivotTable;
|
|
105
|
+
}
|
|
106
|
+
throw new Error('Error generating pivot table');
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
throw new Error('Failed to fetch chart');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return pivot && data.rows
|
|
113
|
+
? generatePivotTable(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
|
|
114
|
+
dateFilter?.startDate && dateFilter?.endDate
|
|
115
|
+
? { start: dateFilter.startDate, end: dateFilter.endDate }
|
|
116
|
+
: undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
|
|
117
|
+
dateFilter?.comparisonRange?.endDate
|
|
118
|
+
? {
|
|
119
|
+
start: dateFilter.comparisonRange.startDate,
|
|
120
|
+
end: dateFilter.comparisonRange.endDate,
|
|
121
|
+
}
|
|
122
|
+
: undefined)
|
|
123
|
+
: undefined;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Extracts the yAxis from the pivot table, if one exists.
|
|
127
|
+
*/
|
|
128
|
+
function extractPivotedYAxis(pivotTable, itemInfo, config = undefined) {
|
|
129
|
+
if (!pivotTable)
|
|
130
|
+
return itemInfo?.yAxisFields ?? [];
|
|
131
|
+
const pivot = itemInfo?.pivot || config?.pivot;
|
|
132
|
+
if (!pivot.columnField && !pivot.rowField)
|
|
133
|
+
return itemInfo?.yAxisFields ?? [];
|
|
134
|
+
const yAxisFields = config ? config.yAxisFields : itemInfo?.yAxisFields;
|
|
135
|
+
const pivotTableYAxis = yAxisFields
|
|
136
|
+
? generatePivotTableYAxis(pivot, pivotTable.columns, yAxisFields[0])
|
|
137
|
+
: null;
|
|
138
|
+
const fields = pivotTableYAxis
|
|
139
|
+
? pivotTableYAxis
|
|
140
|
+
: config
|
|
141
|
+
? config.yAxisFields
|
|
142
|
+
: itemInfo.yAxisFields;
|
|
143
|
+
if (fields.length == 1) {
|
|
144
|
+
const sampleField = fields[0];
|
|
145
|
+
fields[fields.length] = {
|
|
146
|
+
...sampleField,
|
|
147
|
+
field: `comparison_${sampleField.field}`,
|
|
148
|
+
label: `comparison ${sampleField.label}`,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
return fields;
|
|
152
|
+
}
|
|
153
|
+
export async function getDashboard(dashboardName, client) {
|
|
154
|
+
const searchParams = new URLSearchParams({
|
|
155
|
+
publicKey: client.publicKey,
|
|
156
|
+
orgId: client.customerId,
|
|
157
|
+
name: dashboardName,
|
|
158
|
+
}).toString();
|
|
159
|
+
const hostedBody = {
|
|
160
|
+
metadata: {
|
|
161
|
+
name: dashboardName,
|
|
162
|
+
task: 'config',
|
|
163
|
+
clientId: client.publicKey,
|
|
164
|
+
orgId: client.customerId || '*',
|
|
165
|
+
databaseType: client.databaseType,
|
|
166
|
+
useNewNodeSql: true,
|
|
167
|
+
},
|
|
168
|
+
};
|
|
169
|
+
const resp = await getData(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
|
|
170
|
+
return resp;
|
|
171
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function getData(client: any, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string, queryParam?: string): Promise<any>;
|
|
2
|
+
export declare function getDataFromCloud(client: any, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string): Promise<any>;
|
|
3
|
+
//# sourceMappingURL=dataFetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AA2EA,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,gBA6IpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,GAAG,EACX,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBAgChB"}
|
|
@@ -0,0 +1,205 @@
|
|
|
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
|
+
}
|
|
13
|
+
function parseData(rows, queryType) {
|
|
14
|
+
if (!rows || rows.length === 0)
|
|
15
|
+
return [];
|
|
16
|
+
switch (queryType) {
|
|
17
|
+
case 'dateRange':
|
|
18
|
+
return {
|
|
19
|
+
start: new Date(rows[0]?.min_date),
|
|
20
|
+
end: new Date(rows[0]?.max_date),
|
|
21
|
+
};
|
|
22
|
+
case 'rowCount':
|
|
23
|
+
return parseInt(rows[0]?.row_count);
|
|
24
|
+
case 'distinctStrings':
|
|
25
|
+
return rows.map((row) => {
|
|
26
|
+
return row['column_field'];
|
|
27
|
+
});
|
|
28
|
+
default:
|
|
29
|
+
return rows;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
async function testSqlViewState(hostedRequestBody, client, referencedTables) {
|
|
33
|
+
let errorMessage = null;
|
|
34
|
+
await Promise.all(referencedTables.map(async (table) => {
|
|
35
|
+
if (!table) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const hostedBody = {
|
|
39
|
+
metadata: {
|
|
40
|
+
tables: [table],
|
|
41
|
+
task: 'test-view',
|
|
42
|
+
clientId: hostedRequestBody.metadata.clientId,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
const cloudBody = { ...hostedBody };
|
|
46
|
+
const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
|
|
47
|
+
if (resp.success === false) {
|
|
48
|
+
const brokenBody = {
|
|
49
|
+
metadata: {
|
|
50
|
+
table: table,
|
|
51
|
+
task: 'set-broken-view',
|
|
52
|
+
clientId: hostedRequestBody.metadata.clientId,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
getData(client, 'test-view', 'same-origin', brokenBody, cloudBody);
|
|
56
|
+
errorMessage = `SQL View Error: '${table}' is out of sync with datasource.`;
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
return errorMessage;
|
|
60
|
+
}
|
|
61
|
+
// this function gets the data either from the self hosted endpoint or
|
|
62
|
+
// our cloud server
|
|
63
|
+
export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam) {
|
|
64
|
+
if (!client) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
if (client.queryEndpoint) {
|
|
69
|
+
// self hosted
|
|
70
|
+
const processedParam = queryParam ? `?${queryParam}` : '';
|
|
71
|
+
const resp = await fetch(`${client.queryEndpoint}${processedParam}`, {
|
|
72
|
+
method: 'POST',
|
|
73
|
+
headers: {
|
|
74
|
+
...client.queryHeaders,
|
|
75
|
+
'Content-Type': 'application/json',
|
|
76
|
+
},
|
|
77
|
+
credentials: client.withCredentials ? 'include' : noCred,
|
|
78
|
+
body: JSON.stringify(hostedRequestBody),
|
|
79
|
+
});
|
|
80
|
+
const responseJson = await resp.json();
|
|
81
|
+
if (responseJson.status === 'error' &&
|
|
82
|
+
['query', 'patterns', 'item'].includes(hostedRequestBody.metadata.task)) {
|
|
83
|
+
const brokenReport = { ...responseJson };
|
|
84
|
+
let errorPrefix = 'Error: ';
|
|
85
|
+
let errorMessage = 'Failed to fetch chart';
|
|
86
|
+
if (hostedRequestBody.metadata.task === 'query' ||
|
|
87
|
+
hostedRequestBody.metadata.task === 'patterns') {
|
|
88
|
+
errorPrefix = 'SQL Error: ';
|
|
89
|
+
errorMessage = errorPrefix + responseJson.error;
|
|
90
|
+
}
|
|
91
|
+
let adminErrorMessage = undefined;
|
|
92
|
+
const processedData = fetchQuillData(brokenReport);
|
|
93
|
+
if (processedData &&
|
|
94
|
+
processedData.data &&
|
|
95
|
+
processedData.data.referencedTables) {
|
|
96
|
+
adminErrorMessage = await testSqlViewState(hostedRequestBody, client, processedData.data.referencedTables);
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
success: false,
|
|
100
|
+
errorMessage,
|
|
101
|
+
adminErrorMessage,
|
|
102
|
+
data: brokenReport.data,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
if (responseJson.error) {
|
|
106
|
+
return {
|
|
107
|
+
success: false,
|
|
108
|
+
errorMessage: responseJson.error,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
let result;
|
|
112
|
+
if (hostedRequestBody &&
|
|
113
|
+
hostedRequestBody.metadata &&
|
|
114
|
+
(hostedRequestBody.metadata.task === 'report' ||
|
|
115
|
+
hostedRequestBody.metadata.useUpdatedDataGathering)) {
|
|
116
|
+
if (responseJson.data?.data) {
|
|
117
|
+
result = {
|
|
118
|
+
fields: responseJson?.data.queries?.queryResults[0]?.fields,
|
|
119
|
+
...responseJson.data.data,
|
|
120
|
+
};
|
|
121
|
+
responseJson.data.data?.queryOrder?.forEach((queryKey, index) => {
|
|
122
|
+
result[queryKey] = parseData(responseJson.queries.queryResults[index].rows, queryKey);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
result = {
|
|
127
|
+
fields: responseJson?.queries?.queryResults[0]?.fields,
|
|
128
|
+
...responseJson.data,
|
|
129
|
+
};
|
|
130
|
+
responseJson.data.queryOrder.forEach((queryKey, index) => {
|
|
131
|
+
result[queryKey] = parseData(responseJson.queries.queryResults[index].rows, queryKey);
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
if (responseJson.data?.data) {
|
|
137
|
+
result = {
|
|
138
|
+
fields: responseJson?.data.queries?.queryResults[0]?.fields,
|
|
139
|
+
...responseJson.data.data,
|
|
140
|
+
rows: responseJson?.data.queries?.queryResults[0]?.rows,
|
|
141
|
+
compareRows: responseJson?.data.queries?.queryResults[1]?.rows,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
result = {
|
|
146
|
+
fields: responseJson?.queries?.queryResults[0]?.fields,
|
|
147
|
+
...responseJson.data,
|
|
148
|
+
rows: responseJson?.queries?.queryResults[0]?.rows,
|
|
149
|
+
compareRows: responseJson?.queries?.queryResults[1]?.rows,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (responseJson.data.columns &&
|
|
154
|
+
responseJson.data.fields &&
|
|
155
|
+
responseJson.data.columns.length != responseJson.data.fields) {
|
|
156
|
+
// Remove all columns that don't appear in fields, overtime this should never be the case
|
|
157
|
+
const columns = responseJson.data.columns.filter((columns) => responseJson.data.fields.find((field) => field.name === columns.field));
|
|
158
|
+
result = {
|
|
159
|
+
...result,
|
|
160
|
+
columns,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
// cloud
|
|
167
|
+
return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
catch (e) {
|
|
171
|
+
console.error('Failed to parse JSON:', e);
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
|
|
176
|
+
const environment = client?.environment;
|
|
177
|
+
const host = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_HOST) ||
|
|
178
|
+
'https://quill-344421.uc.r.appspot.com';
|
|
179
|
+
const url = `${host}/${cloudQueryEndpoint}`;
|
|
180
|
+
const resp = await fetch(url, {
|
|
181
|
+
method,
|
|
182
|
+
headers: {
|
|
183
|
+
Authorization: 'Bearer ',
|
|
184
|
+
...(environment ? { environment } : {}), // Remember to provide the actual token
|
|
185
|
+
'Content-Type': 'application/json',
|
|
186
|
+
environment: environment || undefined,
|
|
187
|
+
},
|
|
188
|
+
body: method === 'POST'
|
|
189
|
+
? JSON.stringify({
|
|
190
|
+
...cloudRequestBody,
|
|
191
|
+
...{
|
|
192
|
+
publicKey: client?.publicKey,
|
|
193
|
+
orgId: client?.customerId,
|
|
194
|
+
},
|
|
195
|
+
})
|
|
196
|
+
: null,
|
|
197
|
+
});
|
|
198
|
+
try {
|
|
199
|
+
return await resp.json();
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
console.error('Failed to parse JSON:', e);
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
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, comparison: boolean) => number;
|
|
10
|
+
export declare function parseValueFromBigQueryDates(rows: any[], columns: any[]): void;
|
|
11
|
+
//# 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;AAQvD,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,SACnB,mBAAmB,cACb,OAAO,WAoBpB,CAAC;AAGF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAkBtE"}
|