@quillsql/react 2.12.51 → 2.12.53
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.js +1 -1
- package/dist/cjs/ChartBuilder.d.ts +7 -3
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +55 -19
- package/dist/cjs/ChartEditor.d.ts +3 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +42 -7
- package/dist/cjs/Context.d.ts +4 -5
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +22 -34
- package/dist/cjs/Dashboard.d.ts +4 -3
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +66 -39
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +8 -10
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/cjs/QuillProvider.js +1 -1
- package/dist/cjs/ReportBuilder.d.ts +8 -12
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +157 -83
- package/dist/cjs/SQLEditor.d.ts +8 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +80 -28
- package/dist/cjs/Table.js +1 -1
- package/dist/cjs/assets/AdjustmentsIcon.d.ts +5 -0
- package/dist/cjs/assets/AdjustmentsIcon.d.ts.map +1 -0
- package/dist/cjs/assets/AdjustmentsIcon.js +5 -0
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/index.d.ts +0 -1
- package/dist/cjs/assets/index.d.ts.map +1 -1
- package/dist/cjs/assets/index.js +1 -3
- package/dist/cjs/components/Chart/ChartError.js +2 -2
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +8 -5
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +24 -20
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +2 -2
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +5 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +23 -4
- package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +2 -2
- package/dist/cjs/components/Dashboard/util.d.ts +2 -2
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +2 -2
- package/dist/cjs/components/QuillMultiSelect.d.ts +1 -1
- package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelect.js +20 -14
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +69 -46
- package/dist/cjs/components/QuillSelect.d.ts +1 -1
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +31 -8
- package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +50 -28
- package/dist/cjs/components/QuillTable.d.ts +2 -1
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +7 -4
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +2 -2
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -2
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +17 -4
- package/dist/cjs/components/ReportBuilder/convert.d.ts +1 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts +13 -7
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +14 -11
- package/dist/cjs/components/UiComponents.d.ts +15 -6
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +29 -23
- package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -2
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.d.ts +10 -2
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +85 -53
- package/dist/cjs/hooks/useExport.js +1 -1
- package/dist/cjs/hooks/useOnClickOutside.js +1 -1
- package/dist/cjs/hooks/useQuill.js +2 -2
- package/dist/cjs/hooks/useVirtualTables.d.ts +12 -3
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +105 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +9 -9
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -15
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +9 -9
- package/dist/cjs/models/Client.d.ts +10 -2
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.d.ts +3 -3
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +2 -7
- package/dist/cjs/utils/dashboard.d.ts +5 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +106 -6
- package/dist/cjs/utils/dataFetcher.d.ts +4 -4
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +2 -8
- package/dist/cjs/utils/paginationProcessing.js +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts +2 -2
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +1 -1
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +6 -2
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +12 -9
- package/dist/cjs/utils/report.d.ts +6 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +69 -24
- package/dist/cjs/utils/schema.d.ts +3 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +39 -35
- package/dist/cjs/utils/tableProcessing.d.ts +17 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +42 -23
- package/dist/esm/Chart.js +2 -2
- package/dist/esm/ChartBuilder.d.ts +7 -3
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +52 -19
- package/dist/esm/ChartEditor.d.ts +3 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +43 -8
- package/dist/esm/Context.d.ts +4 -5
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +23 -35
- package/dist/esm/Dashboard.d.ts +4 -3
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +67 -40
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +8 -10
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/esm/QuillProvider.js +1 -1
- package/dist/esm/ReportBuilder.d.ts +8 -12
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +160 -86
- package/dist/esm/SQLEditor.d.ts +8 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +83 -31
- package/dist/esm/Table.js +2 -2
- package/dist/esm/assets/AdjustmentsIcon.d.ts +5 -0
- package/dist/esm/assets/AdjustmentsIcon.d.ts.map +1 -0
- package/dist/esm/assets/AdjustmentsIcon.js +3 -0
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/index.d.ts +0 -1
- package/dist/esm/assets/index.d.ts.map +1 -1
- package/dist/esm/assets/index.js +0 -1
- package/dist/esm/components/Chart/ChartError.js +2 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +8 -5
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +24 -20
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +2 -2
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts +5 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +25 -6
- package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +2 -2
- package/dist/esm/components/Dashboard/util.d.ts +2 -2
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +2 -2
- package/dist/esm/components/QuillMultiSelect.d.ts +1 -1
- package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelect.js +21 -15
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +70 -47
- package/dist/esm/components/QuillSelect.d.ts +1 -1
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +32 -9
- package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +51 -29
- package/dist/esm/components/QuillTable.d.ts +2 -1
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +7 -4
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -2
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +2 -2
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +17 -4
- package/dist/esm/components/ReportBuilder/convert.d.ts +1 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts +13 -7
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +14 -11
- package/dist/esm/components/UiComponents.d.ts +15 -6
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +29 -23
- package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -2
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.d.ts +10 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +86 -54
- package/dist/esm/hooks/useExport.js +1 -1
- package/dist/esm/hooks/useOnClickOutside.js +1 -1
- package/dist/esm/hooks/useQuill.js +3 -3
- package/dist/esm/hooks/useVirtualTables.d.ts +12 -3
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +106 -2
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -9
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +21 -15
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +9 -9
- package/dist/esm/models/Client.d.ts +10 -2
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.d.ts +3 -3
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +2 -7
- package/dist/esm/utils/dashboard.d.ts +5 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +104 -5
- package/dist/esm/utils/dataFetcher.d.ts +4 -4
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +1 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +2 -8
- package/dist/esm/utils/paginationProcessing.js +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts +2 -2
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +1 -1
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +6 -2
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +12 -9
- package/dist/esm/utils/report.d.ts +6 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +68 -24
- package/dist/esm/utils/schema.d.ts +3 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +39 -35
- package/dist/esm/utils/tableProcessing.d.ts +17 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +39 -20
- package/package.json +1 -1
- package/dist/cjs/assets/LoadingSpinner.d.ts +0 -5
- package/dist/cjs/assets/LoadingSpinner.d.ts.map +0 -1
- package/dist/cjs/assets/LoadingSpinner.js +0 -5
- package/dist/esm/assets/LoadingSpinner.d.ts +0 -5
- package/dist/esm/assets/LoadingSpinner.d.ts.map +0 -1
- package/dist/esm/assets/LoadingSpinner.js +0 -3
package/dist/cjs/SQLEditor.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export interface SQLEditorProps {
|
|
|
14
14
|
disabled?: boolean;
|
|
15
15
|
icon?: ReactNode;
|
|
16
16
|
tooltipText?: string;
|
|
17
|
+
loading?: boolean;
|
|
17
18
|
}) => JSX.Element;
|
|
18
19
|
/**
|
|
19
20
|
* A secondary button component.
|
|
@@ -56,12 +57,16 @@ export interface SQLEditorProps {
|
|
|
56
57
|
}[];
|
|
57
58
|
isLoading?: boolean;
|
|
58
59
|
rowCount?: number;
|
|
60
|
+
rowsPerPage?: number;
|
|
61
|
+
rowCountIsLoading?: boolean;
|
|
59
62
|
onPageChange?: (page: number) => void;
|
|
60
63
|
onSortChange?: (sort: {
|
|
61
64
|
field: string;
|
|
62
65
|
direction: string;
|
|
63
66
|
}) => void;
|
|
64
67
|
containerStyle?: React.CSSProperties;
|
|
68
|
+
currentPage?: number;
|
|
69
|
+
setCurrentPage?: (page: number) => void;
|
|
65
70
|
}) => JSX.Element;
|
|
66
71
|
/**
|
|
67
72
|
* A component to show while the query results are loading.
|
|
@@ -164,6 +169,8 @@ export interface SQLEditorProps {
|
|
|
164
169
|
onDiscardChanges?: () => void;
|
|
165
170
|
/** A callback function triggered when changes are saved. */
|
|
166
171
|
onSaveChanges?: () => void;
|
|
172
|
+
/** A callback function triggered when the chart builder is closed. */
|
|
173
|
+
onCloseChartBuilder?: () => void;
|
|
167
174
|
/**
|
|
168
175
|
* A callback that is fired when a report has been added to a dashboard.
|
|
169
176
|
*/
|
|
@@ -268,7 +275,7 @@ export interface SQLEditorProps {
|
|
|
268
275
|
* ### SQLEditor API
|
|
269
276
|
* @see https://docs.quillsql.com/components/sql-editor
|
|
270
277
|
*/
|
|
271
|
-
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, isChartBuilderEnabled, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, isAdminEnabled, chartBuilderTitle, runQueryOnMount, onAddToDashboardComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
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, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, isAdminEnabled, chartBuilderTitle, runQueryOnMount, onAddToDashboardComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
272
279
|
export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, style, }: {
|
|
273
280
|
schema: any;
|
|
274
281
|
theme: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAMZ,SAAS,EAEV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
|
package/dist/cjs/SQLEditor.js
CHANGED
|
@@ -22,6 +22,7 @@ const queryConstructor_1 = require("./utils/queryConstructor");
|
|
|
22
22
|
const monacoConfig_1 = require("./utils/monacoConfig");
|
|
23
23
|
const paginationProcessing_1 = require("./utils/paginationProcessing");
|
|
24
24
|
const report_1 = require("./utils/report");
|
|
25
|
+
const dashboard_1 = require("./utils/dashboard");
|
|
25
26
|
function defineEditorTheme(monaco, theme) {
|
|
26
27
|
monaco.editor.defineTheme('onedark', {
|
|
27
28
|
base: theme.darkMode ? 'vs-dark' : 'vs',
|
|
@@ -87,7 +88,7 @@ function setEditorTheme(_editor, monaco, schema, databaseType, clientName) {
|
|
|
87
88
|
* ### SQLEditor API
|
|
88
89
|
* @see https://docs.quillsql.com/components/sql-editor
|
|
89
90
|
*/
|
|
90
|
-
function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, TableComponent = UiComponents_1.QuillTableSQLEditorComponent, isNewQueryEnabled = false, LoadingComponent = UiComponents_1.QuillLoadingComponent, ModalComponent = UiComponents_1.MemoizedModal, PopoverComponent = UiComponents_1.MemoizedPopover, 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, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, isChartBuilderEnabled = false, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, isAdminEnabled = false, chartBuilderTitle, runQueryOnMount = false, onAddToDashboardComplete, addToDashboardButtonLabel = 'Add to dashboard', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, onClickChartElement, }) {
|
|
91
|
+
function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, TableComponent = UiComponents_1.QuillTableSQLEditorComponent, isNewQueryEnabled = false, LoadingComponent = UiComponents_1.QuillLoadingComponent, ModalComponent = UiComponents_1.MemoizedModal, PopoverComponent = UiComponents_1.MemoizedPopover, 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, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled = false, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, isAdminEnabled = false, chartBuilderTitle, runQueryOnMount = false, onAddToDashboardComplete, addToDashboardButtonLabel = 'Add to dashboard', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, onClickChartElement, }) {
|
|
91
92
|
const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
|
|
92
93
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
93
94
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
@@ -95,9 +96,11 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
95
96
|
const [rows, setRows] = (0, react_1.useState)([]);
|
|
96
97
|
const [columns, setColumns] = (0, react_1.useState)([]);
|
|
97
98
|
const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
|
|
99
|
+
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
98
100
|
const [errorMessage, setErrorMessage] = (0, react_1.useState)('');
|
|
99
101
|
const [sqlResponseLoading, setSqlResponseLoading] = (0, react_1.useState)(false);
|
|
100
102
|
const [sqlQueryLoading, setSqlQueryLoading] = (0, react_1.useState)(false);
|
|
103
|
+
const [isAddLoading, setIsAddLoading] = (0, react_1.useState)(false);
|
|
101
104
|
const [isChartBuilderOpen, setIsChartBuilderOpen] = (0, react_1.useState)(false);
|
|
102
105
|
const [displayTable, setDisplayTable] = (0, react_1.useState)(false);
|
|
103
106
|
const formRef = (0, react_1.useRef)(null);
|
|
@@ -106,6 +109,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
106
109
|
const [filterBarWidth, setFilterBarWidth] = (0, react_1.useState)(200);
|
|
107
110
|
const [formattedRows, setFormattedRows] = (0, react_1.useState)([]);
|
|
108
111
|
const [rowCount, setRowCount] = (0, react_1.useState)(undefined);
|
|
112
|
+
const [rowCountIsLoading, setRowCountIsLoading] = (0, react_1.useState)(false);
|
|
109
113
|
const [maxPage, setMaxPage] = (0, react_1.useState)(1);
|
|
110
114
|
const [tableSearchQuery, setTableSearchQuery] = (0, react_1.useState)('');
|
|
111
115
|
const [lastSuccessfulQuery, setLastSuccessfulQuery] = (0, react_1.useState)('');
|
|
@@ -113,9 +117,21 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
113
117
|
...report_1.EMPTY_INTERNAL_REPORT,
|
|
114
118
|
...report,
|
|
115
119
|
});
|
|
120
|
+
const DEFAULT_ROWS_PER_PAGE = 10;
|
|
121
|
+
const ROW_HEIGHT = 37;
|
|
122
|
+
const TABLE_TAB_HEIGHT = 75;
|
|
123
|
+
const dynamicHeight = window.innerHeight * 0.8 - 310;
|
|
124
|
+
const rowsPerPage = Math.max(DEFAULT_ROWS_PER_PAGE, Math.floor((dynamicHeight - TABLE_TAB_HEIGHT) / ROW_HEIGHT));
|
|
125
|
+
const calculatedHeight = TABLE_TAB_HEIGHT + rowsPerPage * ROW_HEIGHT; // height needs to be 75 + rows * rowheight <= window.innerHeight * 0.8 - 330
|
|
126
|
+
const pagination = {
|
|
127
|
+
page: 0,
|
|
128
|
+
rowsPerPage,
|
|
129
|
+
rowsPerRequest: rowsPerPage * 2,
|
|
130
|
+
};
|
|
116
131
|
const [currentProcessing, setCurrentProcessing] = (0, react_1.useState)({
|
|
117
|
-
page:
|
|
132
|
+
page: pagination,
|
|
118
133
|
});
|
|
134
|
+
const [currentPage, setCurrentPage] = (0, react_1.useState)(0);
|
|
119
135
|
const displayedTableData = (0, react_1.useMemo)(() => {
|
|
120
136
|
return (schemaData?.schema?.filter((table) => {
|
|
121
137
|
return (table.name
|
|
@@ -146,6 +162,11 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
146
162
|
setDisplayTable(false);
|
|
147
163
|
}
|
|
148
164
|
}, [client?.publicKey]);
|
|
165
|
+
(0, react_1.useEffect)(() => {
|
|
166
|
+
if (isChartBuilderOpen === false) {
|
|
167
|
+
onCloseChartBuilder && onCloseChartBuilder();
|
|
168
|
+
}
|
|
169
|
+
}, [isChartBuilderOpen]);
|
|
149
170
|
const handleRunSqlPrompt = async () => {
|
|
150
171
|
if (!client) {
|
|
151
172
|
return;
|
|
@@ -161,8 +182,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
161
182
|
setQuery('');
|
|
162
183
|
};
|
|
163
184
|
const onPageChange = (page) => {
|
|
164
|
-
if (currentProcessing.page &&
|
|
165
|
-
(0, paginationProcessing_1.shouldFetchMore)(paginationProcessing_1.DEFAULT_PAGINATION, page, maxPage)) {
|
|
185
|
+
if (currentProcessing.page && (0, paginationProcessing_1.shouldFetchMore)(pagination, page, maxPage)) {
|
|
166
186
|
const newPagination = { ...currentProcessing.page, page };
|
|
167
187
|
const updatedProcessing = { ...currentProcessing, page: newPagination };
|
|
168
188
|
setCurrentProcessing(updatedProcessing);
|
|
@@ -173,15 +193,29 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
173
193
|
}
|
|
174
194
|
};
|
|
175
195
|
const onSortChange = (sort) => {
|
|
176
|
-
if (tempReport && (0, paginationProcessing_1.shouldSortInMemory)(
|
|
196
|
+
if (tempReport && (0, paginationProcessing_1.shouldSortInMemory)(pagination, rowCount, false)) {
|
|
177
197
|
return;
|
|
178
198
|
}
|
|
179
|
-
const updatedProcessing = { page:
|
|
199
|
+
const updatedProcessing = { page: pagination, sort };
|
|
180
200
|
handleRunQuery(updatedProcessing, true);
|
|
181
201
|
setCurrentProcessing(updatedProcessing);
|
|
182
202
|
setMaxPage(0);
|
|
183
203
|
};
|
|
184
|
-
const
|
|
204
|
+
const onFilterPreviewChange = (preview) => {
|
|
205
|
+
handleRunQuery(currentProcessing, true, preview);
|
|
206
|
+
};
|
|
207
|
+
const fetchRowCount = async (processing, includeFilters) => {
|
|
208
|
+
if (!client || !query) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
setRowCountIsLoading(true);
|
|
212
|
+
const tableInfo = await (0, tableProcessing_1.fetchResultsByQuery)(query, client, processing, schemaData.customFields, includeFilters ? dashboardFilters : undefined, includeFilters ? tempReport.dateField ?? report?.dateField : undefined, false, true);
|
|
213
|
+
if (tableInfo.rowCount) {
|
|
214
|
+
setRowCount(tableInfo.rowCount);
|
|
215
|
+
}
|
|
216
|
+
setRowCountIsLoading(false);
|
|
217
|
+
};
|
|
218
|
+
const handleRunQuery = async (processing, resetRows = false, includeFilters = false, resetPage = false) => {
|
|
185
219
|
if (!client) {
|
|
186
220
|
return;
|
|
187
221
|
}
|
|
@@ -192,16 +226,21 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
192
226
|
setDisplayTable(true);
|
|
193
227
|
setSqlQueryLoading(true);
|
|
194
228
|
setErrorMessage('');
|
|
195
|
-
|
|
229
|
+
if (resetPage && processing.page) {
|
|
230
|
+
processing.page.page = 0;
|
|
231
|
+
setCurrentPage(0);
|
|
232
|
+
setMaxPage(1);
|
|
233
|
+
}
|
|
234
|
+
const tableInfo = await (0, tableProcessing_1.fetchResultsByQuery)(query, client, processing, schemaData.customFields, includeFilters
|
|
235
|
+
? dashboardFilters.filter((f) => f && destinationDashboard === f.dashboardName)
|
|
236
|
+
: undefined, includeFilters ? tempReport.dateField ?? report?.dateField : undefined, true);
|
|
196
237
|
if (!!tableInfo.error) {
|
|
197
238
|
throw new Error(tableInfo.error);
|
|
198
239
|
}
|
|
199
240
|
else if (tableInfo.rows.length === 0) {
|
|
200
241
|
throw new Error('No data found');
|
|
201
242
|
}
|
|
202
|
-
|
|
203
|
-
setRowCount(tableInfo.rowCount);
|
|
204
|
-
}
|
|
243
|
+
fetchRowCount(processing, includeFilters);
|
|
205
244
|
setSqlQueryLoading(false);
|
|
206
245
|
setCurrentProcessing(processing);
|
|
207
246
|
let tempRows = [...rows, ...tableInfo.rows];
|
|
@@ -223,7 +262,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
223
262
|
const formData = report
|
|
224
263
|
? report
|
|
225
264
|
: (0, ChartBuilder_1.createInitialFormData)(tableInfo.columns);
|
|
226
|
-
|
|
265
|
+
const newReport = {
|
|
227
266
|
...tempReport,
|
|
228
267
|
...formData,
|
|
229
268
|
itemQuery: tableInfo.itemQuery,
|
|
@@ -231,7 +270,9 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
231
270
|
filtersApplied: tempReport.filtersApplied ?? [],
|
|
232
271
|
rows: tempRows,
|
|
233
272
|
columns: tableInfo.columns,
|
|
234
|
-
}
|
|
273
|
+
};
|
|
274
|
+
const cleaned = await (0, dashboard_1.cleanDashboardItem)(newReport, newReport.filtersApplied, client);
|
|
275
|
+
setTempReport(cleaned);
|
|
235
276
|
setLastSuccessfulQuery(query);
|
|
236
277
|
}
|
|
237
278
|
catch (e) {
|
|
@@ -315,7 +356,9 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
315
356
|
}, children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
316
357
|
display: 'flex',
|
|
317
358
|
flexDirection: 'column',
|
|
318
|
-
overflow: '
|
|
359
|
+
overflow: addToDashboardButtonLabel === 'Add to dashboard'
|
|
360
|
+
? 'visible'
|
|
361
|
+
: 'auto',
|
|
319
362
|
height: '100%',
|
|
320
363
|
}, children: (0, jsx_runtime_1.jsxs)(UiComponents_1.OverflowContainer, { children: [(0, jsx_runtime_1.jsxs)("form", { ref: formRef, onSubmit: (e) => {
|
|
321
364
|
e.preventDefault();
|
|
@@ -327,9 +370,9 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
327
370
|
paddingTop: 16,
|
|
328
371
|
paddingBottom: 16,
|
|
329
372
|
}, children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { id: "ai-search", value: sqlPrompt, width: searchBarWidth, onChange: (e) => setSqlPrompt(e.target.value), placeholder: "Ask a question..." }), (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: handleRunSqlPrompt, label: "Ask AI" })] }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
330
|
-
minHeight: 210,
|
|
331
|
-
maxHeight: '
|
|
332
|
-
height:
|
|
373
|
+
minHeight: Math.max(210, window.innerHeight * 0.2),
|
|
374
|
+
maxHeight: '30%',
|
|
375
|
+
height: window.innerHeight * 0.2,
|
|
333
376
|
}, children: (0, jsx_runtime_1.jsx)(SQLEditorComponent, { query: query || '', schema: schemaData.schema, databaseType: client?.databaseType ?? 'postgresql', clientName: client?.publicKey || '', setQuery: setQuery, handleRunQuery: () => {
|
|
334
377
|
handleRunQuery(currentProcessing, true);
|
|
335
378
|
}, handleFixWithAI: handleFixWithAI, isNewQueryEnabled: isNewQueryEnabled, runQueryOnMount: runQueryOnMount, handleClearQuery: handleClearQuery, theme: theme, defineEditorTheme: defineEditorTheme, setEditorTheme: setEditorTheme, setEditorMounted: () => { }, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, loading: sqlResponseLoading && schemaData.isSchemaLoading, LoadingComponent: LoadingComponent }) }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
@@ -346,16 +389,19 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
346
389
|
height: 70,
|
|
347
390
|
}, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 12 }, children: [addToDashboardButtonLabel ===
|
|
348
391
|
'Add to dashboard' ? ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => {
|
|
349
|
-
handleRunQuery(currentProcessing, true);
|
|
392
|
+
handleRunQuery(currentProcessing, true, false, true);
|
|
350
393
|
}, label: "Run query" })) : ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
|
|
351
|
-
handleRunQuery(currentProcessing, true);
|
|
394
|
+
handleRunQuery(currentProcessing, true, false, true);
|
|
352
395
|
}, label: "Run query" })), isNewQueryEnabled && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleClearQuery, label: "Clear query" })), addToDashboardButtonLabel ===
|
|
353
|
-
'Add to dashboard' && ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
|
|
396
|
+
'Add to dashboard' && ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: async () => {
|
|
397
|
+
setIsAddLoading(true);
|
|
398
|
+
await handleRunQuery(currentProcessing, true, true);
|
|
399
|
+
setIsAddLoading(false);
|
|
354
400
|
onSaveChanges && onSaveChanges();
|
|
355
401
|
setIsChartBuilderOpen(true);
|
|
356
402
|
}, label: addToDashboardButtonLabel, disabled: !!errorMessage ||
|
|
357
403
|
!(rows.length > 0 &&
|
|
358
|
-
lastSuccessfulQuery === query), tooltipText: !!errorMessage ||
|
|
404
|
+
lastSuccessfulQuery === query), loading: isAddLoading, tooltipText: !!errorMessage ||
|
|
359
405
|
!(rows.length > 0 &&
|
|
360
406
|
lastSuccessfulQuery === query)
|
|
361
407
|
? 'Please run a query'
|
|
@@ -387,10 +433,10 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
387
433
|
width: '100%',
|
|
388
434
|
alignItems: 'center',
|
|
389
435
|
}, children: [errorMessage, errorMessage !== 'No data found' &&
|
|
390
|
-
errorMessage !== 'No query found' && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" }))] }) })), errorMessage || !displayTable ? null : ((0, jsx_runtime_1.jsx)(TableComponent, { isLoading: sqlQueryLoading, rows: formattedRows, columns: columns, rowCount: rowCount, onPageChange: onPageChange, onSortChange: onSortChange, containerStyle: {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
} }))] })] }) }), isChartBuilderEnabled && ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
436
|
+
errorMessage !== 'No query found' && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" }))] }) })), errorMessage || !displayTable ? null : ((0, jsx_runtime_1.jsx)(TableComponent, { isLoading: sqlQueryLoading && !isAddLoading, rows: formattedRows, columns: columns, rowCount: rowCount, rowsPerPage: rowsPerPage, rowCountIsLoading: rowCountIsLoading, onPageChange: onPageChange, onSortChange: onSortChange, containerStyle: {
|
|
437
|
+
height: calculatedHeight,
|
|
438
|
+
maxHeight: calculatedHeight,
|
|
439
|
+
}, currentPage: currentPage, setCurrentPage: setCurrentPage }))] })] }) }), isChartBuilderEnabled && ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
394
440
|
display: 'flex',
|
|
395
441
|
flexDirection: 'row',
|
|
396
442
|
alignItems: 'center',
|
|
@@ -399,16 +445,22 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
|
|
|
399
445
|
gap: 12,
|
|
400
446
|
marginTop: 15,
|
|
401
447
|
marginBottom: 5,
|
|
402
|
-
}, children: [onDiscardChanges && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), addToDashboardButtonLabel !== 'Add to dashboard' && ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
|
|
448
|
+
}, children: [onDiscardChanges && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDiscardChanges, label: "Discard changes" })), addToDashboardButtonLabel !== 'Add to dashboard' && ((0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: async () => {
|
|
449
|
+
setIsAddLoading(true);
|
|
450
|
+
await handleRunQuery(currentProcessing, true, true);
|
|
451
|
+
setIsAddLoading(false);
|
|
403
452
|
onSaveChanges && onSaveChanges();
|
|
404
453
|
setIsChartBuilderOpen(true);
|
|
405
454
|
}, label: addToDashboardButtonLabel, disabled: !!errorMessage ||
|
|
406
|
-
!(rows.length > 0 && lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && ((0, jsx_runtime_1.jsx)(ChartBuilder_1.ChartBuilderWithModal, { rows: rows, columns: columns, query: query, isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, isAdmin: isAdminEnabled, destinationDashboard: destinationDashboard, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, report:
|
|
455
|
+
!(rows.length > 0 && lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && ((0, jsx_runtime_1.jsx)(ChartBuilder_1.ChartBuilderWithModal, { rows: rows, columns: columns, query: query, isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, isAdmin: isAdminEnabled, destinationDashboard: destinationDashboard, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, report: {
|
|
456
|
+
...tempReport,
|
|
457
|
+
filtersApplied: dashboardFilters,
|
|
458
|
+
}, pivot: tempReport?.pivot ?? undefined, pivotData: tempReport?.pivotRows && tempReport?.pivotColumns
|
|
407
459
|
? {
|
|
408
460
|
rows: tempReport.pivotRows,
|
|
409
461
|
columns: tempReport.pivotColumns,
|
|
410
462
|
}
|
|
411
|
-
: undefined, 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, hideDateRangeFilter: true, onClickChartElement: onClickChartElement, rowCount: rowCount, onPageChange: onPageChange, onSortChange: onSortChange, isLoading: sqlQueryLoading, isEditingMode: true }))] }));
|
|
463
|
+
: undefined, 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, hideDateRangeFilter: true, onClickChartElement: onClickChartElement, rowCount: rowCount, onPageChange: onPageChange, onSortChange: onSortChange, onFilterPreviewChange: onFilterPreviewChange, isLoading: sqlQueryLoading, isEditingMode: true }))] }));
|
|
412
464
|
}
|
|
413
465
|
exports.default = SQLEditor;
|
|
414
466
|
const SQLEditorComponent = ({ query, schema, databaseType, clientName, setQuery, setEditorMounted, handleRunQuery, defineEditorTheme, setEditorTheme, runQueryOnMount = false, theme, loading, LoadingComponent = UiComponents_1.QuillLoadingComponent, }) => {
|
package/dist/cjs/Table.js
CHANGED
|
@@ -103,7 +103,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, c
|
|
|
103
103
|
setLoading(true);
|
|
104
104
|
try {
|
|
105
105
|
const updatedProcessing = { ...currentProcessing, ...processing };
|
|
106
|
-
const paginatedRows = await (0, tableProcessing_1.
|
|
106
|
+
const paginatedRows = await (0, tableProcessing_1.fetchResultsByReport)(reportId, client, updatedProcessing, tableFilters, schemaData.customFields);
|
|
107
107
|
if (paginatedRows.error) {
|
|
108
108
|
throw new Error('Error fetching chart');
|
|
109
109
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdjustmentsIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/AdjustmentsIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,eAAe;;6CAepB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
const AdjustmentsIcon = ({ ...props }) => ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", ...props, children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75" }) }));
|
|
5
|
+
exports.default = AdjustmentsIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB;;6CActB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -12,7 +12,6 @@ export { default as ArrowUpRightIcon } from './ArrowUpRightIcon';
|
|
|
12
12
|
export { default as CalendarIcon } from './CalendarIcon';
|
|
13
13
|
export { default as CalendarNormalIcon } from './CalendarNormalIcon';
|
|
14
14
|
export { default as ExclamationFilledIcon } from './ExclamationFilledIcon';
|
|
15
|
-
export { default as LoadingSpinner } from './LoadingSpinner';
|
|
16
15
|
export { default as SearchIcon } from './SearchIcon';
|
|
17
16
|
export { default as XCircleIcon } from './XCircleIcon';
|
|
18
17
|
export { default as RefreshIcon } from './RefreshIcon';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/assets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/cjs/assets/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.XIcon = exports.UpLeftArrowsIcon = exports.FilterIcon = exports.RefreshIcon = exports.XCircleIcon = exports.SearchIcon = exports.
|
|
6
|
+
exports.XIcon = exports.UpLeftArrowsIcon = exports.FilterIcon = exports.RefreshIcon = exports.XCircleIcon = exports.SearchIcon = exports.ExclamationFilledIcon = exports.CalendarNormalIcon = exports.CalendarIcon = exports.ArrowUpRightIcon = exports.ArrowUpIcon = exports.ArrowUpHeadIcon = exports.DoubleArrowRightHeadIcon = exports.DoubleArrowLeftHeadIcon = exports.ArrowLeftHeadIcon = exports.ArrowRightHeadIcon = exports.ArrowRightIcon = exports.ArrowDownIcon = exports.ArrowDownRightIcon = exports.ArrowDownHeadIcon = void 0;
|
|
7
7
|
var ArrowDownHeadIcon_1 = require("./ArrowDownHeadIcon");
|
|
8
8
|
Object.defineProperty(exports, "ArrowDownHeadIcon", { enumerable: true, get: function () { return __importDefault(ArrowDownHeadIcon_1).default; } });
|
|
9
9
|
var ArrowDownRightIcon_1 = require("./ArrowDownRightIcon");
|
|
@@ -32,8 +32,6 @@ var CalendarNormalIcon_1 = require("./CalendarNormalIcon");
|
|
|
32
32
|
Object.defineProperty(exports, "CalendarNormalIcon", { enumerable: true, get: function () { return __importDefault(CalendarNormalIcon_1).default; } });
|
|
33
33
|
var ExclamationFilledIcon_1 = require("./ExclamationFilledIcon");
|
|
34
34
|
Object.defineProperty(exports, "ExclamationFilledIcon", { enumerable: true, get: function () { return __importDefault(ExclamationFilledIcon_1).default; } });
|
|
35
|
-
var LoadingSpinner_1 = require("./LoadingSpinner");
|
|
36
|
-
Object.defineProperty(exports, "LoadingSpinner", { enumerable: true, get: function () { return __importDefault(LoadingSpinner_1).default; } });
|
|
37
35
|
var SearchIcon_1 = require("./SearchIcon");
|
|
38
36
|
Object.defineProperty(exports, "SearchIcon", { enumerable: true, get: function () { return __importDefault(SearchIcon_1).default; } });
|
|
39
37
|
var XCircleIcon_1 = require("./XCircleIcon");
|
|
@@ -15,7 +15,7 @@ function ChartError({ errorMessage = 'Failed to fetch data.', containerStyle, })
|
|
|
15
15
|
}, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
16
16
|
height: containerStyle?.height || '100%',
|
|
17
17
|
width: '100%',
|
|
18
|
-
boxSizing: '
|
|
18
|
+
boxSizing: 'border-box',
|
|
19
19
|
borderRadius: 8,
|
|
20
20
|
border: '1px solid rgb(229, 229, 229)',
|
|
21
21
|
overflow: 'hidden',
|
|
@@ -41,7 +41,7 @@ function QuillChartErrorWithAction({ className, containerStyle, label = 'Failed
|
|
|
41
41
|
}, className: className, children: (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
42
42
|
height: containerStyle?.height || '100%',
|
|
43
43
|
width: '100%',
|
|
44
|
-
boxSizing: '
|
|
44
|
+
boxSizing: 'border-box',
|
|
45
45
|
borderRadius: 8,
|
|
46
46
|
border: '1px solid rgb(229, 229, 229)',
|
|
47
47
|
overflow: 'hidden',
|
|
@@ -2,24 +2,26 @@ import React from 'react';
|
|
|
2
2
|
import { type DateRangePickerComponentProps } from '../../DateRangePicker/QuillDateRangePicker';
|
|
3
3
|
import { QuillTheme } from '../../QuillProvider';
|
|
4
4
|
import { DashboardFilter as Filters } from '../../models/Filter';
|
|
5
|
-
type SelectComponentType = ({ label, value, options, onChange, width, }: {
|
|
6
|
-
value: string;
|
|
5
|
+
type SelectComponentType = ({ label, value, options, onChange, width, isLoading, }: {
|
|
6
|
+
value: string | null | undefined;
|
|
7
7
|
label?: string | undefined;
|
|
8
8
|
width: number;
|
|
9
9
|
options: {
|
|
10
10
|
value: string;
|
|
11
11
|
label: string;
|
|
12
12
|
}[];
|
|
13
|
+
isLoading?: boolean;
|
|
13
14
|
onChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
14
15
|
}) => JSX.Element;
|
|
15
|
-
type MultiSelectComponentType = ({ label, value, options, onChange, width, }: {
|
|
16
|
-
value: string[];
|
|
16
|
+
type MultiSelectComponentType = ({ label, value, options, onChange, width, isLoading, }: {
|
|
17
|
+
value: (string | null)[];
|
|
17
18
|
label?: string | undefined;
|
|
18
19
|
width: number;
|
|
19
20
|
options: {
|
|
20
21
|
value: string;
|
|
21
22
|
label: string;
|
|
22
23
|
}[];
|
|
24
|
+
isLoading?: boolean;
|
|
23
25
|
onChange: (event: React.ChangeEvent<HTMLSelectElement> | {
|
|
24
26
|
target: {
|
|
25
27
|
value: string[];
|
|
@@ -34,7 +36,8 @@ interface DashboardFilterProps {
|
|
|
34
36
|
MultiSelectComponent: MultiSelectComponentType | React.MemoExoticComponent<MultiSelectComponentType>;
|
|
35
37
|
DateRangePickerComponent: DateRangePickerComponentType | React.MemoExoticComponent<DateRangePickerComponentType>;
|
|
36
38
|
theme: QuillTheme;
|
|
39
|
+
isLoading?: boolean;
|
|
37
40
|
}
|
|
38
|
-
export declare function DashboardFilter({ filter, onChangeFilter, SelectComponent, MultiSelectComponent, DateRangePickerComponent, theme, }: DashboardFilterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
41
|
+
export declare function DashboardFilter({ filter, onChangeFilter, SelectComponent, MultiSelectComponent, DateRangePickerComponent, theme, isLoading, }: DashboardFilterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
39
42
|
export {};
|
|
40
43
|
//# sourceMappingURL=DashboardFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,mBAAmB,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,
|
|
1
|
+
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,mBAAmB,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CACjE,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,wBAAwB,GAAG,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CACR,KAAK,EACD,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GACpC;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,KAChC,IAAI,CAAC;CACX,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,4BAA4B,GAAG,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,EACN,WAAW,GACZ,EAAE,6BAA6B,KAAK,GAAG,CAAC,OAAO,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACzC,eAAe,EACX,mBAAmB,GACnB,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACnD,oBAAoB,EAChB,wBAAwB,GACxB,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACxD,wBAAwB,EACpB,4BAA4B,GAC5B,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,eAAsC,EACtC,oBAAgD,EAChD,wBAA+C,EAC/C,KAAK,EACL,SAAS,GACV,EAAE,oBAAoB,kDAgJtB"}
|
|
@@ -7,22 +7,22 @@ const dateRangePickerUtils_1 = require("../../DateRangePicker/dateRangePickerUti
|
|
|
7
7
|
const QuillDateRangePicker_1 = require("../../DateRangePicker/QuillDateRangePicker");
|
|
8
8
|
const QuillMultiSelect_1 = require("../QuillMultiSelect");
|
|
9
9
|
const QuillSelect_1 = require("../QuillSelect");
|
|
10
|
-
function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelect_1.QuillMultiSelectComponent, DateRangePickerComponent = QuillDateRangePicker_1.QuillDateRangePicker, theme, }) {
|
|
11
|
-
const [filterValue, setFilterValue] = (0, react_1.useState)(
|
|
10
|
+
function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelect_1.QuillMultiSelectComponent, DateRangePickerComponent = QuillDateRangePicker_1.QuillDateRangePicker, theme, isLoading, }) {
|
|
11
|
+
const [filterValue, setFilterValue] = (0, react_1.useState)(undefined);
|
|
12
12
|
(0, react_1.useEffect)(() => {
|
|
13
13
|
if (filter.filterType === 'string') {
|
|
14
14
|
if (filter.stringFilterType === 'multiselect') {
|
|
15
|
-
setFilterValue(filter.values
|
|
15
|
+
setFilterValue(filter.values);
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
|
-
setFilterValue(filter.selectedValue
|
|
18
|
+
setFilterValue(filter.selectedValue);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
}, [filter]);
|
|
22
|
+
if ((!filter.options || filter.options.length === 0) && !isLoading) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
22
25
|
if (filter.filterType === 'string') {
|
|
23
|
-
if (!filter.options || filter.options.length === 0) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
26
|
if (filter.stringFilterType === 'multiselect') {
|
|
27
27
|
return ((0, jsx_runtime_1.jsx)(MultiSelectComponent, { label: filter.label, value: filterValue ? filterValue : [], onChange: (e) => {
|
|
28
28
|
if (e.target.value === '') {
|
|
@@ -37,27 +37,31 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect
|
|
|
37
37
|
setFilterValue(jsonValue);
|
|
38
38
|
onChangeFilter(filter, jsonValue);
|
|
39
39
|
}, options: [
|
|
40
|
-
...filter.options
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
...(filter.options
|
|
41
|
+
? filter.options.map((elem) => ({
|
|
42
|
+
label: elem[filter.labelField],
|
|
43
|
+
value: elem[filter.field],
|
|
44
|
+
}))
|
|
45
|
+
: []),
|
|
46
|
+
], width: 200, isLoading: isLoading }));
|
|
45
47
|
}
|
|
46
|
-
return ((0, jsx_runtime_1.jsx)(SelectComponent, { label: filter.label, value: filterValue
|
|
48
|
+
return ((0, jsx_runtime_1.jsx)(SelectComponent, { label: filter.label, value: filterValue, onChange: (e) => {
|
|
47
49
|
onChangeFilter(filter, e.target.value);
|
|
48
50
|
}, options: [
|
|
49
|
-
...filter.options
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
...(filter.options
|
|
52
|
+
? filter.options.map((elem) => ({
|
|
53
|
+
label: elem[filter.labelField],
|
|
54
|
+
value: elem[filter.field],
|
|
55
|
+
}))
|
|
56
|
+
: []),
|
|
57
|
+
], width: 200, isLoading: isLoading }));
|
|
54
58
|
}
|
|
55
59
|
if (filter.filterType === 'date_range') {
|
|
56
60
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
57
61
|
display: 'flex',
|
|
58
62
|
flexDirection: 'row',
|
|
59
63
|
alignItems: 'flex-end',
|
|
60
|
-
}, children: [(0, jsx_runtime_1.jsx)(DateRangePickerComponent, { label: filter.label, dateRange: { startDate: filter.startDate, endDate: filter.endDate }, preset: filter.preset.
|
|
64
|
+
}, children: [(0, jsx_runtime_1.jsx)(DateRangePickerComponent, { label: filter.label, dateRange: { startDate: filter.startDate, endDate: filter.endDate }, preset: filter.preset.value, onChangeDateRange: (value) => {
|
|
61
65
|
onChangeFilter(filter, {
|
|
62
66
|
startDate: value.startDate,
|
|
63
67
|
endDate: value.endDate,
|
|
@@ -65,7 +69,7 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent = QuillSelect
|
|
|
65
69
|
}, onChangePreset: (e) => {
|
|
66
70
|
onChangeFilter(filter, { preset: e.target.value });
|
|
67
71
|
}, presetOptions: filter.options.map((option) => {
|
|
68
|
-
return { label: option.label, value: option.
|
|
72
|
+
return { label: option.label, value: option.value };
|
|
69
73
|
}), selectWidth: 200 }), filter.comparison && ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
70
74
|
display: 'flex',
|
|
71
75
|
flexDirection: 'row',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QuillProviderClient } from '../../models/Client';
|
|
2
2
|
export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }: {
|
|
3
3
|
name: string;
|
|
4
4
|
originDashboard: string;
|
|
5
|
-
client:
|
|
5
|
+
client: QuillProviderClient;
|
|
6
6
|
appliedFilters: any;
|
|
7
7
|
ModalComponent: any;
|
|
8
8
|
TemplateChartComponent: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,IAAI,EACJ,eAAe,EACf,MAAM,EACN,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,sBAAsB,EAAE,GAAG,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC;CACtB,kDAyGA"}
|
|
@@ -10,6 +10,8 @@ export type DataLoaderChildProps = {
|
|
|
10
10
|
direction: string;
|
|
11
11
|
}) => void;
|
|
12
12
|
data: QuillReport;
|
|
13
|
+
rowCount?: number;
|
|
14
|
+
rowCountIsLoading?: boolean;
|
|
13
15
|
};
|
|
14
16
|
export default function DataLoader({ item, children, filters, }: {
|
|
15
17
|
item: any;
|
|
@@ -31,6 +33,8 @@ export type ChartDataLoaderChildProps = {
|
|
|
31
33
|
error?: string;
|
|
32
34
|
data: QuillReport;
|
|
33
35
|
dateBucket?: string;
|
|
36
|
+
rowCount?: number;
|
|
37
|
+
rowCountIsLoading?: boolean;
|
|
34
38
|
};
|
|
35
39
|
export declare const ChartDataLoader: ({ item, children, dateBucket, additionalProcessing, filters, }: {
|
|
36
40
|
item: any;
|
|
@@ -38,7 +42,7 @@ export declare const ChartDataLoader: ({ item, children, dateBucket, additionalP
|
|
|
38
42
|
mapColorsToFields?: ((_report: QuillReport, _theme: QuillTheme) => ColorMapType) | undefined;
|
|
39
43
|
additionalProcessing?: any;
|
|
40
44
|
filters: any[] | null;
|
|
41
|
-
children: ({ isLoading, error, data, dateBucket, }: ChartDataLoaderChildProps) => JSX.Element;
|
|
45
|
+
children: ({ isLoading, error, data, dateBucket, rowCount, rowCountIsLoading, }: ChartDataLoaderChildProps) => JSX.Element;
|
|
42
46
|
}) => JSX.Element;
|
|
43
47
|
export {};
|
|
44
48
|
//# sourceMappingURL=DataLoader.d.ts.map
|