@quillsql/react 2.11.16 → 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 +194 -30
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +122 -62
- 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 -91
- 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 -42
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +466 -394
- package/dist/cjs/SQLEditor.d.ts +158 -23
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +35 -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/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 +8 -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 +4 -14
- 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 +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 -18
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +52 -100
- package/dist/cjs/components/ReportBuilder/util.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +16 -9
- package/dist/cjs/components/UiComponents.d.ts +86 -86
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +118 -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.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/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 +194 -30
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +122 -62
- 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 -91
- 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 -42
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +468 -396
- package/dist/esm/SQLEditor.d.ts +158 -23
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +35 -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/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 +8 -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 +4 -14
- 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 +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 -18
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +50 -98
- package/dist/esm/components/ReportBuilder/util.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +14 -8
- package/dist/esm/components/UiComponents.d.ts +86 -86
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +111 -101
- 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/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/esm/SQLEditor.d.ts
CHANGED
|
@@ -1,44 +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
|
-
|
|
147
|
+
/**
|
|
148
|
+
* Styles the top-level container of the SQLEditor.
|
|
149
|
+
*/
|
|
150
|
+
containerStyle?: React.CSSProperties;
|
|
40
151
|
}
|
|
41
|
-
|
|
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;
|
|
42
178
|
export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, }: {
|
|
43
179
|
schema: any;
|
|
44
180
|
theme: any;
|
|
@@ -47,5 +183,4 @@ export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComp
|
|
|
47
183
|
width: any;
|
|
48
184
|
onClick?: (() => void) | undefined;
|
|
49
185
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
50
|
-
export {};
|
|
51
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/esm/SQLEditor.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable no-unused-vars */
|
|
2
3
|
// @ts-nocheck
|
|
3
4
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4
5
|
import { useState, useContext, useEffect, useRef, } from 'react';
|
|
5
6
|
import MonacoEditor from '@monaco-editor/react';
|
|
6
|
-
// import './nightOwlLight.css';
|
|
7
7
|
import { ClientContext, SchemaContext, ThemeContext } from './Context';
|
|
8
|
-
import QuillTable from './components/QuillTable';
|
|
9
8
|
import { getData, getDataFromCloud } from './utils/dataFetcher';
|
|
10
9
|
import { ChartBuilderWithModal } from './ChartBuilder';
|
|
11
|
-
import { MemoizedButton, MemoizedSecondaryButton, } from './components/UiComponents';
|
|
10
|
+
import { MemoizedButton, MemoizedModal, MemoizedSecondaryButton, QuillTableComponent, } from './components/UiComponents';
|
|
12
11
|
import { QuillTextInput } from './components/UiComponents';
|
|
13
12
|
import { updateFirstChildWidth } from './utils/width';
|
|
14
13
|
export function convertPostgresColumn(column) {
|
|
@@ -106,26 +105,32 @@ function setEditorTheme(editor, monaco) {
|
|
|
106
105
|
console.log('ERROR: ', e);
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
108
|
+
/**
|
|
109
|
+
* ### Quill SQLEditor
|
|
110
|
+
*
|
|
111
|
+
* Allows your users to build and write custom SQL queries and then add those
|
|
112
|
+
* queries into their dashboard as a metric, chart, or table.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```js
|
|
116
|
+
* // Usage without custom components
|
|
117
|
+
* <SQLEditor />
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```js
|
|
122
|
+
* // You can also pass your own components and default values.
|
|
123
|
+
* <SQLEditor
|
|
124
|
+
* defaultQuery="SELECT SUM(amount) FROM TRANSACTIONS"
|
|
125
|
+
* ButtonComponen={MyButton}
|
|
126
|
+
* SecondaryButtonComponen={MySecondaryButton}
|
|
127
|
+
* />
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* ### SQLEditor API
|
|
131
|
+
* @see https://docs.quillsql.com/components/sql-editor
|
|
132
|
+
*/
|
|
133
|
+
export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, TextInputComponent = QuillTextInput, TableComponent = QuillTableComponent, isNewQueryEnabled = false, LoadingComponent, ModalComponent = 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' }, }) {
|
|
129
134
|
const [sqlPrompt, setSqlPrompt] = useState('');
|
|
130
135
|
const [client] = useContext(ClientContext);
|
|
131
136
|
const [theme] = useContext(ThemeContext);
|
|
@@ -284,8 +289,8 @@ export default function QueryEditor({ containerStyle = { height: '100vh' }, Butt
|
|
|
284
289
|
onChangeQuery(query);
|
|
285
290
|
}
|
|
286
291
|
}, [query]);
|
|
287
|
-
return (_jsxs("div", { style: containerStyle, children: [(!
|
|
288
|
-
(
|
|
292
|
+
return (_jsxs("div", { style: containerStyle, children: [(!isChartBuilderHorizontalView ||
|
|
293
|
+
(isChartBuilderHorizontalView && !isChartBuilderOpen)) && (_jsx("div", { style: {
|
|
289
294
|
height: '100%',
|
|
290
295
|
display: 'flex',
|
|
291
296
|
flexDirection: 'column',
|
|
@@ -312,7 +317,7 @@ export default function QueryEditor({ containerStyle = { height: '100vh' }, Butt
|
|
|
312
317
|
gap: 12,
|
|
313
318
|
paddingTop: 16,
|
|
314
319
|
paddingBottom: 16,
|
|
315
|
-
}, children: [_jsx(TextInputComponent, { id: "ai-search", value: sqlPrompt, width: searchBarWidth, onChange: (e) => setSqlPrompt(e.target.value), placeholder: "Ask a question..." }),
|
|
320
|
+
}, children: [_jsx(TextInputComponent, { id: "ai-search", value: sqlPrompt, width: searchBarWidth, onChange: (e) => setSqlPrompt(e.target.value), placeholder: "Ask a question..." }), _jsx(ButtonComponent, { onClick: handleRunSqlPrompt, label: "Ask AI" })] }), _jsx("div", { style: { height: 'calc(50% - 40px)' }, children: _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 }) }), _jsxs("div", { style: {
|
|
316
321
|
display: 'flex',
|
|
317
322
|
flexDirection: 'column',
|
|
318
323
|
height: 'calc(50% - 108px)',
|
|
@@ -337,16 +342,16 @@ export default function QueryEditor({ containerStyle = { height: '100vh' }, Butt
|
|
|
337
342
|
borderRadius: 6,
|
|
338
343
|
padding: 20,
|
|
339
344
|
width: '100%',
|
|
340
|
-
}, children: [errorMessage,
|
|
345
|
+
}, children: [errorMessage, _jsx(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" })] }) })), errorMessage || !displayTable ? null : (_jsx(TableComponent, { isLoading: sqlQueryLoading, rows: rows, columns: columns }))] }), isChartBuilderEnabled && rows.length > 0 && (_jsx("div", { style: {
|
|
341
346
|
display: 'flex',
|
|
342
347
|
flexDirection: 'row',
|
|
343
348
|
alignItems: 'center',
|
|
344
349
|
justifyContent: 'flex-end',
|
|
345
350
|
width: '100%',
|
|
346
351
|
height: '70px',
|
|
347
|
-
}, children:
|
|
352
|
+
}, children: _jsx(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: addToDashboardButtonLabel }) }))] })] }) }) })), _jsx(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 })] }));
|
|
348
353
|
}
|
|
349
|
-
const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent,
|
|
354
|
+
const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent, }) => {
|
|
350
355
|
return (_jsxs("div", { style: {
|
|
351
356
|
background: theme.backgroundColor,
|
|
352
357
|
// maxHeight: 700,
|
|
@@ -381,7 +386,7 @@ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI,
|
|
|
381
386
|
flexDirection: 'row',
|
|
382
387
|
alignItems: 'center',
|
|
383
388
|
height: 70,
|
|
384
|
-
}, children: _jsxs("div", { style: { display: 'flex', gap: 12 }, children: [
|
|
389
|
+
}, children: _jsxs("div", { style: { display: 'flex', gap: 12 }, children: [_jsx(ButtonComponent, { onClick: handleRunQuery, label: "Run query" }), isNewQueryEnabled && (_jsx(SecondaryButtonComponent, { onClick: handleClearQuery, label: "Clear query" }))] }) })] }));
|
|
385
390
|
};
|
|
386
391
|
export const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick = () => { }, }) => {
|
|
387
392
|
if (loading) {
|
package/dist/esm/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/esm/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/esm/Table.js
CHANGED
|
@@ -1,22 +1,53 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useEffect } from 'react';
|
|
3
|
-
import { ClientContext, DashboardContext,
|
|
3
|
+
import { ClientContext, DashboardContext, DashboardFiltersContext, } from './Context';
|
|
4
4
|
import { getData } from './utils/dataFetcher';
|
|
5
5
|
import { mergeComparisonRange } from './utils/merge';
|
|
6
6
|
import QuillTable from './components/QuillTable';
|
|
7
7
|
import { useMemoizedRows } from './hooks/useFormat';
|
|
8
8
|
import { useExport } from './hooks/useExport';
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* ### Quill Table
|
|
11
|
+
*
|
|
12
|
+
* A simple component that displays the given data as a table.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```js
|
|
16
|
+
* // Usage with chart id (will auto-fetch data)
|
|
17
|
+
* <Table chartId="12345" />
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```js
|
|
22
|
+
* // Usage with rows and columns (will not auto-fetch data)
|
|
23
|
+
* <Table
|
|
24
|
+
* rows={[
|
|
25
|
+
* { x: 1, y: 1, z: 0 },
|
|
26
|
+
* { x: 2, y: 2, z: 0 },
|
|
27
|
+
* { x: 3, y: 3, z: 0 },
|
|
28
|
+
* { x: 4, y: 4, z: 0 }
|
|
29
|
+
* ]}
|
|
30
|
+
* columns={[
|
|
31
|
+
* { label: "My X-Axis", field: "x" },
|
|
32
|
+
* { label: "My Y-Axis", field: "y" }
|
|
33
|
+
* ]}
|
|
34
|
+
* />
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* ### Table API
|
|
38
|
+
* @see https://docs.quillsql.com/components/table
|
|
39
|
+
*/
|
|
40
|
+
const Table = (props) => {
|
|
41
|
+
let data = props;
|
|
10
42
|
const { dispatch, dashboard } = useContext(DashboardContext);
|
|
11
43
|
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
12
44
|
const [client, _] = useContext(ClientContext);
|
|
13
|
-
const [theme] = useContext(ThemeContext);
|
|
14
45
|
if ('rows' in data && 'columns' in data) {
|
|
15
|
-
return (_jsx(QuillTable, { showDownloadCSVButton: data.showDownloadCSVButton, downloadFileName: data.csvFilename, columns: data.columns, rows: data.rows, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent,
|
|
46
|
+
return (_jsx(QuillTable, { showDownloadCSVButton: data.showDownloadCSVButton, downloadFileName: data.csvFilename, columns: data.columns, rows: data.rows, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV }));
|
|
16
47
|
}
|
|
17
|
-
return (_jsx(ChartUpdater, { showDownloadCSVButton: data.showDownloadCSVButton, dispatch: dispatch, dashboard: dashboard, chartId: data.chartId, containerStyle: data.containerStyle, dashboardFilters: dashboardFilters, client: client,
|
|
48
|
+
return (_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 }));
|
|
18
49
|
};
|
|
19
|
-
const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, dashboardFilters,
|
|
50
|
+
const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, dashboardFilters, csvFilename, showDownloadCSVButton = true, LoadingComponent, }) => {
|
|
20
51
|
const { rows, loading } = useMemoizedRows(chartId);
|
|
21
52
|
const { downloadCSV } = useExport(chartId);
|
|
22
53
|
useEffect(() => {
|
|
@@ -69,6 +100,6 @@ const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, da
|
|
|
69
100
|
// @ts-ignore
|
|
70
101
|
columns: dashboard[chartId]?.columns || [],
|
|
71
102
|
// @ts-ignore
|
|
72
|
-
rows: rows || dashboard[chartId]?.rows || [], containerStyle: containerStyle, LoadingComponent: LoadingComponent,
|
|
103
|
+
rows: rows || dashboard[chartId]?.rows || [], containerStyle: containerStyle, LoadingComponent: LoadingComponent, isLoading: loading, downloadCSV: downloadCSV }));
|
|
73
104
|
};
|
|
74
105
|
export 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"}
|