@quillsql/react 2.11.16 → 2.11.18
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 +109 -42
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +44 -18
- package/dist/cjs/ChartBuilder.d.ts +204 -30
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +124 -63
- package/dist/cjs/ChartEditor.d.ts +123 -19
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +47 -15
- package/dist/cjs/Dashboard.d.ts +148 -91
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +51 -159
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +21 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +5 -2
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/cjs/QuillProvider.d.ts +105 -2
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +59 -0
- package/dist/cjs/ReportBuilder.d.ts +194 -42
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +563 -416
- package/dist/cjs/SQLEditor.d.ts +160 -23
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +36 -30
- package/dist/cjs/Table.d.ts +119 -15
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +37 -6
- package/dist/cjs/TableChart.d.ts.map +1 -1
- package/dist/cjs/TableChart.js +0 -194
- package/dist/cjs/{BarList.d.ts → components/Chart/BarList.d.ts} +1 -1
- package/dist/cjs/components/Chart/BarList.d.ts.map +1 -0
- package/dist/cjs/{BarList.js → components/Chart/BarList.js} +1 -1
- package/dist/cjs/components/Chart/LineChart.d.ts +2 -3
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +3 -3
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -0
- package/dist/cjs/{PieChart.js → components/Chart/PieChart.js} +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts +2 -1
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +6 -7
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +22 -0
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/DashboardFilter.js +75 -0
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts +2 -12
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +39 -17
- 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 +6 -9
- package/dist/cjs/components/QuillCard.d.ts +2 -7
- package/dist/cjs/components/QuillCard.d.ts.map +1 -1
- package/dist/cjs/components/QuillCard.js +15 -9
- package/dist/cjs/components/QuillSelect.d.ts +4 -1
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +13 -8
- package/dist/cjs/components/QuillTable.d.ts +16 -2
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +4 -4
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts +9 -3
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +10 -6
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +13 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +5 -15
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +21 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +15 -17
- package/dist/cjs/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts +3 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +60 -21
- package/dist/cjs/components/ReportBuilder/operators.d.ts +15 -10
- package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/operators.js +23 -10
- package/dist/cjs/components/ReportBuilder/pivot.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts +82 -18
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +55 -103
- package/dist/cjs/components/ReportBuilder/util.d.ts +10 -4
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +124 -71
- package/dist/cjs/components/UiComponents.d.ts +81 -87
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +76 -103
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +3 -1
- package/dist/cjs/hooks/useTheme.d.ts +7 -0
- package/dist/cjs/hooks/useTheme.d.ts.map +1 -0
- package/dist/cjs/hooks/useTheme.js +12 -0
- package/dist/cjs/index.d.ts +10 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +5 -2
- package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -21
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +30 -14
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +77 -52
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +2 -0
- package/dist/cjs/utils/parserBigQuery.d.ts +6 -0
- package/dist/cjs/utils/parserBigQuery.d.ts.map +1 -0
- package/dist/cjs/utils/parserBigQuery.js +60 -0
- package/dist/cjs/utils/parserPostgres.d.ts +3 -0
- package/dist/cjs/utils/parserPostgres.d.ts.map +1 -0
- package/dist/cjs/utils/parserPostgres.js +42 -0
- package/dist/esm/Chart.d.ts +109 -42
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +45 -19
- package/dist/esm/ChartBuilder.d.ts +204 -30
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +124 -63
- package/dist/esm/ChartEditor.d.ts +123 -19
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +51 -19
- package/dist/esm/Dashboard.d.ts +148 -91
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +54 -160
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +21 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +6 -3
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
- package/dist/esm/QuillProvider.d.ts +105 -2
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +59 -0
- package/dist/esm/ReportBuilder.d.ts +194 -42
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +566 -419
- package/dist/esm/SQLEditor.d.ts +160 -23
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +36 -30
- package/dist/esm/Table.d.ts +119 -15
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +38 -7
- package/dist/esm/TableChart.d.ts.map +1 -1
- package/dist/esm/TableChart.js +0 -194
- package/dist/esm/{BarList.d.ts → components/Chart/BarList.d.ts} +1 -1
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -0
- package/dist/esm/{BarList.js → components/Chart/BarList.js} +1 -1
- package/dist/esm/components/Chart/LineChart.d.ts +2 -3
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +3 -3
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -0
- package/dist/esm/{PieChart.js → components/Chart/PieChart.js} +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +2 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +5 -6
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +22 -0
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardFilter.js +71 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts +1 -1
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.d.ts +2 -12
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +39 -17
- 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 +6 -9
- package/dist/esm/components/QuillCard.d.ts +2 -7
- package/dist/esm/components/QuillCard.d.ts.map +1 -1
- package/dist/esm/components/QuillCard.js +15 -9
- package/dist/esm/components/QuillSelect.d.ts +4 -1
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +14 -9
- package/dist/esm/components/QuillTable.d.ts +16 -2
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +4 -4
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts +9 -3
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnPopover.js +10 -6
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +13 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +5 -15
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +21 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +17 -19
- package/dist/esm/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts +3 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +51 -13
- package/dist/esm/components/ReportBuilder/operators.d.ts +15 -10
- package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/operators.js +23 -10
- package/dist/esm/components/ReportBuilder/pivot.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts +82 -18
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +53 -101
- package/dist/esm/components/ReportBuilder/util.d.ts +10 -4
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +114 -67
- package/dist/esm/components/UiComponents.d.ts +81 -87
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +71 -102
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/useTheme.d.ts +7 -0
- package/dist/esm/hooks/useTheme.d.ts.map +1 -0
- package/dist/esm/hooks/useTheme.js +10 -0
- package/dist/esm/index.d.ts +10 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts +5 -2
- package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +21 -21
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +30 -14
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +77 -52
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +2 -0
- package/dist/esm/utils/parserBigQuery.d.ts +6 -0
- package/dist/esm/utils/parserBigQuery.d.ts.map +1 -0
- package/dist/esm/utils/parserBigQuery.js +52 -0
- package/dist/esm/utils/parserPostgres.d.ts +3 -0
- package/dist/esm/utils/parserPostgres.d.ts.map +1 -0
- package/dist/esm/utils/parserPostgres.js +37 -0
- package/package.json +1 -1
- package/dist/cjs/BarList.d.ts.map +0 -1
- package/dist/cjs/PieChart.d.ts.map +0 -1
- package/dist/esm/BarList.d.ts.map +0 -1
- package/dist/esm/PieChart.d.ts.map +0 -1
- /package/dist/cjs/{PieChart.d.ts → components/Chart/PieChart.d.ts} +0 -0
- /package/dist/esm/{PieChart.d.ts → components/Chart/PieChart.d.ts} +0 -0
package/dist/cjs/SQLEditor.d.ts
CHANGED
|
@@ -1,44 +1,182 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { DashboardItem } from './Dashboard';
|
|
3
3
|
export declare function convertPostgresColumn(column: any): {
|
|
4
4
|
label: any;
|
|
5
5
|
field: any;
|
|
6
6
|
format: string;
|
|
7
7
|
fieldType: string;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Props for the Quill SQLEditor component.
|
|
11
|
+
*/
|
|
12
|
+
export interface SQLEditorProps {
|
|
13
|
+
/**
|
|
14
|
+
* A primary button component.
|
|
15
|
+
*/
|
|
16
|
+
ButtonComponent?: (props: {
|
|
17
|
+
onClick: () => void;
|
|
18
|
+
label: string;
|
|
19
|
+
}) => JSX.Element;
|
|
20
|
+
/**
|
|
21
|
+
* A secondary button component.
|
|
22
|
+
*/
|
|
23
|
+
SecondaryButtonComponent?: (props: {
|
|
24
|
+
onClick: () => void;
|
|
25
|
+
label: string;
|
|
26
|
+
}) => JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* A input element for getting text from the user.
|
|
29
|
+
*/
|
|
30
|
+
TextInputComponent?: (props: {
|
|
31
|
+
id: string;
|
|
32
|
+
width: number;
|
|
33
|
+
value: string;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
36
|
+
}) => JSX.Element;
|
|
37
|
+
/**
|
|
38
|
+
* A table component to show the results of the SQL query.
|
|
39
|
+
*/
|
|
40
|
+
TableComponent?: (props: {
|
|
41
|
+
rows: {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}[];
|
|
44
|
+
columns: {
|
|
45
|
+
field: string;
|
|
46
|
+
label: string;
|
|
47
|
+
}[];
|
|
48
|
+
isLoading?: boolean;
|
|
49
|
+
}) => JSX.Element;
|
|
50
|
+
/**
|
|
51
|
+
* A component to show while the query results are loading.
|
|
52
|
+
*/
|
|
19
53
|
LoadingComponent?: () => JSX.Element;
|
|
20
|
-
|
|
54
|
+
/** A card component used as a dismissable container of pivot information. */
|
|
55
|
+
CardComponent?: (props: {
|
|
56
|
+
children: ReactNode;
|
|
57
|
+
onClick?: () => void;
|
|
58
|
+
onDelete?: () => void;
|
|
59
|
+
}) => JSX.Element;
|
|
60
|
+
/**
|
|
61
|
+
* A modal component to use to open the add to dashboard dialog.
|
|
62
|
+
*/
|
|
63
|
+
ModalComponent?: (props: {
|
|
64
|
+
isOpen: boolean;
|
|
65
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
66
|
+
title?: string;
|
|
67
|
+
children: ReactNode;
|
|
68
|
+
width?: number;
|
|
69
|
+
height?: number;
|
|
70
|
+
}) => JSX.Element;
|
|
71
|
+
/**
|
|
72
|
+
* A callback that is fired when the query changes.
|
|
73
|
+
*/
|
|
21
74
|
onChangeQuery?: (query: string) => void;
|
|
75
|
+
/**
|
|
76
|
+
* A callback that is fired when the data changes.
|
|
77
|
+
*/
|
|
22
78
|
onChangeData?: (data: object[]) => void;
|
|
23
|
-
|
|
79
|
+
/**
|
|
80
|
+
* A callback that is fired when the data fields change.
|
|
81
|
+
*/
|
|
24
82
|
onChangeFields?: (fields: object[]) => void;
|
|
25
|
-
|
|
26
|
-
|
|
83
|
+
/**
|
|
84
|
+
* A callback that is fired when the data columns change.
|
|
85
|
+
*/
|
|
86
|
+
onChangeColumns?: (columns: object[]) => void;
|
|
87
|
+
/**
|
|
88
|
+
* A callback that is fired when a dashboard item has been added to a dashboard.
|
|
89
|
+
*/
|
|
90
|
+
onAddToDashboardComplete?: () => void;
|
|
91
|
+
/**
|
|
92
|
+
* Whether the chart builder is in horizontal view mode.
|
|
93
|
+
*
|
|
94
|
+
* Horizontal view mode is where the chart and table are displayed on the left
|
|
95
|
+
* and the editing form is displayed on the right, rather than being stacked
|
|
96
|
+
* vertically.
|
|
97
|
+
*/
|
|
98
|
+
isChartBuilderHorizontalView?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* A callback that is fired when the data columns change.
|
|
101
|
+
*/
|
|
102
|
+
isChartBuilderEnabled?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Whether the "new query" button is enabled.
|
|
105
|
+
*/
|
|
106
|
+
isNewQueryEnabled?: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Whether to show table format options.
|
|
109
|
+
*/
|
|
27
110
|
showTableFormatOptions?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Whether to show date field options.
|
|
113
|
+
*/
|
|
28
114
|
showDateFieldOptions?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Whether to show access control options.
|
|
117
|
+
*/
|
|
29
118
|
showAccessControlOptions?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* A dashboard item.
|
|
121
|
+
*/
|
|
122
|
+
dashboardItem?: DashboardItem | any;
|
|
123
|
+
/**
|
|
124
|
+
* The default query to use as a placeholder.
|
|
125
|
+
*/
|
|
126
|
+
defaultQuery?: string;
|
|
127
|
+
/**
|
|
128
|
+
* The default dashboard to dashboard items to.
|
|
129
|
+
*/
|
|
30
130
|
destinationDashboard?: string;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
131
|
+
/**
|
|
132
|
+
* The title of the ChartBuilder dialog.
|
|
133
|
+
*/
|
|
34
134
|
chartBuilderTitle?: string;
|
|
135
|
+
/**
|
|
136
|
+
* The label of the button to open the ChartBuilder dialog.
|
|
137
|
+
*/
|
|
35
138
|
chartBuilderButtonLabel?: string;
|
|
139
|
+
/**
|
|
140
|
+
* The label of the button to add the current query to a dashboard.
|
|
141
|
+
*
|
|
142
|
+
* @default "Add to dashboard"
|
|
143
|
+
*/
|
|
36
144
|
addToDashboardButtonLabel?: string;
|
|
37
|
-
|
|
145
|
+
/**
|
|
146
|
+
* The name of the current organization.
|
|
147
|
+
*/
|
|
38
148
|
organizationName?: string;
|
|
39
|
-
|
|
149
|
+
/**
|
|
150
|
+
* Styles the top-level container of the SQLEditor.
|
|
151
|
+
*/
|
|
152
|
+
containerStyle?: React.CSSProperties;
|
|
40
153
|
}
|
|
41
|
-
|
|
154
|
+
/**
|
|
155
|
+
* ### Quill SQLEditor
|
|
156
|
+
*
|
|
157
|
+
* Allows your users to build and write custom SQL queries and then add those
|
|
158
|
+
* queries into their dashboard as a metric, chart, or table.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```js
|
|
162
|
+
* // Usage without custom components
|
|
163
|
+
* <SQLEditor />
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```js
|
|
168
|
+
* // You can also pass your own components and default values.
|
|
169
|
+
* <SQLEditor
|
|
170
|
+
* defaultQuery="SELECT SUM(amount) FROM TRANSACTIONS"
|
|
171
|
+
* ButtonComponen={MyButton}
|
|
172
|
+
* SecondaryButtonComponen={MySecondaryButton}
|
|
173
|
+
* />
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* ### SQLEditor API
|
|
177
|
+
* @see https://docs.quillsql.com/components/sql-editor
|
|
178
|
+
*/
|
|
179
|
+
export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, TextInputComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, CardComponent, defaultQuery, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, isChartBuilderEnabled, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, addToDashboardButtonLabel, dashboardItem, organizationName, isChartBuilderHorizontalView, containerStyle, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
42
180
|
export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, }: {
|
|
43
181
|
schema: any;
|
|
44
182
|
theme: any;
|
|
@@ -47,5 +185,4 @@ export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComp
|
|
|
47
185
|
width: any;
|
|
48
186
|
onClick?: (() => void) | undefined;
|
|
49
187
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
50
|
-
export {};
|
|
51
188
|
//# sourceMappingURL=SQLEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
|
package/dist/cjs/SQLEditor.js
CHANGED
|
@@ -5,18 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.SchemaListComponent = exports.convertPostgresColumn = void 0;
|
|
7
7
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
/* eslint-disable no-unused-vars */
|
|
8
9
|
// @ts-nocheck
|
|
9
10
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
10
11
|
const react_1 = require("react");
|
|
11
12
|
const react_2 = __importDefault(require("@monaco-editor/react"));
|
|
12
|
-
// import './nightOwlLight.css';
|
|
13
13
|
const Context_1 = require("./Context");
|
|
14
|
-
const QuillTable_1 = __importDefault(require("./components/QuillTable"));
|
|
15
14
|
const dataFetcher_1 = require("./utils/dataFetcher");
|
|
16
15
|
const ChartBuilder_1 = require("./ChartBuilder");
|
|
17
16
|
const UiComponents_1 = require("./components/UiComponents");
|
|
18
17
|
const UiComponents_2 = require("./components/UiComponents");
|
|
19
18
|
const width_1 = require("./utils/width");
|
|
19
|
+
const QuillCard_1 = require("./components/QuillCard");
|
|
20
20
|
function convertPostgresColumn(column) {
|
|
21
21
|
let format;
|
|
22
22
|
let fieldType;
|
|
@@ -113,26 +113,32 @@ function setEditorTheme(editor, monaco) {
|
|
|
113
113
|
console.log('ERROR: ', e);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
116
|
+
/**
|
|
117
|
+
* ### Quill SQLEditor
|
|
118
|
+
*
|
|
119
|
+
* Allows your users to build and write custom SQL queries and then add those
|
|
120
|
+
* queries into their dashboard as a metric, chart, or table.
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```js
|
|
124
|
+
* // Usage without custom components
|
|
125
|
+
* <SQLEditor />
|
|
126
|
+
* ```
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```js
|
|
130
|
+
* // You can also pass your own components and default values.
|
|
131
|
+
* <SQLEditor
|
|
132
|
+
* defaultQuery="SELECT SUM(amount) FROM TRANSACTIONS"
|
|
133
|
+
* ButtonComponen={MyButton}
|
|
134
|
+
* SecondaryButtonComponen={MySecondaryButton}
|
|
135
|
+
* />
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* ### SQLEditor API
|
|
139
|
+
* @see https://docs.quillsql.com/components/sql-editor
|
|
140
|
+
*/
|
|
141
|
+
function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, TextInputComponent = UiComponents_2.QuillTextInput, TableComponent = UiComponents_1.QuillTableComponent, isNewQueryEnabled = false, LoadingComponent, ModalComponent = UiComponents_1.MemoizedModal, CardComponent = QuillCard_1.QuillCard, defaultQuery, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, isChartBuilderEnabled = false, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, addToDashboardButtonLabel = 'Add to dashboard', dashboardItem = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, }) {
|
|
136
142
|
const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
|
|
137
143
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
138
144
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
@@ -291,8 +297,8 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
291
297
|
onChangeQuery(query);
|
|
292
298
|
}
|
|
293
299
|
}, [query]);
|
|
294
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: containerStyle, children: [(!
|
|
295
|
-
(
|
|
300
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: containerStyle, children: [(!isChartBuilderHorizontalView ||
|
|
301
|
+
(isChartBuilderHorizontalView && !isChartBuilderOpen)) && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
296
302
|
height: '100%',
|
|
297
303
|
display: 'flex',
|
|
298
304
|
flexDirection: 'column',
|
|
@@ -319,7 +325,7 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
319
325
|
gap: 12,
|
|
320
326
|
paddingTop: 16,
|
|
321
327
|
paddingBottom: 16,
|
|
322
|
-
}, children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { id: "ai-search", value: sqlPrompt, width: searchBarWidth, onChange: (e) => setSqlPrompt(e.target.value), placeholder: "Ask a question..." }), (
|
|
328
|
+
}, 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: { height: 'calc(50% - 40px)' }, children: (0, jsx_runtime_1.jsx)(SQLEditorComponent, { query: query, setQuery: setQuery, handleRunQuery: handleRunQuery, handleFixWithAI: handleFixWithAI, isNewQueryEnabled: isNewQueryEnabled, handleClearQuery: handleClearQuery, theme: theme, defineEditorTheme: defineEditorTheme, setEditorTheme: setEditorTheme, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, loading: sqlResponseLoading, LoadingComponent: LoadingComponent }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
|
|
323
329
|
display: 'flex',
|
|
324
330
|
flexDirection: 'column',
|
|
325
331
|
height: 'calc(50% - 108px)',
|
|
@@ -344,17 +350,17 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
344
350
|
borderRadius: 6,
|
|
345
351
|
padding: 20,
|
|
346
352
|
width: '100%',
|
|
347
|
-
}, children: [errorMessage, (
|
|
353
|
+
}, children: [errorMessage, (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" })] }) })), errorMessage || !displayTable ? null : ((0, jsx_runtime_1.jsx)(TableComponent, { isLoading: sqlQueryLoading, rows: rows, columns: columns }))] }), isChartBuilderEnabled && rows.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
348
354
|
display: 'flex',
|
|
349
355
|
flexDirection: 'row',
|
|
350
356
|
alignItems: 'center',
|
|
351
357
|
justifyContent: 'flex-end',
|
|
352
358
|
width: '100%',
|
|
353
359
|
height: '70px',
|
|
354
|
-
}, children: (
|
|
360
|
+
}, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: addToDashboardButtonLabel }) }))] })] }) }) })), (0, jsx_runtime_1.jsx)(ChartBuilder_1.ChartBuilderWithModal, { rows: rows, columns: columns, fields: fields, query: query, horizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, destinationDashboard: destinationDashboard, title: chartBuilderTitle, button: chartBuilderButtonLabel, buttonLabel: addToDashboardButtonLabel, dashboardItem: dashboardItem, organizationName: organizationName, CardComponent: CardComponent, Modal: ModalComponent, Button: ButtonComponent })] }));
|
|
355
361
|
}
|
|
356
|
-
exports.default =
|
|
357
|
-
const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent,
|
|
362
|
+
exports.default = SQLEditor;
|
|
363
|
+
const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent, }) => {
|
|
358
364
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
359
365
|
background: theme.backgroundColor,
|
|
360
366
|
// maxHeight: 700,
|
|
@@ -389,7 +395,7 @@ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI,
|
|
|
389
395
|
flexDirection: 'row',
|
|
390
396
|
alignItems: 'center',
|
|
391
397
|
height: 70,
|
|
392
|
-
}, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 12 }, children: [(
|
|
398
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 12 }, children: [(0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: handleRunQuery, label: "Run query" }), isNewQueryEnabled && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleClearQuery, label: "Clear query" }))] }) })] }));
|
|
393
399
|
};
|
|
394
400
|
const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick = () => { }, }) => {
|
|
395
401
|
if (loading) {
|
package/dist/cjs/Table.d.ts
CHANGED
|
@@ -3,25 +3,129 @@ export interface TableColumn {
|
|
|
3
3
|
label: string;
|
|
4
4
|
field: string;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Props for the Quill Table component.
|
|
8
|
+
*/
|
|
9
|
+
export interface TableProps {
|
|
10
|
+
/**
|
|
11
|
+
* The id of the table to render, if any.
|
|
12
|
+
*
|
|
13
|
+
* When a `chartId` is passed, the table will first fetch the data necessary
|
|
14
|
+
* to render this table, and then it will render the rows and columns that it
|
|
15
|
+
* receives from the server.
|
|
16
|
+
*
|
|
17
|
+
* NOTE: A `chartId` must be passed if `rows` and `columns` are not present.
|
|
18
|
+
*/
|
|
19
|
+
chartId?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The rows of the table to show, if any.
|
|
22
|
+
*
|
|
23
|
+
* When `rows` and `columns` are passed, the table will not refetch the given
|
|
24
|
+
* dashboard item and will instead simply render the rows and columns it was
|
|
25
|
+
* given.
|
|
26
|
+
*
|
|
27
|
+
* NOTE: Both `rows` and `columns` must be passed if `chartId` is not present.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```js
|
|
31
|
+
* let rows = {[
|
|
32
|
+
* { x: 1, y: 1, z: 0 },
|
|
33
|
+
* { x: 2, y: 2, z: 0 },
|
|
34
|
+
* { x: 3, y: 3, z: 0 },
|
|
35
|
+
* { x: 4, y: 4, z: 0 }
|
|
36
|
+
* ]};
|
|
37
|
+
* let columns = {[
|
|
38
|
+
* { label: "My X-Axis", field: "x" },
|
|
39
|
+
* { label: "My Y-Axis", field: "y" }
|
|
40
|
+
* ]}'
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
rows?: {
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
}[];
|
|
46
|
+
/**
|
|
47
|
+
* The columns of the table to show, if any.
|
|
48
|
+
*
|
|
49
|
+
* When `rows` and `columns` are passed, the table will not refetch the given
|
|
50
|
+
* dashboard item and will instead simply render the rows and columns it was
|
|
51
|
+
* given.
|
|
52
|
+
*
|
|
53
|
+
* NOTE: Both `rows` and `columns` must be passed if `chartId` is not present.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```js
|
|
57
|
+
* let rows = {[
|
|
58
|
+
* { x: 1, y: 1, z: 0 },
|
|
59
|
+
* { x: 2, y: 2, z: 0 },
|
|
60
|
+
* { x: 3, y: 3, z: 0 },
|
|
61
|
+
* { x: 4, y: 4, z: 0 }
|
|
62
|
+
* ]};
|
|
63
|
+
* let columns = {[
|
|
64
|
+
* { label: "My X-Axis", field: "x" },
|
|
65
|
+
* { label: "My Y-Axis", field: "y" }
|
|
66
|
+
* ]}'
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
columns?: {
|
|
70
|
+
label: string;
|
|
71
|
+
field: string;
|
|
72
|
+
}[];
|
|
73
|
+
/**
|
|
74
|
+
* The placeholder filename to use when downloading this table as a csv file.
|
|
75
|
+
*/
|
|
9
76
|
csvFilename?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Whether to show the download csv button.
|
|
79
|
+
*/
|
|
10
80
|
showDownloadCSVButton?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Whether this table component is loading.
|
|
83
|
+
*/
|
|
84
|
+
isLoading?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* A callback that is fired when the user clicks download csv.
|
|
87
|
+
*/
|
|
88
|
+
downloadCSV?: () => void;
|
|
89
|
+
/**
|
|
90
|
+
* A loading component to show when the table is loading.
|
|
91
|
+
*/
|
|
11
92
|
LoadingComponent?: () => JSX.Element;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
rows: object[];
|
|
93
|
+
/**
|
|
94
|
+
* Styles the top-level container of the Table.
|
|
95
|
+
*/
|
|
16
96
|
containerStyle?: React.CSSProperties;
|
|
17
|
-
csvFilename?: string;
|
|
18
|
-
showDownloadCSVButton?: boolean;
|
|
19
|
-
LoadingComponent?: () => JSX.Element;
|
|
20
|
-
loading?: boolean;
|
|
21
|
-
height?: string;
|
|
22
|
-
downloadCSV?: () => void;
|
|
23
97
|
}
|
|
24
|
-
|
|
25
|
-
|
|
98
|
+
/**
|
|
99
|
+
* ### Quill Table
|
|
100
|
+
*
|
|
101
|
+
* A simple component that displays the given data as a table.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```js
|
|
105
|
+
* // Usage with chart id (will auto-fetch data)
|
|
106
|
+
* <Table chartId="12345" />
|
|
107
|
+
* ```
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```js
|
|
111
|
+
* // Usage with rows and columns (will not auto-fetch data)
|
|
112
|
+
* <Table
|
|
113
|
+
* rows={[
|
|
114
|
+
* { x: 1, y: 1, z: 0 },
|
|
115
|
+
* { x: 2, y: 2, z: 0 },
|
|
116
|
+
* { x: 3, y: 3, z: 0 },
|
|
117
|
+
* { x: 4, y: 4, z: 0 }
|
|
118
|
+
* ]}
|
|
119
|
+
* columns={[
|
|
120
|
+
* { label: "My X-Axis", field: "x" },
|
|
121
|
+
* { label: "My Y-Axis", field: "y" }
|
|
122
|
+
* ]}
|
|
123
|
+
* />
|
|
124
|
+
* ```
|
|
125
|
+
*
|
|
126
|
+
* ### Table API
|
|
127
|
+
* @see https://docs.quillsql.com/components/table
|
|
128
|
+
*/
|
|
129
|
+
declare const Table: (props: TableProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
130
|
export default Table;
|
|
27
131
|
//# sourceMappingURL=Table.d.ts.map
|
package/dist/cjs/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAYrD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAuBD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,4CAiC/B,CAAC;AA8FF,eAAe,KAAK,CAAC"}
|
package/dist/cjs/Table.js
CHANGED
|
@@ -11,17 +11,48 @@ const merge_1 = require("./utils/merge");
|
|
|
11
11
|
const QuillTable_1 = __importDefault(require("./components/QuillTable"));
|
|
12
12
|
const useFormat_1 = require("./hooks/useFormat");
|
|
13
13
|
const useExport_1 = require("./hooks/useExport");
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* ### Quill Table
|
|
16
|
+
*
|
|
17
|
+
* A simple component that displays the given data as a table.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```js
|
|
21
|
+
* // Usage with chart id (will auto-fetch data)
|
|
22
|
+
* <Table chartId="12345" />
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```js
|
|
27
|
+
* // Usage with rows and columns (will not auto-fetch data)
|
|
28
|
+
* <Table
|
|
29
|
+
* rows={[
|
|
30
|
+
* { x: 1, y: 1, z: 0 },
|
|
31
|
+
* { x: 2, y: 2, z: 0 },
|
|
32
|
+
* { x: 3, y: 3, z: 0 },
|
|
33
|
+
* { x: 4, y: 4, z: 0 }
|
|
34
|
+
* ]}
|
|
35
|
+
* columns={[
|
|
36
|
+
* { label: "My X-Axis", field: "x" },
|
|
37
|
+
* { label: "My Y-Axis", field: "y" }
|
|
38
|
+
* ]}
|
|
39
|
+
* />
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* ### Table API
|
|
43
|
+
* @see https://docs.quillsql.com/components/table
|
|
44
|
+
*/
|
|
45
|
+
const Table = (props) => {
|
|
46
|
+
let data = props;
|
|
15
47
|
const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
16
48
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
17
49
|
const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
18
|
-
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
19
50
|
if ('rows' in data && 'columns' in data) {
|
|
20
|
-
return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { showDownloadCSVButton: data.showDownloadCSVButton, downloadFileName: data.csvFilename, columns: data.columns, rows: data.rows, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent,
|
|
51
|
+
return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { showDownloadCSVButton: data.showDownloadCSVButton, downloadFileName: data.csvFilename, columns: data.columns, rows: data.rows, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV }));
|
|
21
52
|
}
|
|
22
|
-
return ((0, jsx_runtime_1.jsx)(ChartUpdater, { showDownloadCSVButton: data.showDownloadCSVButton, dispatch: dispatch, dashboard: dashboard, chartId: data.chartId, containerStyle: data.containerStyle, dashboardFilters: dashboardFilters, client: client,
|
|
53
|
+
return ((0, jsx_runtime_1.jsx)(ChartUpdater, { showDownloadCSVButton: data.showDownloadCSVButton, dispatch: dispatch, dashboard: dashboard, chartId: data.chartId, containerStyle: data.containerStyle, dashboardFilters: dashboardFilters, client: client, csvFilename: data.csvFilename, LoadingComponent: data.LoadingComponent }));
|
|
23
54
|
};
|
|
24
|
-
const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, dashboardFilters,
|
|
55
|
+
const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, dashboardFilters, csvFilename, showDownloadCSVButton = true, LoadingComponent, }) => {
|
|
25
56
|
const { rows, loading } = (0, useFormat_1.useMemoizedRows)(chartId);
|
|
26
57
|
const { downloadCSV } = (0, useExport_1.useExport)(chartId);
|
|
27
58
|
(0, react_1.useEffect)(() => {
|
|
@@ -74,6 +105,6 @@ const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, da
|
|
|
74
105
|
// @ts-ignore
|
|
75
106
|
columns: dashboard[chartId]?.columns || [],
|
|
76
107
|
// @ts-ignore
|
|
77
|
-
rows: rows || dashboard[chartId]?.rows || [], containerStyle: containerStyle, LoadingComponent: LoadingComponent,
|
|
108
|
+
rows: rows || dashboard[chartId]?.rows || [], containerStyle: containerStyle, LoadingComponent: LoadingComponent, isLoading: loading, downloadCSV: downloadCSV }));
|
|
78
109
|
};
|
|
79
110
|
exports.default = Table;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableChart.d.ts","sourceRoot":"","sources":["../../src/TableChart.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"TableChart.d.ts","sourceRoot":"","sources":["../../src/TableChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,2BAA2B,CAAC,GAAG,KAAA,UAW9C;AAoED,QAAA,MAAM,UAAU,qFAsEf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|