@quillsql/react 2.13.40 → 2.13.42
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.d.ts +5 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +51 -28
- package/dist/cjs/ChartBuilder.d.ts +30 -3
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +483 -182
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +11 -1
- package/dist/cjs/Context.d.ts +16 -4
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +95 -46
- package/dist/cjs/Dashboard.d.ts +6 -3
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +69 -28
- package/dist/cjs/QuillProvider.d.ts +4 -8
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.d.ts +2 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +190 -48
- package/dist/cjs/SQLEditor.d.ts +8 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +94 -10
- package/dist/cjs/Table.d.ts +21 -1
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +30 -192
- package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +4 -3
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
- package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
- package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/GaugeChart.js +198 -0
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +14 -11
- package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +4 -3
- package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/MapChart.js +548 -0
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
- package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +28 -7
- package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +15 -2
- package/dist/cjs/components/UiComponents.d.ts +5 -2
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +34 -7
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +11 -9
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +18 -4
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +16 -3
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useReport.js +1 -7
- package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +5 -2
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +7 -8
- package/dist/cjs/models/Columns.d.ts +1 -0
- package/dist/cjs/models/Columns.d.ts.map +1 -1
- package/dist/cjs/models/Filter.d.ts +20 -13
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +161 -87
- package/dist/cjs/models/Report.d.ts +12 -1
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Schema.d.ts +12 -1
- package/dist/cjs/models/Schema.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +22 -22
- package/dist/cjs/utils/astProcessing.d.ts +2 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +25 -6
- package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/axisFormatter.js +25 -0
- package/dist/cjs/utils/color.d.ts +159 -0
- package/dist/cjs/utils/color.d.ts.map +1 -1
- package/dist/cjs/utils/color.js +14 -5
- package/dist/cjs/utils/columnProcessing.js +3 -3
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dashboard.d.ts +14 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +79 -16
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +3 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +9 -9
- package/dist/cjs/utils/getDomain.d.ts +4 -1
- package/dist/cjs/utils/getDomain.d.ts.map +1 -1
- package/dist/cjs/utils/getDomain.js +11 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +9 -6
- package/dist/cjs/utils/queryConstructor.d.ts +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +83 -49
- package/dist/cjs/utils/report.d.ts +23 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +36 -14
- package/dist/cjs/utils/schema.d.ts +28 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +79 -43
- package/dist/cjs/utils/tableProcessing.d.ts +12 -3
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +36 -8
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +0 -1
- package/dist/cjs/utils/valueFormatter.d.ts +1 -0
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +55 -1
- package/dist/esm/Chart.d.ts +5 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +52 -29
- package/dist/esm/ChartBuilder.d.ts +30 -3
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +487 -187
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +11 -1
- package/dist/esm/Context.d.ts +16 -4
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +97 -48
- package/dist/esm/Dashboard.d.ts +6 -3
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +70 -29
- package/dist/esm/QuillProvider.d.ts +4 -8
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.d.ts +2 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +192 -50
- package/dist/esm/SQLEditor.d.ts +8 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +95 -11
- package/dist/esm/Table.d.ts +21 -1
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +34 -196
- package/dist/esm/components/Chart/BarChart.d.ts +5 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +5 -4
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
- package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
- package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/GaugeChart.js +195 -0
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +14 -11
- package/dist/esm/components/Chart/LineChart.d.ts +5 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +5 -4
- package/dist/esm/components/Chart/MapChart.d.ts +36 -0
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/MapChart.js +541 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +114 -42
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +5 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +12 -11
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
- package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +26 -7
- package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +15 -2
- package/dist/esm/components/UiComponents.d.ts +5 -2
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +32 -6
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +11 -9
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +19 -5
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +16 -3
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +1 -7
- package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +6 -3
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +7 -8
- package/dist/esm/models/Columns.d.ts +1 -0
- package/dist/esm/models/Columns.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts +20 -13
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +160 -86
- package/dist/esm/models/Report.d.ts +12 -1
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Schema.d.ts +12 -1
- package/dist/esm/models/Schema.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +23 -23
- package/dist/esm/utils/astProcessing.d.ts +2 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +25 -6
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
- package/dist/esm/utils/axisFormatter.js +25 -0
- package/dist/esm/utils/color.d.ts +159 -0
- package/dist/esm/utils/color.d.ts.map +1 -1
- package/dist/esm/utils/color.js +8 -2
- package/dist/esm/utils/columnProcessing.js +3 -3
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dashboard.d.ts +14 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +80 -17
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +3 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +10 -10
- package/dist/esm/utils/getDomain.d.ts +4 -1
- package/dist/esm/utils/getDomain.d.ts.map +1 -1
- package/dist/esm/utils/getDomain.js +11 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +9 -6
- package/dist/esm/utils/queryConstructor.d.ts +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +83 -49
- package/dist/esm/utils/report.d.ts +23 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +38 -16
- package/dist/esm/utils/schema.d.ts +28 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +78 -43
- package/dist/esm/utils/tableProcessing.d.ts +12 -3
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +36 -8
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +0 -1
- package/dist/esm/utils/valueFormatter.d.ts +1 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +53 -0
- package/package.json +10 -3
|
@@ -43,6 +43,10 @@ const Report_1 = require("./models/Report");
|
|
|
43
43
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
44
44
|
const FilterStack_1 = __importDefault(require("./components/ReportBuilder/FilterStack"));
|
|
45
45
|
const constants_2 = require("./utils/constants");
|
|
46
|
+
const convert_1 = require("./components/ReportBuilder/convert");
|
|
47
|
+
const pivotConstructor_1 = require("./utils/pivotConstructor");
|
|
48
|
+
const columnProcessing_1 = require("./utils/columnProcessing");
|
|
49
|
+
const dashboard_1 = require("./utils/dashboard");
|
|
46
50
|
/**
|
|
47
51
|
* Quill Report Builder
|
|
48
52
|
*
|
|
@@ -74,9 +78,7 @@ const constants_2 = require("./utils/constants");
|
|
|
74
78
|
* ### Report Builder API
|
|
75
79
|
* @see https://docs.quillsql.com/components/report-builder
|
|
76
80
|
*/
|
|
77
|
-
function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void null, onSubmitCreateReport = () => void null, onDiscardChanges = undefined, onSaveChanges = undefined, onCloseChartBuilder = undefined, destinationDashboard, chartBuilderTitle = undefined, organizationName = '', ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, ModalComponent = UiComponents_1.MemoizedModal, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, TableComponent = UiComponents_1.QuillTableReportBuilderComponent, PopoverComponent = UiComponents_1.MemoizedPopover, TabsComponent = UiComponents_1.QuillTabs,
|
|
78
|
-
// CheckboxComponent = MemoizedCheckbox,
|
|
79
|
-
SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer, SelectColumnComponent = ui_1.QuillSelectColumn, DraggableColumnComponent = ui_1.QuillDraggableColumn, SidebarHeadingComponent = ui_1.QuillSidebarHeading, FilterPopoverComponent = ui_1.QuillFilterPopover, SortPopoverComponent = ui_1.QuillSortPopover, LimitPopoverComponent = ui_1.QuillLimitPopover, CardComponent = QuillCard_1.QuillCard, LabelComponent = UiComponents_1.MemoizedLabel, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, TextComponent = UiComponents_1.MemoizedText, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, LoadingComponent = UiComponents_1.QuillLoadingComponent, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, ChartBuilderModalComponent = UiComponents_1.MemoizedModal, isAdminEnabled = false, isAIEnabled = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, onClickChartElement, }) {
|
|
81
|
+
function ReportBuilder({ initialTableName = '', onSubmitEditReport = () => void null, onSubmitCreateReport = () => void null, onSubmitSaveQuery = () => void null, onDiscardChanges = undefined, onSaveChanges = undefined, onCloseChartBuilder = undefined, destinationDashboard, chartBuilderTitle = undefined, organizationName = '', ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, ModalComponent = UiComponents_1.MemoizedModal, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelectWithCombo_1.QuillMultiSelectComponentWithCombo, TableComponent = UiComponents_1.QuillTableReportBuilderComponent, PopoverComponent = UiComponents_1.MemoizedPopover, TabsComponent = UiComponents_1.QuillTabs, CheckboxComponent = UiComponents_1.QuillChartBuilderCheckboxComponent, SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer, SelectColumnComponent = ui_1.QuillSelectColumn, DraggableColumnComponent = ui_1.QuillDraggableColumn, SidebarHeadingComponent = ui_1.QuillSidebarHeading, FilterPopoverComponent = ui_1.QuillFilterPopover, SortPopoverComponent = ui_1.QuillSortPopover, LimitPopoverComponent = ui_1.QuillLimitPopover, CardComponent = QuillCard_1.QuillCard, LabelComponent = UiComponents_1.MemoizedLabel, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, TextComponent = UiComponents_1.MemoizedText, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, LoadingComponent = UiComponents_1.QuillLoadingComponent, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, ChartBuilderModalComponent = UiComponents_1.MemoizedModal, isAdminEnabled = false, isAIEnabled = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, onClickChartElement, }) {
|
|
80
82
|
const [dashboard] = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
81
83
|
const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
|
|
82
84
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
@@ -98,6 +100,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
98
100
|
const [orderedColumnNames, setOrderedColumnNames] = (0, react_1.useState)([]);
|
|
99
101
|
const [selectedColumns, setSelectedColumns] = (0, react_1.useState)([]);
|
|
100
102
|
const [selectedOrderedColumns, setSelectedOrderedColumns] = (0, react_1.useState)([]);
|
|
103
|
+
const [isSaveQueryModalOpen, setIsSaveQueryModalOpen] = (0, react_1.useState)(false);
|
|
101
104
|
const [activeQuery, setActiveQuery] = (0, react_1.useState)('');
|
|
102
105
|
const [, setActiveEditItem] = (0, react_1.useState)(null);
|
|
103
106
|
const [openPopover, setOpenPopover] = (0, react_1.useState)(null);
|
|
@@ -139,11 +142,13 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
139
142
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
140
143
|
const [pivotRowField, setPivotRowField] = (0, react_1.useState)(undefined);
|
|
141
144
|
const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(undefined);
|
|
142
|
-
const [pivotAggregations, setPivotAggregations] = (0, react_1.useState)(reportInfo?.pivot?.aggregations ?? [
|
|
145
|
+
const [pivotAggregations, setPivotAggregations] = (0, react_1.useState)(reportInfo?.pivot?.aggregations ?? [
|
|
146
|
+
{
|
|
143
147
|
valueField: reportInfo?.pivot?.valueField,
|
|
144
148
|
valueField2: reportInfo?.pivot?.valueField2,
|
|
145
149
|
aggregationType: reportInfo?.pivot?.aggregationType,
|
|
146
|
-
}
|
|
150
|
+
},
|
|
151
|
+
]);
|
|
147
152
|
const [pivotHint, setPivotHint] = (0, react_1.useState)('');
|
|
148
153
|
/* eslint-disable-next-line */
|
|
149
154
|
const [pivotError, setPivotError] = (0, react_1.useState)(undefined);
|
|
@@ -223,8 +228,10 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
223
228
|
...newPivot,
|
|
224
229
|
aggregations: newPivot.aggregations?.map((agg) => ({
|
|
225
230
|
...agg,
|
|
226
|
-
valueFieldType: searchColumns.find((c) => c.field === agg.valueField)
|
|
227
|
-
|
|
231
|
+
valueFieldType: searchColumns.find((c) => c.field === agg.valueField)
|
|
232
|
+
?.jsType,
|
|
233
|
+
valueField2Type: searchColumns.find((c) => c.field === agg.valueField2)
|
|
234
|
+
?.jsType,
|
|
228
235
|
})),
|
|
229
236
|
valueField: newPivot.aggregations?.[0]?.valueField,
|
|
230
237
|
valueField2: newPivot.aggregations?.[0]?.valueField2,
|
|
@@ -245,7 +252,9 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
245
252
|
// set all percentage aggregations to undefined
|
|
246
253
|
setPivotAggregations(pivotAggregations.map((agg) => ({
|
|
247
254
|
...agg,
|
|
248
|
-
aggregationType: agg.aggregationType === 'percentage'
|
|
255
|
+
aggregationType: agg.aggregationType === 'percentage'
|
|
256
|
+
? undefined
|
|
257
|
+
: agg.aggregationType,
|
|
249
258
|
})));
|
|
250
259
|
}
|
|
251
260
|
// check to see if the new rowField value is a date field
|
|
@@ -264,7 +273,9 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
264
273
|
}
|
|
265
274
|
newPivot = setTypesOnPivot(newPivot, columns);
|
|
266
275
|
setPivot(setTypesOnPivot(newPivot, columns));
|
|
267
|
-
if (newPivot.aggregations?.length === 0 ||
|
|
276
|
+
if (newPivot.aggregations?.length === 0 ||
|
|
277
|
+
newPivot.aggregations?.some((agg) => !agg.aggregationType) ||
|
|
278
|
+
newPivot.aggregations?.some((agg) => !agg.valueField && agg.aggregationType !== 'count')) {
|
|
268
279
|
return;
|
|
269
280
|
}
|
|
270
281
|
const { valid, reason } = (0, pivotProcessing_1.isValidPivot)(newPivot);
|
|
@@ -296,7 +307,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
296
307
|
label: newPivot.columnField,
|
|
297
308
|
format: 'string',
|
|
298
309
|
},
|
|
299
|
-
], activeQuery, [], client, tenants, schemaData.customFields ??
|
|
310
|
+
], activeQuery, [], client, tenants, schemaData.customFields ?? {}, undefined, dashboardName);
|
|
300
311
|
}
|
|
301
312
|
}
|
|
302
313
|
try {
|
|
@@ -565,7 +576,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
565
576
|
const dateColumnNames = dateColumns.map((column) => {
|
|
566
577
|
return column.field;
|
|
567
578
|
});
|
|
568
|
-
const dateRanges = await (0, tableProcessing_1.getQueryDateRangeByColumns)(dateColumns, `Select ${dateColumnNames.join(', ')} from ${tableName}`, client, tenants, schemaData.customFields ??
|
|
579
|
+
const dateRanges = await (0, tableProcessing_1.getQueryDateRangeByColumns)(dateColumns, `Select ${dateColumnNames.join(', ')} from ${tableName}`, client, tenants, schemaData.customFields ?? {}, dashboardName);
|
|
569
580
|
return dateRanges;
|
|
570
581
|
};
|
|
571
582
|
// It's just like getColumnsInPivot but we expand the columnField
|
|
@@ -627,7 +638,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
627
638
|
};
|
|
628
639
|
const onSchemaChange = async () => {
|
|
629
640
|
try {
|
|
630
|
-
setOrderedColumnNames((schemaData.
|
|
641
|
+
setOrderedColumnNames((schemaData.schemaWithCustomFields ?? []).flatMap((table) => table.columns
|
|
631
642
|
.map((c) => `${table.name}.${c.field}`)
|
|
632
643
|
.sort((a, b) => {
|
|
633
644
|
const aIsId = a.endsWith('.id') ||
|
|
@@ -645,7 +656,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
645
656
|
return 0;
|
|
646
657
|
})));
|
|
647
658
|
if (initialTableName) {
|
|
648
|
-
await loadTable(schemaData.
|
|
659
|
+
await loadTable(schemaData.schemaWithCustomFields);
|
|
649
660
|
}
|
|
650
661
|
setInitialLoad(false);
|
|
651
662
|
}
|
|
@@ -664,7 +675,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
664
675
|
if (!report || report.referencedTables?.length !== 1) {
|
|
665
676
|
throw new Error('Report not found');
|
|
666
677
|
}
|
|
667
|
-
const { ast: newAst, pivot: newPivot, schema: curSchema, } = await (0, astProcessing_1.fetchASTFromQuillReport)(report, client, schemaData.
|
|
678
|
+
const { ast: newAst, pivot: newPivot, schema: curSchema, } = await (0, astProcessing_1.fetchASTFromQuillReport)(report, client, schemaData.schemaWithCustomFields);
|
|
668
679
|
setBaseAst({ ...newAst, where: null });
|
|
669
680
|
await fetchReportFromASTHelper({
|
|
670
681
|
baseAst: { ...newAst, where: null },
|
|
@@ -689,7 +700,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
689
700
|
}, [dashboard[reportId || '']]);
|
|
690
701
|
(0, react_1.useEffect)(() => {
|
|
691
702
|
onSchemaChange();
|
|
692
|
-
}, [schemaData.
|
|
703
|
+
}, [schemaData.schemaWithCustomFields, initialTableName, reportId]);
|
|
693
704
|
// Function to handle the insertion of expressions
|
|
694
705
|
const handleInsertion = (value) => {
|
|
695
706
|
const newFilterStack = [...filterStack];
|
|
@@ -750,13 +761,17 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
750
761
|
else if (pivot && pivot.rowField) {
|
|
751
762
|
return [
|
|
752
763
|
{ label: (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(pivot.rowField) },
|
|
753
|
-
...(pivot.aggregations ?? [])
|
|
764
|
+
...(pivot.aggregations ?? [])
|
|
765
|
+
.filter((a) => !!a.valueField)
|
|
766
|
+
.map((agg) => ({
|
|
754
767
|
label: (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(agg.valueField),
|
|
755
768
|
})),
|
|
756
769
|
];
|
|
757
770
|
}
|
|
758
771
|
else {
|
|
759
|
-
return (pivot?.aggregations ?? [])
|
|
772
|
+
return (pivot?.aggregations ?? [])
|
|
773
|
+
.filter((a) => !!a.valueField)
|
|
774
|
+
.map((agg) => ({
|
|
760
775
|
label: (0, textProcessing_1.snakeAndCamelCaseToTitleCase)(agg.valueField),
|
|
761
776
|
}));
|
|
762
777
|
}
|
|
@@ -922,7 +937,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
922
937
|
};
|
|
923
938
|
const fetchRowCountFromAST = async (ast, where) => {
|
|
924
939
|
setRowCountIsLoading(true);
|
|
925
|
-
const tableData = await (0, tableProcessing_1.fetchTableByAST)({ ...ast, where }, client, tenants, { page: REPORT_BUILDER_PAGINATION },
|
|
940
|
+
const tableData = await (0, tableProcessing_1.fetchTableByAST)({ ...ast, where }, client, tenants, { page: REPORT_BUILDER_PAGINATION }, schemaData.customFields, false, true, dashboardName);
|
|
926
941
|
if (tableData.rowCount) {
|
|
927
942
|
setNumberOfRows(tableData.rowCount);
|
|
928
943
|
// @ts-ignore
|
|
@@ -1039,7 +1054,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1039
1054
|
reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)({
|
|
1040
1055
|
baseAst,
|
|
1041
1056
|
formData: curFormData,
|
|
1042
|
-
schema: curSchema ?? schemaData.
|
|
1057
|
+
schema: curSchema ?? schemaData.schemaWithCustomFields,
|
|
1043
1058
|
client,
|
|
1044
1059
|
tenants,
|
|
1045
1060
|
pivot: curPivot ?? pivot,
|
|
@@ -1075,8 +1090,15 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1075
1090
|
setErrorMessage('Failed to fetch');
|
|
1076
1091
|
return;
|
|
1077
1092
|
}
|
|
1093
|
+
const cleanedReport = await (0, dashboard_1.cleanDashboardItem)({
|
|
1094
|
+
item: reportBuilderInfo.report,
|
|
1095
|
+
dashboardFilters: specificDashboardFilters,
|
|
1096
|
+
client,
|
|
1097
|
+
customFields: schemaData.customFields,
|
|
1098
|
+
skipPivotFetch: true,
|
|
1099
|
+
});
|
|
1078
1100
|
setTempReport({
|
|
1079
|
-
...
|
|
1101
|
+
...cleanedReport,
|
|
1080
1102
|
pagination: REPORT_BUILDER_PAGINATION,
|
|
1081
1103
|
});
|
|
1082
1104
|
fetchRowCountFromAST(baseAst, curFormData);
|
|
@@ -1096,7 +1118,9 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1096
1118
|
if (prevTable !== reportBuilderInfo.table) {
|
|
1097
1119
|
setSelectedOrderedColumns([]); // reset selected ordered columns
|
|
1098
1120
|
}
|
|
1099
|
-
setPivot(reportBuilderInfo.pivot
|
|
1121
|
+
setPivot(reportBuilderInfo.pivot
|
|
1122
|
+
? setTypesOnPivot(reportBuilderInfo.pivot, reportBuilderInfo.columns)
|
|
1123
|
+
: null);
|
|
1100
1124
|
if (!keepPivotHint) {
|
|
1101
1125
|
setPivotHint('');
|
|
1102
1126
|
}
|
|
@@ -1109,17 +1133,19 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1109
1133
|
if (reportBuilderInfo.pivot) {
|
|
1110
1134
|
setPivotRowField(reportBuilderInfo.pivot.rowField);
|
|
1111
1135
|
setPivotColumnField(reportBuilderInfo.pivot.columnField);
|
|
1112
|
-
setPivotAggregations(reportBuilderInfo.pivot.aggregations ?? [
|
|
1136
|
+
setPivotAggregations(reportBuilderInfo.pivot.aggregations ?? [
|
|
1137
|
+
{
|
|
1113
1138
|
valueField: reportBuilderInfo.pivot.valueField,
|
|
1114
1139
|
valueField2: reportBuilderInfo.pivot.valueField2,
|
|
1115
1140
|
aggregationType: reportBuilderInfo.pivot.aggregationType,
|
|
1116
|
-
}
|
|
1141
|
+
},
|
|
1142
|
+
]);
|
|
1117
1143
|
}
|
|
1118
1144
|
else {
|
|
1119
1145
|
setLoading(false);
|
|
1120
1146
|
}
|
|
1121
1147
|
setReportInfo(reportBuilderInfo.report);
|
|
1122
|
-
const schema = curSchema ?? schemaData.
|
|
1148
|
+
const schema = curSchema ?? schemaData.schemaWithCustomFields;
|
|
1123
1149
|
const tableInfo = schema.find((tableInfo) => tableInfo.name === reportBuilderInfo?.table);
|
|
1124
1150
|
let query = reportBuilderInfo.query;
|
|
1125
1151
|
if (!query && tableInfo) {
|
|
@@ -1212,7 +1238,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1212
1238
|
setLoading(true);
|
|
1213
1239
|
setAskAILoading(true);
|
|
1214
1240
|
setErrorMessage('');
|
|
1215
|
-
astInfo = await (0, astProcessing_1.fetchAndProcessASTFromPrompt)(prompt, schemaData.
|
|
1241
|
+
astInfo = await (0, astProcessing_1.fetchAndProcessASTFromPrompt)(prompt, schemaData.schemaWithCustomFields, client, pivot ?? undefined, activeQuery, currentTable, dashboardName, tenants);
|
|
1216
1242
|
if (astInfo.error) {
|
|
1217
1243
|
throw new Error(astInfo.error);
|
|
1218
1244
|
}
|
|
@@ -1234,7 +1260,7 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1234
1260
|
}
|
|
1235
1261
|
const _tables = (0, ast_1.getTableNames)(astInfo.ast);
|
|
1236
1262
|
const _table = _tables[0] ? _tables[0] : '';
|
|
1237
|
-
const _columns = schemaData.
|
|
1263
|
+
const _columns = schemaData.schemaWithCustomFields.find((table) => {
|
|
1238
1264
|
return table.name === _table;
|
|
1239
1265
|
})?.columns;
|
|
1240
1266
|
// parse the whereAst first
|
|
@@ -1253,6 +1279,42 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1253
1279
|
curPivot: astInfo.pivot,
|
|
1254
1280
|
});
|
|
1255
1281
|
};
|
|
1282
|
+
const pivotFormData = (pivot) => {
|
|
1283
|
+
const yAxisField = pivot.columnField ?? (0, pivotConstructor_1.disambiguatedValueField)(pivot) ?? '';
|
|
1284
|
+
const yAxisLabel = tempReport?.yAxisFields && tempReport?.yAxisFields?.length > 0
|
|
1285
|
+
? (tempReport.yAxisFields[0]?.label ?? '')
|
|
1286
|
+
: ((0, pivotConstructor_1.disambiguatedValueField)(pivot) ?? '');
|
|
1287
|
+
// date labels for pivots should be treated like strings since they are
|
|
1288
|
+
const yAxisIsDate = pivot.columnField
|
|
1289
|
+
? (0, PivotModal_1.isDateField)(pivot.columnFieldType ?? '')
|
|
1290
|
+
: false;
|
|
1291
|
+
const chartType = tempReport?.chartType ?? (pivot.rowField ? 'column' : 'metric');
|
|
1292
|
+
const result = {
|
|
1293
|
+
pivot,
|
|
1294
|
+
chartType: chartType,
|
|
1295
|
+
xAxisField: pivot.rowField
|
|
1296
|
+
? pivot.rowField
|
|
1297
|
+
: (0, pivotConstructor_1.disambiguatedValueField)(pivot),
|
|
1298
|
+
xAxisFormat: (0, columnProcessing_1.isDateType)(pivot.rowFieldType ?? '')
|
|
1299
|
+
? 'string'
|
|
1300
|
+
: (0, columnProcessing_1.isNumberType)(pivot.rowFieldType ?? '')
|
|
1301
|
+
? 'whole_number'
|
|
1302
|
+
: 'string',
|
|
1303
|
+
xAxisLabel: tempReport?.xAxisLabel || pivot.rowField,
|
|
1304
|
+
yAxisFields: [
|
|
1305
|
+
{
|
|
1306
|
+
field: yAxisField,
|
|
1307
|
+
label: yAxisLabel,
|
|
1308
|
+
format: yAxisIsDate
|
|
1309
|
+
? 'string'
|
|
1310
|
+
: tempReport?.yAxisFields && tempReport?.yAxisFields?.length > 0
|
|
1311
|
+
? (tempReport?.yAxisFields[0]?.format ?? 'whole_number')
|
|
1312
|
+
: (tempReport?.columns.find((col) => col.field === (0, pivotConstructor_1.disambiguatedValueField)(pivot))?.format ?? 'whole_number'),
|
|
1313
|
+
},
|
|
1314
|
+
],
|
|
1315
|
+
};
|
|
1316
|
+
return result;
|
|
1317
|
+
};
|
|
1256
1318
|
const makePivotValid = (pivot, uniqueValuesForPivot, reportTable, reportColumns) => {
|
|
1257
1319
|
if (!pivot) {
|
|
1258
1320
|
return { pivot: null, hint: '' };
|
|
@@ -1365,7 +1427,8 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1365
1427
|
setOrderedColumnNames(newOrder);
|
|
1366
1428
|
const orderedSelectedColumns = [];
|
|
1367
1429
|
for (const value of newOrder) {
|
|
1368
|
-
const
|
|
1430
|
+
const [, ...rest] = value.split('.'); // table.field
|
|
1431
|
+
const column = rest.join('.');
|
|
1369
1432
|
if (selectedColumns.includes(value)) {
|
|
1370
1433
|
orderedSelectedColumns.push(column);
|
|
1371
1434
|
}
|
|
@@ -1485,7 +1548,8 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1485
1548
|
}
|
|
1486
1549
|
if (!openPopover) {
|
|
1487
1550
|
const value = orderedColumnNames[0];
|
|
1488
|
-
const
|
|
1551
|
+
const [, ...rest] = value.split('.'); // table.field
|
|
1552
|
+
const column = rest.join('.');
|
|
1489
1553
|
const columnType = getColumnTypeByName(column);
|
|
1490
1554
|
if ((0, ast_1.isNumericColumnType)(columnType)) {
|
|
1491
1555
|
const newSubtree = (0, util_1.deepCopy)(constants_1.defaultNumericComparison);
|
|
@@ -1511,8 +1575,8 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1511
1575
|
setActiveEditItem(null);
|
|
1512
1576
|
}, 300);
|
|
1513
1577
|
}
|
|
1514
|
-
}, popoverTitle: "Add filter", popoverChildren: (0, jsx_runtime_1.jsx)(FilterModal_1.default, { schema: schemaData.
|
|
1515
|
-
s.displayName === currentTable) ?? schemaData.
|
|
1578
|
+
}, popoverTitle: "Add filter", popoverChildren: (0, jsx_runtime_1.jsx)(FilterModal_1.default, { schema: schemaData.schemaWithCustomFields.find((s) => s.name === currentTable ||
|
|
1579
|
+
s.displayName === currentTable) ?? schemaData.schemaWithCustomFields[0], fieldValuesMap: fieldValuesMap, fieldValuesMapIsLoading: uniqueValuesIsLoading, onSubmitFilter: (filter) => {
|
|
1516
1580
|
setOpenPopover(null);
|
|
1517
1581
|
handleInsertion(filter);
|
|
1518
1582
|
}, onDeleteFilter: () => { }, ButtonComponent: ButtonComponent, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, MultiSelectComponent: MultiSelectComponent }) }) })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: { width: '100%' }, children: [(0, jsx_runtime_1.jsx)(SidebarHeadingComponent, { label: "Pivot" }), (0, jsx_runtime_1.jsx)(PivotModal_1.PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotAggregations: pivotAggregations, setPivotAggregations: setPivotAggregations, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: initialTableName, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, TextComponent: TextComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEditingPivot, setShowUpdatePivot: setIsEditingPivot, parentRef: parentRef, data: rows, columns: columns, triggerButtonText: 'Add pivot', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: () => {
|
|
@@ -1562,6 +1626,10 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1562
1626
|
}
|
|
1563
1627
|
resetProcessing();
|
|
1564
1628
|
setPivotData(pivotTable || []);
|
|
1629
|
+
setTempReport({
|
|
1630
|
+
...tempReport,
|
|
1631
|
+
...pivotFormData(processedPivot),
|
|
1632
|
+
});
|
|
1565
1633
|
const formattedRows = formatRows(pivotTable.rows, columns, true, selectedPivot.aggregationType, dateBucket);
|
|
1566
1634
|
setFormattedRows(formattedRows);
|
|
1567
1635
|
setErrorMessage('');
|
|
@@ -1643,7 +1711,8 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1643
1711
|
if (column === '')
|
|
1644
1712
|
return;
|
|
1645
1713
|
if (pivot) {
|
|
1646
|
-
const sortFieldType = pivot.aggregations?.some((agg) => column === agg.valueField || column === 'count')
|
|
1714
|
+
const sortFieldType = pivot.aggregations?.some((agg) => column === agg.valueField || column === 'count')
|
|
1715
|
+
? 'number'
|
|
1647
1716
|
: pivot.rowFieldType;
|
|
1648
1717
|
const tempPivot = setTypesOnPivot({
|
|
1649
1718
|
...pivot,
|
|
@@ -1787,8 +1856,80 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1787
1856
|
alignItems: 'center',
|
|
1788
1857
|
}, children: [(0, jsx_runtime_1.jsx)(ErrorMessageComponent, { errorMessage: errorMessage || pivotError || '' }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => {
|
|
1789
1858
|
fetchAstFromPromptHelper();
|
|
1790
|
-
}, label: 'Retry' }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: clearAllState, label: 'Reset' })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' } })), baseAst && dataDisplayed && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [onDiscardChanges && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), !hideCopySQL && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { label: isCopying ? 'Copied' : 'Copy SQL', onClick: () => copySQLToClipboard() })), (0, jsx_runtime_1.jsx)(
|
|
1859
|
+
}, label: 'Retry' }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: clearAllState, label: 'Reset' })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' } })), baseAst && dataDisplayed && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [onDiscardChanges && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), !hideCopySQL && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { label: isCopying ? 'Copied' : 'Copy SQL', onClick: () => copySQLToClipboard() })), !isAdminEnabled ? null : ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: async () => {
|
|
1860
|
+
const tempReportColumns = selectedOrderedColumns.length > 0
|
|
1861
|
+
? selectedOrderedColumns
|
|
1862
|
+
.map((columnName) => {
|
|
1863
|
+
return columns.find((col) => col.field === columnName);
|
|
1864
|
+
})
|
|
1865
|
+
.filter((col) => col !== undefined)
|
|
1866
|
+
.map((c) => reportInfo?.columns.find((col) => col.field === c.field))
|
|
1867
|
+
.filter((col) => col !== undefined)
|
|
1868
|
+
: (reportInfo?.columns.filter((col) => {
|
|
1869
|
+
return columns.find((c) => {
|
|
1870
|
+
return col.field === c.field;
|
|
1871
|
+
});
|
|
1872
|
+
}) ?? []);
|
|
1873
|
+
setTempReport({
|
|
1874
|
+
...(reportInfo
|
|
1875
|
+
? {
|
|
1876
|
+
...reportInfo,
|
|
1877
|
+
...tempReport,
|
|
1878
|
+
id: Report_1.TEMP_REPORT_ID,
|
|
1879
|
+
dashboardName: 'quill-saved-queries',
|
|
1880
|
+
chartType: 'table',
|
|
1881
|
+
pivot: pivot,
|
|
1882
|
+
yAxisFields: reportInfo?.pivot && !pivot
|
|
1883
|
+
? []
|
|
1884
|
+
: reportInfo?.yAxisFields,
|
|
1885
|
+
columns: isSelectedAllColumns()
|
|
1886
|
+
? // if SELECT *, filter out custom fields from tabular view
|
|
1887
|
+
// so Automatic Custom Fields can be applied
|
|
1888
|
+
tempReportColumns.filter((col) => {
|
|
1889
|
+
return !schemaData.customFields?.[currentTable]?.some((field) => {
|
|
1890
|
+
return field.field === col.field;
|
|
1891
|
+
});
|
|
1892
|
+
})
|
|
1893
|
+
: tempReportColumns,
|
|
1894
|
+
queryString: isSelectedAllColumns()
|
|
1895
|
+
? (0, convert_1.convertQueryToSelectStar)(activeQuery)
|
|
1896
|
+
: activeQuery,
|
|
1897
|
+
includeCustomFields: isSelectedAllColumns(),
|
|
1898
|
+
rows: rows,
|
|
1899
|
+
pivotRows: pivotData?.rows,
|
|
1900
|
+
pivotColumns: pivotData?.columns,
|
|
1901
|
+
pivotRowCount: pivotData?.rowCount,
|
|
1902
|
+
pivotQuery: pivotData?.pivotQuery,
|
|
1903
|
+
comparisonPivotQuery: pivotData?.comparisonPivotQuery,
|
|
1904
|
+
flags: reportInfo?.flags ?? tempReport?.flags,
|
|
1905
|
+
}
|
|
1906
|
+
: {
|
|
1907
|
+
...tempReport,
|
|
1908
|
+
chartType: 'table',
|
|
1909
|
+
id: Report_1.TEMP_REPORT_ID,
|
|
1910
|
+
flags: tempReport?.flags,
|
|
1911
|
+
}),
|
|
1912
|
+
});
|
|
1913
|
+
setIsSaveQueryModalOpen(true);
|
|
1914
|
+
}, disabled: !!errorMessage ||
|
|
1915
|
+
!!pivotError ||
|
|
1916
|
+
tableLoading ||
|
|
1917
|
+
loading ||
|
|
1918
|
+
unresolvedReportMessage, label: 'Save query', tooltipText: unresolvedReportMessage })), (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: async () => {
|
|
1791
1919
|
onSaveChanges && onSaveChanges();
|
|
1920
|
+
const tempReportColumns = selectedOrderedColumns.length > 0
|
|
1921
|
+
? selectedOrderedColumns
|
|
1922
|
+
.map((columnName) => {
|
|
1923
|
+
return columns.find((col) => col.field === columnName);
|
|
1924
|
+
})
|
|
1925
|
+
.filter((col) => col !== undefined)
|
|
1926
|
+
.map((c) => reportInfo?.columns.find((col) => col.field === c.field))
|
|
1927
|
+
.filter((col) => col !== undefined)
|
|
1928
|
+
: (reportInfo?.columns.filter((col) => {
|
|
1929
|
+
return columns.find((c) => {
|
|
1930
|
+
return col.field === c.field;
|
|
1931
|
+
});
|
|
1932
|
+
}) ?? []);
|
|
1792
1933
|
setTempReport({
|
|
1793
1934
|
...(reportInfo
|
|
1794
1935
|
? {
|
|
@@ -1800,20 +1941,19 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1800
1941
|
yAxisFields: reportInfo?.pivot && !pivot
|
|
1801
1942
|
? []
|
|
1802
1943
|
: reportInfo?.yAxisFields,
|
|
1803
|
-
columns:
|
|
1804
|
-
?
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
:
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
queryString: activeQuery,
|
|
1944
|
+
columns: isSelectedAllColumns()
|
|
1945
|
+
? // if SELECT *, filter out custom fields from tabular view
|
|
1946
|
+
// so Automatic Custom Fields can be applied
|
|
1947
|
+
tempReportColumns.filter((col) => {
|
|
1948
|
+
return !schemaData.customFields?.[currentTable]?.some((field) => {
|
|
1949
|
+
return field.field === col.field;
|
|
1950
|
+
});
|
|
1951
|
+
})
|
|
1952
|
+
: tempReportColumns,
|
|
1953
|
+
queryString: isSelectedAllColumns()
|
|
1954
|
+
? (0, convert_1.convertQueryToSelectStar)(activeQuery)
|
|
1955
|
+
: activeQuery,
|
|
1956
|
+
includeCustomFields: isSelectedAllColumns(),
|
|
1817
1957
|
rows: rows,
|
|
1818
1958
|
pivotRows: pivotData?.rows,
|
|
1819
1959
|
pivotColumns: pivotData?.columns,
|
|
@@ -1837,7 +1977,9 @@ SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer,
|
|
|
1837
1977
|
? chartBuilderTitle
|
|
1838
1978
|
: reportId
|
|
1839
1979
|
? 'Save changes'
|
|
1840
|
-
: 'Add to dashboard', isHorizontalView: true, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: reportId ? onSubmitEditReport : onSubmitCreateReport, organizationName: organizationName, initialUniqueValues: uniqueValues[currentTable], initialUniqueValuesIsLoading: uniqueValuesIsLoading, pivotRecommendationsEnabled: pivotRecommendationsEnabledState, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, CardComponent: CardComponent, ModalComponent: ChartBuilderModalComponent, PopoverComponent: PopoverComponent, TableComponent: TableComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, hideDeleteButton: true, buttonLabel: !!reportId ? 'Save changes' : 'Add to dashboard', onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => {
|
|
1980
|
+
: 'Add to dashboard', isHorizontalView: true, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: reportId ? onSubmitEditReport : onSubmitCreateReport, organizationName: organizationName, initialUniqueValues: uniqueValues[currentTable], initialUniqueValuesIsLoading: uniqueValuesIsLoading, pivotRecommendationsEnabled: pivotRecommendationsEnabledState, SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, CardComponent: CardComponent, ModalComponent: ChartBuilderModalComponent, PopoverComponent: PopoverComponent, TableComponent: TableComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, CheckboxComponent: CheckboxComponent, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, hideDeleteButton: true, buttonLabel: !!reportId ? 'Save changes' : 'Add to dashboard', onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => {
|
|
1841
1981
|
setFiltersEnabled(enabled);
|
|
1842
|
-
}, isEditingMode: true }))
|
|
1982
|
+
}, isEditingMode: true })), isSaveQueryModalOpen && ((0, jsx_runtime_1.jsx)(ChartBuilder_1.ChartBuilderWithModal, { isHorizontalView: false, hideTableView: true, hideChartView: true, hidePivotForm: true, hideChartType: true, isOpen: isSaveQueryModalOpen, setIsOpen: setIsSaveQueryModalOpen, onAddToDashboardComplete: onSubmitSaveQuery, destinationDashboard: 'quill-saved-queries', isAdmin: false, title: 'Save query', buttonLabel: 'Save query', tempReport: tempReport, reportId: reportId, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, CheckboxComponent: CheckboxComponent, hideDateRangeFilter: true, hideDeleteButton: true, hideDiscardChanges: true, hideSQLQuery: false, onClickChartElement: onClickChartElement,
|
|
1983
|
+
// hide filters table, make it a table chart etc
|
|
1984
|
+
filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled), isEditingMode: true }))] }));
|
|
1843
1985
|
}
|
package/dist/cjs/SQLEditor.d.ts
CHANGED
|
@@ -97,6 +97,12 @@ export interface SQLEditorProps {
|
|
|
97
97
|
popoverTitle?: string;
|
|
98
98
|
popoverChildren: ReactNode;
|
|
99
99
|
}) => JSX.Element;
|
|
100
|
+
/** A checkbox component. */
|
|
101
|
+
CheckboxComponent?: (props: {
|
|
102
|
+
isChecked: boolean;
|
|
103
|
+
label: string;
|
|
104
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
105
|
+
}) => JSX.Element;
|
|
100
106
|
/** A label component. */
|
|
101
107
|
LabelComponent?: (props: {
|
|
102
108
|
label: string;
|
|
@@ -175,6 +181,7 @@ export interface SQLEditorProps {
|
|
|
175
181
|
* A callback that is fired when a report has been added to a dashboard.
|
|
176
182
|
*/
|
|
177
183
|
onAddToDashboardComplete?: (report: QuillReport) => void;
|
|
184
|
+
onSaveQueryComplete?: (report: QuillReport) => void;
|
|
178
185
|
/** A callback function triggered when a chart element is clicked */
|
|
179
186
|
onClickChartElement?: (event: any) => void;
|
|
180
187
|
/**
|
|
@@ -275,7 +282,7 @@ export interface SQLEditorProps {
|
|
|
275
282
|
* ### SQLEditor API
|
|
276
283
|
* @see https://docs.quillsql.com/components/sql-editor
|
|
277
284
|
*/
|
|
278
|
-
export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, DeleteButtonComponent, TextInputComponent, SelectComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, PopoverComponent, CardComponent, LabelComponent, HeaderComponent, SubHeaderComponent, TextComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ChartBuilderFormContainer, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled, isAdminEnabled, chartBuilderTitle, runQueryOnMount, onAddToDashboardComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
285
|
+
export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, DeleteButtonComponent, TextInputComponent, SelectComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, PopoverComponent, CardComponent, LabelComponent, HeaderComponent, SubHeaderComponent, TextComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ChartBuilderFormContainer, CheckboxComponent, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled, isAdminEnabled, chartBuilderTitle, runQueryOnMount, onAddToDashboardComplete, onSaveQueryComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
279
286
|
export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, style, }: {
|
|
280
287
|
schema: any;
|
|
281
288
|
theme: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAMZ,SAAS,EAGV,MAAM,OAAO,CAAC;AAWf,OAAO,
|
|
1
|
+
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
|