@quillsql/react 2.11.15 → 2.11.17
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 +117 -42
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +44 -18
- package/dist/cjs/ChartBuilder.d.ts +195 -28
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +124 -63
- package/dist/cjs/ChartEditor.d.ts +114 -18
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +47 -15
- package/dist/cjs/Dashboard.d.ts +148 -90
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +46 -152
- 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 +188 -34
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +551 -426
- package/dist/cjs/SQLEditor.d.ts +158 -29
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +52 -32
- 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/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 +30 -1
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnPopover.js +33 -14
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +25 -2
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +19 -19
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +22 -2
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +18 -20
- package/dist/cjs/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +40 -20
- 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 +83 -19
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +68 -121
- package/dist/cjs/components/ReportBuilder/util.d.ts +3 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +34 -8
- package/dist/cjs/components/UiComponents.d.ts +98 -97
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +132 -112
- 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.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotList.js +10 -10
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +29 -14
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +73 -49
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +2 -0
- package/dist/cjs/utils/width.d.ts +12 -0
- package/dist/cjs/utils/width.d.ts.map +1 -0
- package/dist/cjs/utils/width.js +25 -0
- package/dist/esm/Chart.d.ts +117 -42
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +45 -19
- package/dist/esm/ChartBuilder.d.ts +195 -28
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +124 -63
- package/dist/esm/ChartEditor.d.ts +114 -18
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +51 -19
- package/dist/esm/Dashboard.d.ts +148 -90
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +49 -153
- 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 +188 -34
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +553 -428
- package/dist/esm/SQLEditor.d.ts +158 -29
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +53 -33
- 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/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 +30 -1
- package/dist/esm/components/ReportBuilder/AddColumnPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnPopover.js +34 -15
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +25 -2
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +20 -20
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +22 -2
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +20 -22
- package/dist/esm/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +33 -13
- 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 +83 -19
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +67 -119
- package/dist/esm/components/ReportBuilder/util.d.ts +3 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +31 -7
- package/dist/esm/components/UiComponents.d.ts +98 -97
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +125 -110
- 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.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotList.js +10 -10
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +29 -14
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +73 -49
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +2 -0
- package/dist/esm/utils/width.d.ts +12 -0
- package/dist/esm/utils/width.d.ts.map +1 -0
- package/dist/esm/utils/width.js +21 -0
- package/package.json +1 -1
- 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,50 +1,180 @@
|
|
|
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
|
+
/**
|
|
55
|
+
* A modal component to use to open the add to dashboard dialog.
|
|
56
|
+
*/
|
|
57
|
+
ModalComponent?: (props: {
|
|
58
|
+
isOpen: boolean;
|
|
59
|
+
setIsOpen: (isOpen: boolean) => void;
|
|
60
|
+
title?: string;
|
|
61
|
+
children: ReactNode;
|
|
62
|
+
width?: number;
|
|
63
|
+
height?: number;
|
|
64
|
+
}) => JSX.Element;
|
|
65
|
+
/**
|
|
66
|
+
* A callback that is fired when the query changes.
|
|
67
|
+
*/
|
|
21
68
|
onChangeQuery?: (query: string) => void;
|
|
69
|
+
/**
|
|
70
|
+
* A callback that is fired when the data changes.
|
|
71
|
+
*/
|
|
22
72
|
onChangeData?: (data: object[]) => void;
|
|
23
|
-
|
|
73
|
+
/**
|
|
74
|
+
* A callback that is fired when the data fields change.
|
|
75
|
+
*/
|
|
24
76
|
onChangeFields?: (fields: object[]) => void;
|
|
25
|
-
|
|
26
|
-
|
|
77
|
+
/**
|
|
78
|
+
* A callback that is fired when the data columns change.
|
|
79
|
+
*/
|
|
80
|
+
onChangeColumns?: (columns: object[]) => void;
|
|
81
|
+
/**
|
|
82
|
+
* A callback that is fired when a dashboard item has been added to a dashboard.
|
|
83
|
+
*/
|
|
84
|
+
onAddToDashboardComplete?: () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Whether the chart builder is in horizontal view mode.
|
|
87
|
+
*
|
|
88
|
+
* Horizontal view mode is where the chart and table are displayed on the left
|
|
89
|
+
* and the editing form is displayed on the right, rather than being stacked
|
|
90
|
+
* vertically.
|
|
91
|
+
*/
|
|
92
|
+
isChartBuilderHorizontalView?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* A callback that is fired when the data columns change.
|
|
95
|
+
*/
|
|
96
|
+
isChartBuilderEnabled?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Whether the "new query" button is enabled.
|
|
99
|
+
*/
|
|
100
|
+
isNewQueryEnabled?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Whether the SQLEditor is in edit mode.
|
|
103
|
+
*/
|
|
104
|
+
isEditMode?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Whether to show table format options.
|
|
107
|
+
*/
|
|
27
108
|
showTableFormatOptions?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Whether to show date field options.
|
|
111
|
+
*/
|
|
28
112
|
showDateFieldOptions?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* Whether to show access control options.
|
|
115
|
+
*/
|
|
29
116
|
showAccessControlOptions?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* A dashboard item.
|
|
119
|
+
*/
|
|
120
|
+
dashboardItem?: DashboardItem | any;
|
|
121
|
+
/**
|
|
122
|
+
* The default query to use as a placeholder.
|
|
123
|
+
*/
|
|
124
|
+
defaultQuery?: string;
|
|
125
|
+
/**
|
|
126
|
+
* The default dashboard to dashboard items to.
|
|
127
|
+
*/
|
|
30
128
|
destinationDashboard?: string;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
129
|
+
/**
|
|
130
|
+
* The title of the ChartBuilder dialog.
|
|
131
|
+
*/
|
|
34
132
|
chartBuilderTitle?: string;
|
|
133
|
+
/**
|
|
134
|
+
* The label of the button to open the ChartBuilder dialog.
|
|
135
|
+
*/
|
|
35
136
|
chartBuilderButtonLabel?: string;
|
|
137
|
+
/**
|
|
138
|
+
* The label of the button to add the current query to a dashboard.
|
|
139
|
+
*
|
|
140
|
+
* @default "Add to dashboard"
|
|
141
|
+
*/
|
|
36
142
|
addToDashboardButtonLabel?: string;
|
|
37
|
-
|
|
143
|
+
/**
|
|
144
|
+
* The name of the current organization.
|
|
145
|
+
*/
|
|
38
146
|
organizationName?: string;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
value: string;
|
|
44
|
-
id: string;
|
|
45
|
-
placeholder?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Styles the top-level container of the SQLEditor.
|
|
149
|
+
*/
|
|
150
|
+
containerStyle?: React.CSSProperties;
|
|
46
151
|
}
|
|
47
|
-
|
|
152
|
+
/**
|
|
153
|
+
* ### Quill SQLEditor
|
|
154
|
+
*
|
|
155
|
+
* Allows your users to build and write custom SQL queries and then add those
|
|
156
|
+
* queries into their dashboard as a metric, chart, or table.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```js
|
|
160
|
+
* // Usage without custom components
|
|
161
|
+
* <SQLEditor />
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```js
|
|
166
|
+
* // You can also pass your own components and default values.
|
|
167
|
+
* <SQLEditor
|
|
168
|
+
* defaultQuery="SELECT SUM(amount) FROM TRANSACTIONS"
|
|
169
|
+
* ButtonComponen={MyButton}
|
|
170
|
+
* SecondaryButtonComponen={MySecondaryButton}
|
|
171
|
+
* />
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* ### SQLEditor API
|
|
175
|
+
* @see https://docs.quillsql.com/components/sql-editor
|
|
176
|
+
*/
|
|
177
|
+
export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, TextInputComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, defaultQuery, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, isEditMode, isChartBuilderEnabled, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, addToDashboardButtonLabel, dashboardItem, organizationName, isChartBuilderHorizontalView, containerStyle, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
48
178
|
export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, }: {
|
|
49
179
|
schema: any;
|
|
50
180
|
theme: any;
|
|
@@ -53,5 +183,4 @@ export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComp
|
|
|
53
183
|
width: any;
|
|
54
184
|
onClick?: (() => void) | undefined;
|
|
55
185
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
56
|
-
export {};
|
|
57
186
|
//# 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,17 +5,17 @@ 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
|
-
const
|
|
17
|
+
const UiComponents_2 = require("./components/UiComponents");
|
|
18
|
+
const width_1 = require("./utils/width");
|
|
19
19
|
function convertPostgresColumn(column) {
|
|
20
20
|
let format;
|
|
21
21
|
let fieldType;
|
|
@@ -112,26 +112,32 @@ function setEditorTheme(editor, monaco) {
|
|
|
112
112
|
console.log('ERROR: ', e);
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
115
|
+
/**
|
|
116
|
+
* ### Quill SQLEditor
|
|
117
|
+
*
|
|
118
|
+
* Allows your users to build and write custom SQL queries and then add those
|
|
119
|
+
* queries into their dashboard as a metric, chart, or table.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```js
|
|
123
|
+
* // Usage without custom components
|
|
124
|
+
* <SQLEditor />
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```js
|
|
129
|
+
* // You can also pass your own components and default values.
|
|
130
|
+
* <SQLEditor
|
|
131
|
+
* defaultQuery="SELECT SUM(amount) FROM TRANSACTIONS"
|
|
132
|
+
* ButtonComponen={MyButton}
|
|
133
|
+
* SecondaryButtonComponen={MySecondaryButton}
|
|
134
|
+
* />
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* ### SQLEditor API
|
|
138
|
+
* @see https://docs.quillsql.com/components/sql-editor
|
|
139
|
+
*/
|
|
140
|
+
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, defaultQuery, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, isEditMode = false, 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' }, }) {
|
|
135
141
|
const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
|
|
136
142
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
137
143
|
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
@@ -146,6 +152,20 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
146
152
|
const [schemaLoading, setSchemaLoading] = (0, react_1.useState)(false);
|
|
147
153
|
const [isChartBuilderOpen, setIsChartBuilderOpen] = (0, react_1.useState)(false);
|
|
148
154
|
const [displayTable, setDisplayTable] = (0, react_1.useState)(false);
|
|
155
|
+
const formRef = (0, react_1.useRef)(null);
|
|
156
|
+
const [searchBarWidth, setSearchBarWidth] = (0, react_1.useState)(200);
|
|
157
|
+
(0, react_1.useEffect)(() => {
|
|
158
|
+
// Since the TextInput component takes a required numeric width parameter,
|
|
159
|
+
// we dynamically calculate the width of this component here.
|
|
160
|
+
function handleResize() {
|
|
161
|
+
(0, width_1.updateFirstChildWidth)(formRef, setSearchBarWidth, { gap: 12 });
|
|
162
|
+
}
|
|
163
|
+
handleResize();
|
|
164
|
+
window.addEventListener('resize', handleResize);
|
|
165
|
+
return () => {
|
|
166
|
+
window.removeEventListener('resize', handleResize);
|
|
167
|
+
};
|
|
168
|
+
}, []);
|
|
149
169
|
const getSchema = async (isSubscribed) => {
|
|
150
170
|
setSchemaLoading(true);
|
|
151
171
|
const { queryEndpoint, queryHeaders, publicKey } = client;
|
|
@@ -276,8 +296,8 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
276
296
|
onChangeQuery(query);
|
|
277
297
|
}
|
|
278
298
|
}, [query]);
|
|
279
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: containerStyle, children: [(!
|
|
280
|
-
(
|
|
299
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: containerStyle, children: [(!isChartBuilderHorizontalView ||
|
|
300
|
+
(isChartBuilderHorizontalView && !isChartBuilderOpen)) && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
281
301
|
height: '100%',
|
|
282
302
|
display: 'flex',
|
|
283
303
|
flexDirection: 'column',
|
|
@@ -295,7 +315,7 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
295
315
|
width: 'calc(100% - 290px)',
|
|
296
316
|
height: '100%',
|
|
297
317
|
overflowX: 'hidden',
|
|
298
|
-
}, children: [(0, jsx_runtime_1.jsxs)("form", { onSubmit: (e) => {
|
|
318
|
+
}, children: [(0, jsx_runtime_1.jsxs)("form", { ref: formRef, onSubmit: (e) => {
|
|
299
319
|
e.preventDefault();
|
|
300
320
|
handleRunSqlPrompt();
|
|
301
321
|
}, style: {
|
|
@@ -304,7 +324,7 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
304
324
|
gap: 12,
|
|
305
325
|
paddingTop: 16,
|
|
306
326
|
paddingBottom: 16,
|
|
307
|
-
}, children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { id: "ai-search", value: sqlPrompt,
|
|
327
|
+
}, 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: {
|
|
308
328
|
display: 'flex',
|
|
309
329
|
flexDirection: 'column',
|
|
310
330
|
height: 'calc(50% - 108px)',
|
|
@@ -329,17 +349,17 @@ function QueryEditor({ containerStyle = { height: '100vh' }, ButtonComponent = U
|
|
|
329
349
|
borderRadius: 6,
|
|
330
350
|
padding: 20,
|
|
331
351
|
width: '100%',
|
|
332
|
-
}, children: [errorMessage, (
|
|
352
|
+
}, 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: {
|
|
333
353
|
display: 'flex',
|
|
334
354
|
flexDirection: 'row',
|
|
335
355
|
alignItems: 'center',
|
|
336
356
|
justifyContent: 'flex-end',
|
|
337
357
|
width: '100%',
|
|
338
358
|
height: '70px',
|
|
339
|
-
}, children: (
|
|
359
|
+
}, 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, isEditMode: isEditMode, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, destinationDashboard: destinationDashboard, title: chartBuilderTitle, button: chartBuilderButtonLabel, buttonLabel: addToDashboardButtonLabel, dashboardItem: dashboardItem, organizationName: organizationName, Modal: ModalComponent, Button: ButtonComponent })] }));
|
|
340
360
|
}
|
|
341
|
-
exports.default =
|
|
342
|
-
const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent,
|
|
361
|
+
exports.default = SQLEditor;
|
|
362
|
+
const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent, }) => {
|
|
343
363
|
return ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
344
364
|
background: theme.backgroundColor,
|
|
345
365
|
// maxHeight: 700,
|
|
@@ -374,7 +394,7 @@ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI,
|
|
|
374
394
|
flexDirection: 'row',
|
|
375
395
|
alignItems: 'center',
|
|
376
396
|
height: 70,
|
|
377
|
-
}, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', gap: 12 }, children: [(
|
|
397
|
+
}, 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" }))] }) })] }));
|
|
378
398
|
};
|
|
379
399
|
const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick = () => { }, }) => {
|
|
380
400
|
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,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE;QACP,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"}
|