@quillsql/react 2.11.25 → 2.11.27

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.
Files changed (127) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +16 -13
  3. package/dist/cjs/ChartBuilder.d.ts +7 -20
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +25 -25
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +3 -3
  8. package/dist/cjs/Dashboard.d.ts +2 -1
  9. package/dist/cjs/Dashboard.d.ts.map +1 -1
  10. package/dist/cjs/ReportBuilder.d.ts +11 -5
  11. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  12. package/dist/cjs/ReportBuilder.js +208 -127
  13. package/dist/cjs/SQLEditor.d.ts +4 -11
  14. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  15. package/dist/cjs/SQLEditor.js +57 -124
  16. package/dist/cjs/Table.d.ts +1 -1
  17. package/dist/cjs/Table.js +4 -4
  18. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  19. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  20. package/dist/cjs/components/Dashboard/MetricComponent.js +9 -12
  21. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/TableComponent.js +13 -11
  23. package/dist/cjs/components/QuillTable.d.ts +6 -3
  24. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  25. package/dist/cjs/components/QuillTable.js +3 -3
  26. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -2
  27. package/dist/cjs/components/ReportBuilder/ui.js +1 -1
  28. package/dist/cjs/components/UiComponents.d.ts +1 -0
  29. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  30. package/dist/cjs/components/UiComponents.js +17 -1
  31. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +27 -24
  32. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  33. package/dist/cjs/internals/ReportBuilder/PivotList.js +9 -7
  34. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +11 -3
  35. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  36. package/dist/cjs/internals/ReportBuilder/PivotModal.js +52 -67
  37. package/dist/cjs/models/Columns.d.ts +11 -0
  38. package/dist/cjs/models/Columns.d.ts.map +1 -0
  39. package/dist/cjs/models/Columns.js +2 -0
  40. package/dist/cjs/models/Tables.d.ts +0 -8
  41. package/dist/cjs/models/Tables.d.ts.map +1 -1
  42. package/dist/cjs/utils/astProcessing.d.ts +3 -0
  43. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  44. package/dist/cjs/utils/astProcessing.js +20 -0
  45. package/dist/cjs/utils/columnProcessing.d.ts +9 -0
  46. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  47. package/dist/cjs/utils/columnProcessing.js +207 -0
  48. package/dist/cjs/utils/dashboard.js +9 -9
  49. package/dist/cjs/utils/pivotProcessing.d.ts +2 -1
  50. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  51. package/dist/cjs/utils/pivotProcessing.js +3 -8
  52. package/dist/cjs/utils/tableProcessing.d.ts +2 -2
  53. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  54. package/dist/cjs/utils/tableProcessing.js +1 -3
  55. package/dist/cjs/utils/valueFormatter.d.ts +2 -1
  56. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  57. package/dist/cjs/utils/valueFormatter.js +12 -1
  58. package/dist/esm/Chart.d.ts.map +1 -1
  59. package/dist/esm/Chart.js +16 -13
  60. package/dist/esm/ChartBuilder.d.ts +7 -20
  61. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  62. package/dist/esm/ChartBuilder.js +25 -25
  63. package/dist/esm/ChartEditor.d.ts.map +1 -1
  64. package/dist/esm/ChartEditor.js +3 -3
  65. package/dist/esm/Dashboard.d.ts +2 -1
  66. package/dist/esm/Dashboard.d.ts.map +1 -1
  67. package/dist/esm/ReportBuilder.d.ts +11 -5
  68. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  69. package/dist/esm/ReportBuilder.js +205 -124
  70. package/dist/esm/SQLEditor.d.ts +4 -11
  71. package/dist/esm/SQLEditor.d.ts.map +1 -1
  72. package/dist/esm/SQLEditor.js +57 -123
  73. package/dist/esm/Table.d.ts +1 -1
  74. package/dist/esm/Table.js +4 -4
  75. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  76. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  77. package/dist/esm/components/Dashboard/MetricComponent.js +9 -12
  78. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  79. package/dist/esm/components/Dashboard/TableComponent.js +13 -11
  80. package/dist/esm/components/QuillTable.d.ts +6 -3
  81. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  82. package/dist/esm/components/QuillTable.js +3 -3
  83. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -2
  84. package/dist/esm/components/ReportBuilder/ui.js +1 -1
  85. package/dist/esm/components/UiComponents.d.ts +1 -0
  86. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  87. package/dist/esm/components/UiComponents.js +15 -0
  88. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +27 -24
  89. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  90. package/dist/esm/internals/ReportBuilder/PivotList.js +9 -7
  91. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +11 -3
  92. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  93. package/dist/esm/internals/ReportBuilder/PivotModal.js +55 -70
  94. package/dist/esm/models/Columns.d.ts +11 -0
  95. package/dist/esm/models/Columns.d.ts.map +1 -0
  96. package/dist/esm/models/Columns.js +1 -0
  97. package/dist/esm/models/Tables.d.ts +0 -8
  98. package/dist/esm/models/Tables.d.ts.map +1 -1
  99. package/dist/esm/utils/astProcessing.d.ts +3 -0
  100. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  101. package/dist/esm/utils/astProcessing.js +16 -0
  102. package/dist/esm/utils/columnProcessing.d.ts +9 -0
  103. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  104. package/dist/esm/utils/columnProcessing.js +201 -0
  105. package/dist/esm/utils/dashboard.js +9 -9
  106. package/dist/esm/utils/pivotProcessing.d.ts +2 -1
  107. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  108. package/dist/esm/utils/pivotProcessing.js +3 -8
  109. package/dist/esm/utils/tableProcessing.d.ts +2 -2
  110. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  111. package/dist/esm/utils/tableProcessing.js +1 -3
  112. package/dist/esm/utils/valueFormatter.d.ts +2 -1
  113. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  114. package/dist/esm/utils/valueFormatter.js +11 -0
  115. package/package.json +1 -1
  116. package/dist/cjs/utils/types.d.ts +0 -4
  117. package/dist/cjs/utils/types.d.ts.map +0 -1
  118. package/dist/cjs/utils/types.js +0 -52
  119. package/dist/cjs/utils/valueFormatterCSV.d.ts +0 -17
  120. package/dist/cjs/utils/valueFormatterCSV.d.ts.map +0 -1
  121. package/dist/cjs/utils/valueFormatterCSV.js +0 -99
  122. package/dist/esm/utils/types.d.ts +0 -4
  123. package/dist/esm/utils/types.d.ts.map +0 -1
  124. package/dist/esm/utils/types.js +0 -48
  125. package/dist/esm/utils/valueFormatterCSV.d.ts +0 -17
  126. package/dist/esm/utils/valueFormatterCSV.d.ts.map +0 -1
  127. package/dist/esm/utils/valueFormatterCSV.js +0 -95
@@ -1,12 +1,5 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { DashboardItem } from './Dashboard';
3
- export declare function convertPostgresColumn(column: any): {
4
- name: any;
5
- label: any;
6
- field: any;
7
- format: string;
8
- fieldType: string;
9
- };
10
3
  /**
11
4
  * Props for the Quill SQLEditor component.
12
5
  */
@@ -267,9 +260,9 @@ export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, D
267
260
  export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, }: {
268
261
  schema: any;
269
262
  theme: any;
270
- loading: any;
271
- LoadingComponent: any;
272
- width: any;
273
- onClick?: (() => void) | undefined;
263
+ loading: boolean;
264
+ LoadingComponent?: any;
265
+ width?: any;
266
+ onClick: (event: React.MouseEvent<HTMLDivElement>) => void;
274
267
  }) => import("react/jsx-runtime").JSX.Element;
275
268
  //# sourceMappingURL=SQLEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
@@ -1,94 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable no-unused-vars */
3
- // @ts-nocheck
4
3
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
4
  import { useState, useContext, useEffect, useRef, } from 'react';
6
5
  import MonacoEditor from '@monaco-editor/react';
7
6
  import { ClientContext, SchemaContext, ThemeContext } from './Context';
8
7
  import { getData, getDataFromCloud } from './utils/dataFetcher';
9
8
  import { ChartBuilderWithModal } from './ChartBuilder';
10
- import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedModal, MemoizedPopover, MemoizedSecondaryButton, MemoizedSubHeader, MemoizedText, QuillChartBuilderFormContainer, QuillChartBuilderInputColumnContainer, QuillChartBuilderInputRowContainer, QuillErrorMessageComponent, QuillPivotColumnContainer, QuillPivotRowContainer, QuillTableComponent, } from './components/UiComponents';
9
+ import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedModal, MemoizedPopover, MemoizedSecondaryButton, MemoizedSubHeader, MemoizedText, QuillChartBuilderFormContainer, QuillChartBuilderInputColumnContainer, QuillChartBuilderInputRowContainer, QuillErrorMessageComponent, QuillLoadingComponent, QuillPivotColumnContainer, QuillPivotRowContainer, QuillTableComponent, } from './components/UiComponents';
11
10
  import { QuillTextInput } from './components/UiComponents';
12
11
  import { updateFirstChildWidth } from './utils/width';
13
12
  import { QuillCard } from './components/QuillCard';
14
13
  import { QuillSelectComponent } from './components/QuillSelect';
15
- export function convertPostgresColumn(column) {
16
- let format;
17
- let fieldType;
18
- switch (column.dataTypeID) {
19
- case 16: // bool
20
- format = 'string';
21
- break;
22
- case 20: // int8
23
- case 21: // int2
24
- case 23: // int4
25
- format = 'whole_number';
26
- break;
27
- case 700: // float4
28
- case 701: // float8
29
- case 1700: // numeric
30
- format = 'two_decimal_places';
31
- break;
32
- case 1082: // date
33
- case 1083: // time
34
- case 1184: // timestamptz
35
- case 1114: // timestamp
36
- format = 'MMM_dd_yyyy';
37
- break;
38
- case 1186: // interval
39
- case 1043: // varchar
40
- default:
41
- format = 'string';
42
- }
43
- switch (column.dataTypeID) {
44
- case 16: // boolean
45
- fieldType = 'bool';
46
- break;
47
- case 20: // int8
48
- fieldType = 'int8';
49
- break;
50
- case 21: // int2
51
- fieldType = 'int2';
52
- break;
53
- case 23: // int4
54
- fieldType = 'int4';
55
- break;
56
- case 700: // float4
57
- fieldType = 'float4';
58
- break;
59
- case 701: // float8
60
- fieldType = 'float8';
61
- break;
62
- case 1700: // numeric
63
- fieldType = 'numeric';
64
- break;
65
- case 1082: // date
66
- fieldType = 'date';
67
- break;
68
- case 1083: // time
69
- fieldType = 'time';
70
- break;
71
- case 1184: // timestamptz
72
- fieldType = 'timestamptz';
73
- break;
74
- case 1186: // interval
75
- fieldType = 'interval';
76
- break;
77
- case 1114: // timestamp
78
- fieldType = 'timestamp';
79
- break;
80
- case 1043: // varchar
81
- default:
82
- fieldType = 'varchar';
83
- }
84
- return {
85
- name: column.name,
86
- label: column.name,
87
- field: column.name,
88
- format,
89
- fieldType,
90
- };
91
- }
14
+ import { quillFormat } from './utils/valueFormatter';
15
+ import { convertPostgresColumn } from './utils/columnProcessing';
92
16
  function defineEditorTheme(monaco, theme) {
93
17
  monaco.editor.defineTheme('onedark', {
94
18
  base: theme.darkMode ? 'vs-dark' : 'vs',
@@ -139,14 +63,13 @@ function setEditorTheme(editor, monaco) {
139
63
  * ### SQLEditor API
140
64
  * @see https://docs.quillsql.com/components/sql-editor
141
65
  */
142
- export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, TableComponent = QuillTableComponent, isNewQueryEnabled = false, LoadingComponent, ModalComponent = MemoizedModal, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, ChartBuilderFormContainer = QuillChartBuilderFormContainer, 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' }, className, }) {
66
+ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, TableComponent = QuillTableComponent, isNewQueryEnabled = false, LoadingComponent = QuillLoadingComponent, ModalComponent = MemoizedModal, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, ChartBuilderFormContainer = QuillChartBuilderFormContainer, 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' }, className, }) {
143
67
  const [sqlPrompt, setSqlPrompt] = useState('');
144
68
  const [client] = useContext(ClientContext);
145
69
  const [theme] = useContext(ThemeContext);
146
70
  const [query, setQuery] = useState(defaultQuery);
147
71
  const [rows, setRows] = useState([]);
148
72
  const [columns, setColumns] = useState([]);
149
- const [fields, setFields] = useState([]);
150
73
  const [schema, setSchema] = useContext(SchemaContext);
151
74
  const [errorMessage, setErrorMessage] = useState('');
152
75
  const [sqlResponseLoading, setSqlResponseLoading] = useState(false);
@@ -156,6 +79,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
156
79
  const [displayTable, setDisplayTable] = useState(false);
157
80
  const formRef = useRef(null);
158
81
  const [searchBarWidth, setSearchBarWidth] = useState(200);
82
+ const [formattedRows, setFormattedRows] = useState([]);
159
83
  useEffect(() => {
160
84
  // Since the TextInput component takes a required numeric width parameter,
161
85
  // we dynamically calculate the width of this component here.
@@ -168,8 +92,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
168
92
  window.removeEventListener('resize', handleResize);
169
93
  };
170
94
  }, []);
171
- const getSchema = async (isSubscribed) => {
172
- setSchemaLoading(true);
95
+ const getSchema = async () => {
173
96
  const { queryEndpoint, queryHeaders, publicKey } = client;
174
97
  const response = await fetch(`${queryEndpoint}`, {
175
98
  method: 'POST',
@@ -187,26 +110,21 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
187
110
  }),
188
111
  });
189
112
  const results = await response.json();
190
- if (isSubscribed) {
191
- if (results.data?.data) {
192
- setSchema(results.data.data.tables);
193
- setSchemaLoading(false);
194
- }
195
- else {
196
- setSchema(results.data.tables);
197
- setSchemaLoading(false);
198
- }
113
+ if (results.data?.data) {
114
+ setSchema(results.data.data.tables);
115
+ setSchemaLoading(false);
116
+ }
117
+ else {
118
+ setSchema(results.data.tables);
119
+ setSchemaLoading(false);
199
120
  }
200
121
  };
201
122
  useEffect(() => {
202
- let isSubscribed = true;
203
- if (isSubscribed && client) {
204
- getSchema(isSubscribed);
123
+ if (client && !schemaLoading) {
124
+ setSchemaLoading(true);
125
+ getSchema();
205
126
  }
206
- return () => {
207
- isSubscribed = false;
208
- };
209
- }, [client]);
127
+ }, [client.publicKey]);
210
128
  const handleRunSqlPrompt = async () => {
211
129
  setSqlResponseLoading(true);
212
130
  const resp = await getDataFromCloud(client, `quillai`, {
@@ -239,7 +157,6 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
239
157
  setErrorMessage('Failed to run SQL query: ' + resp.errorMessage);
240
158
  setRows([]);
241
159
  setColumns([]);
242
- setFields([]);
243
160
  return;
244
161
  }
245
162
  setSqlQueryLoading(false);
@@ -247,15 +164,27 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
247
164
  if (resp.rows.length === 0) {
248
165
  setErrorMessage('No data found');
249
166
  }
250
- setRows(resp.rows && resp.rows.length ? resp.rows : []);
167
+ const temp_rows = resp.rows && resp.rows.length ? resp.rows : [];
168
+ const processedFields = resp.fields.map((elem) => convertPostgresColumn(elem));
169
+ setRows(temp_rows);
170
+ setFormattedRows(temp_rows.map((row) => {
171
+ return processedFields.reduce((formattedRow, column) => {
172
+ // Apply the format function to each field in the row
173
+ const formattedValue = quillFormat({
174
+ value: row[column.field],
175
+ format: column.format,
176
+ });
177
+ formattedRow[column.field] = formattedValue;
178
+ return formattedRow;
179
+ }, {});
180
+ }));
251
181
  if (onChangeData) {
252
- onChangeData(resp.rows && resp.rows.length ? resp.rows : []);
182
+ onChangeData(temp_rows);
253
183
  }
254
- setColumns(resp.fields.map((elem) => convertPostgresColumn(elem)));
184
+ setColumns(processedFields);
255
185
  if (onChangeColumns) {
256
- onChangeColumns(resp.fields.map((elem) => convertPostgresColumn(elem)));
186
+ onChangeColumns(processedFields);
257
187
  }
258
- setFields(resp.fields);
259
188
  if (onChangeFields) {
260
189
  onChangeFields(resp.fields);
261
190
  }
@@ -286,8 +215,8 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
286
215
  };
287
216
  const handleClickSchemaItem = async (event) => {
288
217
  const name = event.target.textContent;
289
- if (query.length > 0) {
290
- await navigator.clipboard.writeText(name);
218
+ if (query && query.length > 0) {
219
+ await navigator.clipboard.writeText(name || '');
291
220
  }
292
221
  else {
293
222
  setQuery(`SELECT * FROM ${name};`);
@@ -295,7 +224,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
295
224
  };
296
225
  useEffect(() => {
297
226
  if (onChangeQuery) {
298
- onChangeQuery(query);
227
+ onChangeQuery(query || '');
299
228
  }
300
229
  }, [query]);
301
230
  return (_jsxs("div", { style: { backgroundColor: theme.backgroundColor, ...containerStyle }, className: className, children: [(!isChartBuilderHorizontalView ||
@@ -326,7 +255,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
326
255
  gap: 12,
327
256
  paddingTop: 16,
328
257
  paddingBottom: 16,
329
- }, 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: {
258
+ }, 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: {
330
259
  display: 'flex',
331
260
  flexDirection: 'column',
332
261
  height: 'calc(50% - 108px)',
@@ -351,16 +280,16 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
351
280
  borderRadius: 6,
352
281
  padding: 20,
353
282
  width: '100%',
354
- }, 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: {
283
+ }, children: [errorMessage, _jsx(SecondaryButtonComponent, { onClick: handleFixWithAI, label: "Fix with AI" })] }) })), errorMessage || !displayTable ? null : (_jsx(TableComponent, { isLoading: sqlQueryLoading, rows: formattedRows, columns: columns }))] }), isChartBuilderEnabled && rows.length > 0 && (_jsx("div", { style: {
355
284
  display: 'flex',
356
285
  flexDirection: 'row',
357
286
  alignItems: 'center',
358
287
  justifyContent: 'flex-end',
359
288
  width: '100%',
360
289
  height: '70px',
361
- }, children: _jsx(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: addToDashboardButtonLabel }) }))] })] }) }) })), _jsx(ChartBuilderWithModal, { rows: rows, columns: columns, fields: fields, query: query, isHorizontalView: 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, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true })] }));
290
+ }, children: _jsx(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: addToDashboardButtonLabel }) }))] })] }) }) })), _jsx(ChartBuilderWithModal, { rows: rows, columns: columns, query: query, isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, destinationDashboard: destinationDashboard, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, dashboardItem: dashboardItem, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true })] }));
362
291
  }
363
- const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent, }) => {
292
+ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent = QuillLoadingComponent, }) => {
364
293
  return (_jsxs("div", { style: {
365
294
  // maxHeight: 700,
366
295
  width: '100%',
@@ -376,27 +305,27 @@ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI,
376
305
  borderTopRightRadius: 0,
377
306
  borderBottomRightRadius: 0,
378
307
  overflow: 'hidden',
379
- }, children: [loading ? (_jsxs("div", { style: {
308
+ }, children: [loading ? (_jsx("div", { style: {
380
309
  height: 'calc(100% - 70px)',
381
310
  width: '100%',
382
311
  display: 'flex',
383
312
  alignItems: 'center',
384
313
  justifyContent: 'center',
385
314
  background: '#F9F9F9',
386
- }, children: [LoadingComponent && _jsx(LoadingComponent, {}), !LoadingComponent && (_jsxs("svg", { width: "24", height: "24", children: [_jsx("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: theme?.primaryTextColor || '#364153', fill: "none", transform: "rotate(-90 12 12)", children: _jsx("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), _jsx("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: _jsx("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }))] })) : (_jsx(MonacoEditor, { height: "calc(100% - 70px)", width: "100%", defaultLanguage: "pgsql", defaultValue: "", value: query, loading: _jsx("div", {}), options: {
315
+ }, children: _jsx(LoadingComponent, {}) })) : (_jsx(MonacoEditor, { height: "calc(100% - 70px)", width: "100%", defaultLanguage: "pgsql", defaultValue: "", value: query, loading: _jsx("div", {}), options: {
387
316
  wordWrap: 'on',
388
317
  minimap: {
389
318
  enabled: false,
390
319
  },
391
320
  padding: { top: 16 },
392
- }, onChange: (query) => setQuery(query), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: setEditorTheme })), _jsx("div", { style: {
321
+ }, onChange: (query) => setQuery(query || ''), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: setEditorTheme })), _jsx("div", { style: {
393
322
  display: 'flex',
394
323
  flexDirection: 'row',
395
324
  alignItems: 'center',
396
325
  height: 70,
397
326
  }, children: _jsxs("div", { style: { display: 'flex', gap: 12 }, children: [_jsx(ButtonComponent, { onClick: handleRunQuery, label: "Run query" }), isNewQueryEnabled && (_jsx(SecondaryButtonComponent, { onClick: handleClearQuery, label: "Clear query" }))] }) })] }));
398
327
  };
399
- export const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick = () => { }, }) => {
328
+ export const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick, }) => {
400
329
  if (loading) {
401
330
  return (_jsxs("div", { style: {
402
331
  // maxHeight: 700,
@@ -424,7 +353,7 @@ export const SchemaListComponent = ({ schema, theme, loading, LoadingComponent,
424
353
  paddingRight: 30,
425
354
  }, children: schema.map((elem, index) => (_jsx(SchemaItem, { elem: elem, theme: theme, index: index, onClick: onClick }, elem.displayName + index))) }));
426
355
  };
427
- function SchemaItem({ elem, theme, index, onClick }) {
356
+ function SchemaItem({ elem, theme, index, onClick, }) {
428
357
  const [isOpen, setIsOpen] = useState(index === 0);
429
358
  const schemaContainerStyle = {
430
359
  display: 'flex',
@@ -446,7 +375,11 @@ function SchemaItem({ elem, theme, index, onClick }) {
446
375
  const schemaRowHoverStyle = {
447
376
  background: theme.selectUnderlayColor,
448
377
  };
449
- return (_jsxs("div", { style: schemaContainerStyle, children: [_jsxs("div", { style: { ...schemaRowStyle, ...(isOpen && schemaRowHoverStyle) }, children: [_jsx("p", { style: {
378
+ return (_jsxs("div", { style: schemaContainerStyle, children: [_jsxs("div", { style: {
379
+ cursor: 'pointer',
380
+ ...schemaRowStyle,
381
+ ...(isOpen && schemaRowHoverStyle),
382
+ }, onClick: () => setIsOpen(!isOpen), children: [_jsx("p", { style: {
450
383
  marginLeft: theme.padding,
451
384
  fontSize: 13,
452
385
  color: '#384151',
@@ -456,10 +389,12 @@ function SchemaItem({ elem, theme, index, onClick }) {
456
389
  margin: 0,
457
390
  textOverflow: 'ellipsis',
458
391
  overflow: 'hidden',
459
- cursor: 'pointer',
460
392
  userSelect: 'none',
461
393
  fontFamily: theme?.fontFamily,
462
- }, title: elem.displayName, onClick: onClick, children: elem.displayName }), _jsx("div", { style: {
394
+ }, title: elem.displayName, onClick: (event) => {
395
+ event.stopPropagation();
396
+ onClick(event);
397
+ }, children: elem.displayName }), _jsx("div", { style: {
463
398
  display: 'flex',
464
399
  alignItems: 'center',
465
400
  justifyContent: 'center',
@@ -467,9 +402,8 @@ function SchemaItem({ elem, theme, index, onClick }) {
467
402
  paddingTop: 12,
468
403
  paddingBottom: 12,
469
404
  paddingLeft: 0,
470
- cursor: 'pointer',
471
405
  userSelect: 'none',
472
- }, onClick: () => setIsOpen(!isOpen), children: isOpen ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: _jsx("path", { fillRule: "evenodd", d: "M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z", clipRule: "evenodd" }) })) : (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: _jsx("path", { fillRule: "evenodd", d: "M16.28 11.47a.75.75 0 010 1.06l-7.5 7.5a.75.75 0 01-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 011.06-1.06l7.5 7.5z", clipRule: "evenodd" }) })) })] }), isOpen ? (_jsx("div", { style: {
406
+ }, children: isOpen ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: _jsx("path", { fillRule: "evenodd", d: "M12.53 16.28a.75.75 0 01-1.06 0l-7.5-7.5a.75.75 0 011.06-1.06L12 14.69l6.97-6.97a.75.75 0 111.06 1.06l-7.5 7.5z", clipRule: "evenodd" }) })) : (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: _jsx("path", { fillRule: "evenodd", d: "M16.28 11.47a.75.75 0 010 1.06l-7.5 7.5a.75.75 0 01-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 011.06-1.06l7.5 7.5z", clipRule: "evenodd" }) })) })] }), isOpen ? (_jsx("div", { style: {
473
407
  paddingBottom: theme.padding,
474
408
  display: 'flex',
475
409
  flexDirection: 'column',
@@ -505,5 +439,5 @@ function SchemaItem({ elem, theme, index, onClick }) {
505
439
  padding: 0,
506
440
  margin: 0,
507
441
  fontFamily: theme?.fontFamily,
508
- }, children: elem.fieldType })] }, elem.displayName + elem.index))) })) : null] }));
442
+ }, children: elem.fieldType })] }, elem.displayName + index))) })) : null] }));
509
443
  }
@@ -77,7 +77,7 @@ export interface TableProps {
77
77
  /**
78
78
  * Whether to show the download csv button.
79
79
  */
80
- showDownloadCSVButton?: boolean;
80
+ hideCSVDownloadButton?: boolean;
81
81
  /**
82
82
  * Whether this table component is loading.
83
83
  */
package/dist/esm/Table.js CHANGED
@@ -43,11 +43,11 @@ const Table = (props) => {
43
43
  const { dashboardFilters } = useContext(DashboardFiltersContext);
44
44
  const [client, _] = useContext(ClientContext);
45
45
  if ('rows' in data && 'columns' in data) {
46
- return (_jsx(QuillTable, { showDownloadCSVButton: data.showDownloadCSVButton, downloadFileName: data.csvFilename, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV }));
46
+ return (_jsx(QuillTable, { hideCSVDownloadButton: data.hideCSVDownloadButton, downloadFileName: data.csvFilename, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV }));
47
47
  }
48
- return (_jsx(ChartUpdater, { showDownloadCSVButton: data.showDownloadCSVButton, dispatch: dispatch, dashboard: dashboard, chartId: data.chartId, className: data.className, containerStyle: data.containerStyle, dashboardFilters: dashboardFilters, client: client, csvFilename: data.csvFilename, LoadingComponent: data.LoadingComponent }));
48
+ return (_jsx(ChartUpdater, { hideCSVDownloadButton: data.hideCSVDownloadButton, dispatch: dispatch, dashboard: dashboard, chartId: data.chartId, className: data.className, containerStyle: data.containerStyle, dashboardFilters: dashboardFilters, client: client, csvFilename: data.csvFilename, LoadingComponent: data.LoadingComponent }));
49
49
  };
50
- const ChartUpdater = ({ chartId, containerStyle, className, dashboard, dispatch, client, dashboardFilters, csvFilename, showDownloadCSVButton = true, LoadingComponent, }) => {
50
+ const ChartUpdater = ({ chartId, containerStyle, className, dashboard, dispatch, client, dashboardFilters, csvFilename, hideCSVDownloadButton = true, LoadingComponent, }) => {
51
51
  const { rows, loading } = useMemoizedRows(chartId);
52
52
  const { downloadCSV } = useExport(chartId);
53
53
  useEffect(() => {
@@ -94,7 +94,7 @@ const ChartUpdater = ({ chartId, containerStyle, className, dashboard, dispatch,
94
94
  isSubscribed = false;
95
95
  };
96
96
  }, [dashboardFilters, client.customerId, chartId]);
97
- return (_jsx(QuillTable, { showDownloadCSVButton: showDownloadCSVButton,
97
+ return (_jsx(QuillTable, { hideCSVDownloadButton: hideCSVDownloadButton,
98
98
  // @ts-ignore
99
99
  downloadFileName: csvFilename || dashboard[chartId]?.name || '',
100
100
  // @ts-ignore
@@ -10,7 +10,7 @@ export function DashboardFilter({ filter, onChangeFilter, SelectComponent, DateR
10
10
  if (filter.filterType === 'string') {
11
11
  setFilterValue(filter.selectedValue);
12
12
  }
13
- if (filter.filterType == 'date_range') {
13
+ if (filter.filterType === 'date_range') {
14
14
  setDateFilter(filter.preset.label);
15
15
  if (filter?.comparisonRange?.value) {
16
16
  const newComparisonRange = COMPARISON_OPTIONS.find((option) => {
@@ -1 +1 @@
1
- {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,aAAa,EACb,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAqRlC"}
1
+ {"version":3,"file":"MetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/MetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAC3C,aAAa,EACb,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA6QlC"}
@@ -19,14 +19,14 @@ export default function QuillMetricComponent({ dashboardItem, onClick, error, is
19
19
  return pivot && data?.rows
20
20
  ? generatePivotTable(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
21
21
  dateFilter
22
- ? [dateFilter.startDate || null, dateFilter.endDate || null, null]
23
- : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
24
- ? [
25
- dateFilter?.comparisonRange.startDate,
26
- dateFilter?.comparisonRange.endDate,
27
- null,
28
- ]
29
- : [null, null, null])
22
+ ? { start: dateFilter.startDate, end: dateFilter.endDate }
23
+ : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
24
+ dateFilter?.comparisonRange?.endDate
25
+ ? {
26
+ start: dateFilter.comparisonRange.startDate,
27
+ end: dateFilter.comparisonRange.endDate,
28
+ }
29
+ : undefined)
30
30
  : null;
31
31
  }, [config?.pivot]);
32
32
  const primaryMetricLabel = data?.filtersApplied?.date_range?.preset?.label;
@@ -96,10 +96,7 @@ export default function QuillMetricComponent({ dashboardItem, onClick, error, is
96
96
  color: theme.secondaryTextColor,
97
97
  maxWidth: '100%',
98
98
  width: '100%',
99
- }, children: "No results" })) : !pivotTable && rows && rows.length > 100 ? (_jsx(ChartError, { containerStyle: {
100
- maxHeight: '78px',
101
- height: '100%',
102
- }, label: "Charts can only display 100 rows. Please add a pivot or modify the query." })) : (_jsx("div", { style: {
99
+ }, children: "No results" })) : (_jsx("div", { style: {
103
100
  padding: 0,
104
101
  height: '100%',
105
102
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA2JlC"}
1
+ {"version":3,"file":"TableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TableComponent.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,OAAO,EACP,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA+JlC"}
@@ -20,14 +20,14 @@ export default function QuillTableComponent({ dashboardItem, onClick, isLoading,
20
20
  return pivot && data?.rows
21
21
  ? generatePivotTable(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
22
22
  dateFilter
23
- ? [dateFilter.startDate || null, dateFilter.endDate || null, null]
24
- : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
25
- ? [
26
- dateFilter?.comparisonRange.startDate,
27
- dateFilter?.comparisonRange.endDate,
28
- null,
29
- ]
30
- : [null, null, null])
23
+ ? { start: dateFilter.startDate, end: dateFilter.endDate }
24
+ : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
25
+ dateFilter?.comparisonRange?.endDate
26
+ ? {
27
+ start: dateFilter.comparisonRange.startDate,
28
+ end: dateFilter.comparisonRange.endDate,
29
+ }
30
+ : undefined)
31
31
  : null;
32
32
  }, [config?.pivot]);
33
33
  const columns = pivotTable?.columns ?? data.columns ?? data.yAxisFields;
@@ -37,8 +37,10 @@ export default function QuillTableComponent({ dashboardItem, onClick, isLoading,
37
37
  // Walk through data.columns and pick off the labels from yAxisFields
38
38
  columns.forEach((col, index) => {
39
39
  // ADD THE RIGHT FIELD TYPE FOR THE VALUE COLUMNS
40
- if (valueFieldType && index !== 0) {
41
- col.format = valueFieldType;
40
+ if ((valueFieldType ||
41
+ ['min', 'max'].includes(config?.pivot?.aggregationType || '')) &&
42
+ index !== 0) {
43
+ col.format = valueFieldType || 'two_decimal_places';
42
44
  }
43
45
  if (!data.yAxisFields)
44
46
  return;
@@ -97,7 +99,7 @@ export default function QuillTableComponent({ dashboardItem, onClick, isLoading,
97
99
  } })) : (_jsx(QuillTable, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: 10, containerStyle: {
98
100
  width: '100%',
99
101
  height: '400px',
100
- }, showDownloadCSVButton: true, downloadCSV: () => {
102
+ }, hideCSVDownloadButton: true, downloadCSV: () => {
101
103
  downloadCSV({
102
104
  rows: pivotTable?.rows ?? data.rows ?? [],
103
105
  fields: columns ?? data.yAxisFields,
@@ -2,11 +2,14 @@ import React from 'react';
2
2
  import { ButtonComponentProps } from './UiComponents';
3
3
  export interface TableComponentProps {
4
4
  rows: any[];
5
- columns: any[];
5
+ columns: {
6
+ label: string;
7
+ field: string;
8
+ }[];
6
9
  className?: string;
7
10
  containerStyle?: React.CSSProperties;
8
11
  isLoading?: boolean;
9
- showDownloadCSVButton?: boolean;
12
+ hideCSVDownloadButton?: boolean;
10
13
  downloadFileName?: string;
11
14
  downloadCSV?: () => void;
12
15
  LoadingComponent?: () => JSX.Element;
@@ -14,5 +17,5 @@ export interface TableComponentProps {
14
17
  rowsPerPage?: number;
15
18
  emptyStateLabel?: string;
16
19
  }
17
- export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, className, LoadingComponent, rowsPerPage, emptyStateLabel, downloadCSV, }: TableComponentProps): import("react/jsx-runtime").JSX.Element;
20
+ export default function QuillTable({ rows, columns, isLoading, hideCSVDownloadButton, downloadFileName, containerStyle, className, LoadingComponent, rowsPerPage, emptyStateLabel, downloadCSV, }: TableComponentProps): import("react/jsx-runtime").JSX.Element;
18
21
  //# sourceMappingURL=QuillTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAA0C,EAC1C,WAAgB,EAChB,eAA8B,EAC9B,WAAW,GACZ,EAAE,mBAAmB,2CAyZrB"}
1
+ {"version":3,"file":"QuillTable.d.ts","sourceRoot":"","sources":["../../../src/components/QuillTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAKxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,qBAA4B,EAC5B,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAA0C,EAC1C,WAAgB,EAChB,eAA8B,EAC9B,WAAW,GACZ,EAAE,mBAAmB,2CAyZrB"}
@@ -3,11 +3,11 @@ import { useContext, useEffect, useState } from 'react';
3
3
  import { compareValues } from '../utils/valueFormatter';
4
4
  import { ThemeContext } from '../Context';
5
5
  import ChartSkeleton from './Chart/ChartSkeleton';
6
- export default function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, className, LoadingComponent = () => _jsx(ChartSkeleton, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
6
+ export default function QuillTable({ rows, columns, isLoading, hideCSVDownloadButton = true, downloadFileName, containerStyle, className, LoadingComponent = () => _jsx(ChartSkeleton, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
7
7
  const [activeRows, setActiveRows] = useState([]);
8
8
  const [page, setPage] = useState(1);
9
9
  const [maxPage, setMaxPage] = useState(1);
10
- const [sortColumn, setSortColumn] = useState(null);
10
+ const [sortColumn, setSortColumn] = useState('');
11
11
  const [sortDirection, setSortDirection] = useState('desc');
12
12
  const [theme] = useContext(ThemeContext);
13
13
  const [isPaginating, setIsPaginating] = useState(true);
@@ -202,7 +202,7 @@ export default function QuillTable({ rows, columns, isLoading, showDownloadCSVBu
202
202
  justifyContent: 'space-between',
203
203
  width: '100%',
204
204
  height: 37,
205
- }, children: [showDownloadCSVButton ? (_jsx("button", { onClick: downloadCSV, style: {
205
+ }, children: [!hideCSVDownloadButton ? (_jsx("button", { onClick: downloadCSV, style: {
206
206
  fontSize: 14,
207
207
  paddingLeft: 12,
208
208
  fontFamily: theme?.fontFamily,
@@ -21,7 +21,7 @@ export declare function convertGroupBy(ast: AST, prevPivot: Pivot | undefined, s
21
21
  pivot: Pivot;
22
22
  } | {
23
23
  pivot: Partial<{
24
- aggregationType: "sum" | "average" | "count" | "avg" | "max" | "min";
24
+ aggregationType: "min" | "max" | "sum" | "average" | "count" | "avg";
25
25
  valueField: string;
26
26
  valueFieldType?: string | undefined;
27
27
  rowField?: string | undefined;
@@ -36,7 +36,7 @@ export declare function convertGroupBy(ast: AST, prevPivot: Pivot | undefined, s
36
36
  } | {
37
37
  pivot: {
38
38
  title: string;
39
- aggregationType?: "sum" | "average" | "count" | "avg" | "max" | "min" | undefined;
39
+ aggregationType?: "min" | "max" | "sum" | "average" | "count" | "avg" | undefined;
40
40
  valueField?: string | undefined;
41
41
  valueFieldType?: string | undefined;
42
42
  rowField?: string | undefined;