@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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"}
@@ -3,10 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SchemaListComponent = exports.convertPostgresColumn = void 0;
6
+ exports.SchemaListComponent = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  /* eslint-disable no-unused-vars */
9
- // @ts-nocheck
10
9
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
10
  const react_1 = require("react");
12
11
  const react_2 = __importDefault(require("@monaco-editor/react"));
@@ -18,84 +17,8 @@ const UiComponents_2 = require("./components/UiComponents");
18
17
  const width_1 = require("./utils/width");
19
18
  const QuillCard_1 = require("./components/QuillCard");
20
19
  const QuillSelect_1 = require("./components/QuillSelect");
21
- function convertPostgresColumn(column) {
22
- let format;
23
- let fieldType;
24
- switch (column.dataTypeID) {
25
- case 16: // bool
26
- format = 'string';
27
- break;
28
- case 20: // int8
29
- case 21: // int2
30
- case 23: // int4
31
- format = 'whole_number';
32
- break;
33
- case 700: // float4
34
- case 701: // float8
35
- case 1700: // numeric
36
- format = 'two_decimal_places';
37
- break;
38
- case 1082: // date
39
- case 1083: // time
40
- case 1184: // timestamptz
41
- case 1114: // timestamp
42
- format = 'MMM_dd_yyyy';
43
- break;
44
- case 1186: // interval
45
- case 1043: // varchar
46
- default:
47
- format = 'string';
48
- }
49
- switch (column.dataTypeID) {
50
- case 16: // boolean
51
- fieldType = 'bool';
52
- break;
53
- case 20: // int8
54
- fieldType = 'int8';
55
- break;
56
- case 21: // int2
57
- fieldType = 'int2';
58
- break;
59
- case 23: // int4
60
- fieldType = 'int4';
61
- break;
62
- case 700: // float4
63
- fieldType = 'float4';
64
- break;
65
- case 701: // float8
66
- fieldType = 'float8';
67
- break;
68
- case 1700: // numeric
69
- fieldType = 'numeric';
70
- break;
71
- case 1082: // date
72
- fieldType = 'date';
73
- break;
74
- case 1083: // time
75
- fieldType = 'time';
76
- break;
77
- case 1184: // timestamptz
78
- fieldType = 'timestamptz';
79
- break;
80
- case 1186: // interval
81
- fieldType = 'interval';
82
- break;
83
- case 1114: // timestamp
84
- fieldType = 'timestamp';
85
- break;
86
- case 1043: // varchar
87
- default:
88
- fieldType = 'varchar';
89
- }
90
- return {
91
- name: column.name,
92
- label: column.name,
93
- field: column.name,
94
- format,
95
- fieldType,
96
- };
97
- }
98
- exports.convertPostgresColumn = convertPostgresColumn;
20
+ const valueFormatter_1 = require("./utils/valueFormatter");
21
+ const columnProcessing_1 = require("./utils/columnProcessing");
99
22
  function defineEditorTheme(monaco, theme) {
100
23
  monaco.editor.defineTheme('onedark', {
101
24
  base: theme.darkMode ? 'vs-dark' : 'vs',
@@ -146,14 +69,13 @@ function setEditorTheme(editor, monaco) {
146
69
  * ### SQLEditor API
147
70
  * @see https://docs.quillsql.com/components/sql-editor
148
71
  */
149
- function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, TableComponent = UiComponents_1.QuillTableComponent, isNewQueryEnabled = false, LoadingComponent, ModalComponent = UiComponents_1.MemoizedModal, PopoverComponent = UiComponents_1.MemoizedPopover, CardComponent = QuillCard_1.QuillCard, LabelComponent = UiComponents_1.MemoizedLabel, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, TextComponent = UiComponents_1.MemoizedText, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, defaultQuery, 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, }) {
72
+ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, TableComponent = UiComponents_1.QuillTableComponent, isNewQueryEnabled = false, LoadingComponent = UiComponents_1.QuillLoadingComponent, ModalComponent = UiComponents_1.MemoizedModal, PopoverComponent = UiComponents_1.MemoizedPopover, CardComponent = QuillCard_1.QuillCard, LabelComponent = UiComponents_1.MemoizedLabel, HeaderComponent = UiComponents_1.MemoizedHeader, SubHeaderComponent = UiComponents_1.MemoizedSubHeader, TextComponent = UiComponents_1.MemoizedText, ErrorMessageComponent = UiComponents_1.QuillErrorMessageComponent, ChartBuilderInputRowContainer = UiComponents_1.QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = UiComponents_1.QuillChartBuilderInputColumnContainer, PivotRowContainer = UiComponents_1.QuillPivotRowContainer, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, defaultQuery, 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, }) {
150
73
  const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
151
74
  const [client] = (0, react_1.useContext)(Context_1.ClientContext);
152
75
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
153
76
  const [query, setQuery] = (0, react_1.useState)(defaultQuery);
154
77
  const [rows, setRows] = (0, react_1.useState)([]);
155
78
  const [columns, setColumns] = (0, react_1.useState)([]);
156
- const [fields, setFields] = (0, react_1.useState)([]);
157
79
  const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
158
80
  const [errorMessage, setErrorMessage] = (0, react_1.useState)('');
159
81
  const [sqlResponseLoading, setSqlResponseLoading] = (0, react_1.useState)(false);
@@ -163,6 +85,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
163
85
  const [displayTable, setDisplayTable] = (0, react_1.useState)(false);
164
86
  const formRef = (0, react_1.useRef)(null);
165
87
  const [searchBarWidth, setSearchBarWidth] = (0, react_1.useState)(200);
88
+ const [formattedRows, setFormattedRows] = (0, react_1.useState)([]);
166
89
  (0, react_1.useEffect)(() => {
167
90
  // Since the TextInput component takes a required numeric width parameter,
168
91
  // we dynamically calculate the width of this component here.
@@ -175,8 +98,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
175
98
  window.removeEventListener('resize', handleResize);
176
99
  };
177
100
  }, []);
178
- const getSchema = async (isSubscribed) => {
179
- setSchemaLoading(true);
101
+ const getSchema = async () => {
180
102
  const { queryEndpoint, queryHeaders, publicKey } = client;
181
103
  const response = await fetch(`${queryEndpoint}`, {
182
104
  method: 'POST',
@@ -194,26 +116,21 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
194
116
  }),
195
117
  });
196
118
  const results = await response.json();
197
- if (isSubscribed) {
198
- if (results.data?.data) {
199
- setSchema(results.data.data.tables);
200
- setSchemaLoading(false);
201
- }
202
- else {
203
- setSchema(results.data.tables);
204
- setSchemaLoading(false);
205
- }
119
+ if (results.data?.data) {
120
+ setSchema(results.data.data.tables);
121
+ setSchemaLoading(false);
122
+ }
123
+ else {
124
+ setSchema(results.data.tables);
125
+ setSchemaLoading(false);
206
126
  }
207
127
  };
208
128
  (0, react_1.useEffect)(() => {
209
- let isSubscribed = true;
210
- if (isSubscribed && client) {
211
- getSchema(isSubscribed);
129
+ if (client && !schemaLoading) {
130
+ setSchemaLoading(true);
131
+ getSchema();
212
132
  }
213
- return () => {
214
- isSubscribed = false;
215
- };
216
- }, [client]);
133
+ }, [client.publicKey]);
217
134
  const handleRunSqlPrompt = async () => {
218
135
  setSqlResponseLoading(true);
219
136
  const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `quillai`, {
@@ -246,7 +163,6 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
246
163
  setErrorMessage('Failed to run SQL query: ' + resp.errorMessage);
247
164
  setRows([]);
248
165
  setColumns([]);
249
- setFields([]);
250
166
  return;
251
167
  }
252
168
  setSqlQueryLoading(false);
@@ -254,15 +170,27 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
254
170
  if (resp.rows.length === 0) {
255
171
  setErrorMessage('No data found');
256
172
  }
257
- setRows(resp.rows && resp.rows.length ? resp.rows : []);
173
+ const temp_rows = resp.rows && resp.rows.length ? resp.rows : [];
174
+ const processedFields = resp.fields.map((elem) => (0, columnProcessing_1.convertPostgresColumn)(elem));
175
+ setRows(temp_rows);
176
+ setFormattedRows(temp_rows.map((row) => {
177
+ return processedFields.reduce((formattedRow, column) => {
178
+ // Apply the format function to each field in the row
179
+ const formattedValue = (0, valueFormatter_1.quillFormat)({
180
+ value: row[column.field],
181
+ format: column.format,
182
+ });
183
+ formattedRow[column.field] = formattedValue;
184
+ return formattedRow;
185
+ }, {});
186
+ }));
258
187
  if (onChangeData) {
259
- onChangeData(resp.rows && resp.rows.length ? resp.rows : []);
188
+ onChangeData(temp_rows);
260
189
  }
261
- setColumns(resp.fields.map((elem) => convertPostgresColumn(elem)));
190
+ setColumns(processedFields);
262
191
  if (onChangeColumns) {
263
- onChangeColumns(resp.fields.map((elem) => convertPostgresColumn(elem)));
192
+ onChangeColumns(processedFields);
264
193
  }
265
- setFields(resp.fields);
266
194
  if (onChangeFields) {
267
195
  onChangeFields(resp.fields);
268
196
  }
@@ -293,8 +221,8 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
293
221
  };
294
222
  const handleClickSchemaItem = async (event) => {
295
223
  const name = event.target.textContent;
296
- if (query.length > 0) {
297
- await navigator.clipboard.writeText(name);
224
+ if (query && query.length > 0) {
225
+ await navigator.clipboard.writeText(name || '');
298
226
  }
299
227
  else {
300
228
  setQuery(`SELECT * FROM ${name};`);
@@ -302,7 +230,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
302
230
  };
303
231
  (0, react_1.useEffect)(() => {
304
232
  if (onChangeQuery) {
305
- onChangeQuery(query);
233
+ onChangeQuery(query || '');
306
234
  }
307
235
  }, [query]);
308
236
  return ((0, jsx_runtime_1.jsxs)("div", { style: { backgroundColor: theme.backgroundColor, ...containerStyle }, className: className, children: [(!isChartBuilderHorizontalView ||
@@ -333,7 +261,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
333
261
  gap: 12,
334
262
  paddingTop: 16,
335
263
  paddingBottom: 16,
336
- }, 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: {
264
+ }, 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: {
337
265
  display: 'flex',
338
266
  flexDirection: 'column',
339
267
  height: 'calc(50% - 108px)',
@@ -358,17 +286,17 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
358
286
  borderRadius: 6,
359
287
  padding: 20,
360
288
  width: '100%',
361
- }, 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: {
289
+ }, 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: formattedRows, columns: columns }))] }), isChartBuilderEnabled && rows.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
362
290
  display: 'flex',
363
291
  flexDirection: 'row',
364
292
  alignItems: 'center',
365
293
  justifyContent: 'flex-end',
366
294
  width: '100%',
367
295
  height: '70px',
368
- }, 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, 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 })] }));
296
+ }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => setIsChartBuilderOpen(true), label: addToDashboardButtonLabel }) }))] })] }) }) })), (0, jsx_runtime_1.jsx)(ChartBuilder_1.ChartBuilderWithModal, { rows: rows, columns: columns, query: query, isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, 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 })] }));
369
297
  }
370
298
  exports.default = SQLEditor;
371
- const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent, }) => {
299
+ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent = UiComponents_1.QuillLoadingComponent, }) => {
372
300
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
373
301
  // maxHeight: 700,
374
302
  width: '100%',
@@ -384,27 +312,27 @@ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI,
384
312
  borderTopRightRadius: 0,
385
313
  borderBottomRightRadius: 0,
386
314
  overflow: 'hidden',
387
- }, children: [loading ? ((0, jsx_runtime_1.jsxs)("div", { style: {
315
+ }, children: [loading ? ((0, jsx_runtime_1.jsx)("div", { style: {
388
316
  height: 'calc(100% - 70px)',
389
317
  width: '100%',
390
318
  display: 'flex',
391
319
  alignItems: 'center',
392
320
  justifyContent: 'center',
393
321
  background: '#F9F9F9',
394
- }, children: [LoadingComponent && (0, jsx_runtime_1.jsx)(LoadingComponent, {}), !LoadingComponent && ((0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "24", children: [(0, jsx_runtime_1.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: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), (0, jsx_runtime_1.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: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }))] })) : ((0, jsx_runtime_1.jsx)(react_2.default, { height: "calc(100% - 70px)", width: "100%", defaultLanguage: "pgsql", defaultValue: "", value: query, loading: (0, jsx_runtime_1.jsx)("div", {}), options: {
322
+ }, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) })) : ((0, jsx_runtime_1.jsx)(react_2.default, { height: "calc(100% - 70px)", width: "100%", defaultLanguage: "pgsql", defaultValue: "", value: query, loading: (0, jsx_runtime_1.jsx)("div", {}), options: {
395
323
  wordWrap: 'on',
396
324
  minimap: {
397
325
  enabled: false,
398
326
  },
399
327
  padding: { top: 16 },
400
- }, onChange: (query) => setQuery(query), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: setEditorTheme })), (0, jsx_runtime_1.jsx)("div", { style: {
328
+ }, onChange: (query) => setQuery(query || ''), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: setEditorTheme })), (0, jsx_runtime_1.jsx)("div", { style: {
401
329
  display: 'flex',
402
330
  flexDirection: 'row',
403
331
  alignItems: 'center',
404
332
  height: 70,
405
333
  }, 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" }))] }) })] }));
406
334
  };
407
- const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick = () => { }, }) => {
335
+ const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width, onClick, }) => {
408
336
  if (loading) {
409
337
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
410
338
  // maxHeight: 700,
@@ -433,7 +361,7 @@ const SchemaListComponent = ({ schema, theme, loading, LoadingComponent, width,
433
361
  }, children: schema.map((elem, index) => ((0, jsx_runtime_1.jsx)(SchemaItem, { elem: elem, theme: theme, index: index, onClick: onClick }, elem.displayName + index))) }));
434
362
  };
435
363
  exports.SchemaListComponent = SchemaListComponent;
436
- function SchemaItem({ elem, theme, index, onClick }) {
364
+ function SchemaItem({ elem, theme, index, onClick, }) {
437
365
  const [isOpen, setIsOpen] = (0, react_1.useState)(index === 0);
438
366
  const schemaContainerStyle = {
439
367
  display: 'flex',
@@ -455,7 +383,11 @@ function SchemaItem({ elem, theme, index, onClick }) {
455
383
  const schemaRowHoverStyle = {
456
384
  background: theme.selectUnderlayColor,
457
385
  };
458
- return ((0, jsx_runtime_1.jsxs)("div", { style: schemaContainerStyle, children: [(0, jsx_runtime_1.jsxs)("div", { style: { ...schemaRowStyle, ...(isOpen && schemaRowHoverStyle) }, children: [(0, jsx_runtime_1.jsx)("p", { style: {
386
+ return ((0, jsx_runtime_1.jsxs)("div", { style: schemaContainerStyle, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
387
+ cursor: 'pointer',
388
+ ...schemaRowStyle,
389
+ ...(isOpen && schemaRowHoverStyle),
390
+ }, onClick: () => setIsOpen(!isOpen), children: [(0, jsx_runtime_1.jsx)("p", { style: {
459
391
  marginLeft: theme.padding,
460
392
  fontSize: 13,
461
393
  color: '#384151',
@@ -465,10 +397,12 @@ function SchemaItem({ elem, theme, index, onClick }) {
465
397
  margin: 0,
466
398
  textOverflow: 'ellipsis',
467
399
  overflow: 'hidden',
468
- cursor: 'pointer',
469
400
  userSelect: 'none',
470
401
  fontFamily: theme?.fontFamily,
471
- }, title: elem.displayName, onClick: onClick, children: elem.displayName }), (0, jsx_runtime_1.jsx)("div", { style: {
402
+ }, title: elem.displayName, onClick: (event) => {
403
+ event.stopPropagation();
404
+ onClick(event);
405
+ }, children: elem.displayName }), (0, jsx_runtime_1.jsx)("div", { style: {
472
406
  display: 'flex',
473
407
  alignItems: 'center',
474
408
  justifyContent: 'center',
@@ -476,9 +410,8 @@ function SchemaItem({ elem, theme, index, onClick }) {
476
410
  paddingTop: 12,
477
411
  paddingBottom: 12,
478
412
  paddingLeft: 0,
479
- cursor: 'pointer',
480
413
  userSelect: 'none',
481
- }, onClick: () => setIsOpen(!isOpen), children: isOpen ? ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: (0, jsx_runtime_1.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" }) })) : ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: (0, jsx_runtime_1.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 ? ((0, jsx_runtime_1.jsx)("div", { style: {
414
+ }, children: isOpen ? ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: (0, jsx_runtime_1.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" }) })) : ((0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", width: "12", height: "12", fill: theme.secondaryTextColor, children: (0, jsx_runtime_1.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 ? ((0, jsx_runtime_1.jsx)("div", { style: {
482
415
  paddingBottom: theme.padding,
483
416
  display: 'flex',
484
417
  flexDirection: 'column',
@@ -514,5 +447,5 @@ function SchemaItem({ elem, theme, index, onClick }) {
514
447
  padding: 0,
515
448
  margin: 0,
516
449
  fontFamily: theme?.fontFamily,
517
- }, children: elem.fieldType })] }, elem.displayName + elem.index))) })) : null] }));
450
+ }, children: elem.fieldType })] }, elem.displayName + index))) })) : null] }));
518
451
  }
@@ -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/cjs/Table.js CHANGED
@@ -48,11 +48,11 @@ const Table = (props) => {
48
48
  const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
49
49
  const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
50
50
  if ('rows' in data && 'columns' in data) {
51
- return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { 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 }));
51
+ return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { 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 }));
52
52
  }
53
- return ((0, jsx_runtime_1.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 }));
53
+ return ((0, jsx_runtime_1.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 }));
54
54
  };
55
- const ChartUpdater = ({ chartId, containerStyle, className, dashboard, dispatch, client, dashboardFilters, csvFilename, showDownloadCSVButton = true, LoadingComponent, }) => {
55
+ const ChartUpdater = ({ chartId, containerStyle, className, dashboard, dispatch, client, dashboardFilters, csvFilename, hideCSVDownloadButton = true, LoadingComponent, }) => {
56
56
  const { rows, loading } = (0, useFormat_1.useMemoizedRows)(chartId);
57
57
  const { downloadCSV } = (0, useExport_1.useExport)(chartId);
58
58
  (0, react_1.useEffect)(() => {
@@ -99,7 +99,7 @@ const ChartUpdater = ({ chartId, containerStyle, className, dashboard, dispatch,
99
99
  isSubscribed = false;
100
100
  };
101
101
  }, [dashboardFilters, client.customerId, chartId]);
102
- return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { showDownloadCSVButton: showDownloadCSVButton,
102
+ return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { hideCSVDownloadButton: hideCSVDownloadButton,
103
103
  // @ts-ignore
104
104
  downloadFileName: csvFilename || dashboard[chartId]?.name || '',
105
105
  // @ts-ignore
@@ -13,7 +13,7 @@ function DashboardFilter({ filter, onChangeFilter, SelectComponent, DateRangePic
13
13
  if (filter.filterType === 'string') {
14
14
  setFilterValue(filter.selectedValue);
15
15
  }
16
- if (filter.filterType == 'date_range') {
16
+ if (filter.filterType === 'date_range') {
17
17
  setDateFilter(filter.preset.label);
18
18
  if (filter?.comparisonRange?.value) {
19
19
  const newComparisonRange = dateRangePickerUtils_1.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"}
@@ -24,14 +24,14 @@ function QuillMetricComponent({ dashboardItem, onClick, error, isLoading, }) {
24
24
  return pivot && data?.rows
25
25
  ? (0, PivotModal_1.generatePivotTable)(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
26
26
  dateFilter
27
- ? [dateFilter.startDate || null, dateFilter.endDate || null, null]
28
- : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
29
- ? [
30
- dateFilter?.comparisonRange.startDate,
31
- dateFilter?.comparisonRange.endDate,
32
- null,
33
- ]
34
- : [null, null, null])
27
+ ? { start: dateFilter.startDate, end: dateFilter.endDate }
28
+ : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
29
+ dateFilter?.comparisonRange?.endDate
30
+ ? {
31
+ start: dateFilter.comparisonRange.startDate,
32
+ end: dateFilter.comparisonRange.endDate,
33
+ }
34
+ : undefined)
35
35
  : null;
36
36
  }, [config?.pivot]);
37
37
  const primaryMetricLabel = data?.filtersApplied?.date_range?.preset?.label;
@@ -101,10 +101,7 @@ function QuillMetricComponent({ dashboardItem, onClick, error, isLoading, }) {
101
101
  color: theme.secondaryTextColor,
102
102
  maxWidth: '100%',
103
103
  width: '100%',
104
- }, children: "No results" })) : !pivotTable && rows && rows.length > 100 ? ((0, jsx_runtime_1.jsx)(ChartError_1.default, { containerStyle: {
105
- maxHeight: '78px',
106
- height: '100%',
107
- }, label: "Charts can only display 100 rows. Please add a pivot or modify the query." })) : ((0, jsx_runtime_1.jsx)("div", { style: {
104
+ }, children: "No results" })) : ((0, jsx_runtime_1.jsx)("div", { style: {
108
105
  padding: 0,
109
106
  height: '100%',
110
107
  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"}
@@ -25,14 +25,14 @@ function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }) {
25
25
  return pivot && data?.rows
26
26
  ? (0, PivotModal_1.generatePivotTable)(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
27
27
  dateFilter
28
- ? [dateFilter.startDate || null, dateFilter.endDate || null, null]
29
- : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
30
- ? [
31
- dateFilter?.comparisonRange.startDate,
32
- dateFilter?.comparisonRange.endDate,
33
- null,
34
- ]
35
- : [null, null, null])
28
+ ? { start: dateFilter.startDate, end: dateFilter.endDate }
29
+ : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
30
+ dateFilter?.comparisonRange?.endDate
31
+ ? {
32
+ start: dateFilter.comparisonRange.startDate,
33
+ end: dateFilter.comparisonRange.endDate,
34
+ }
35
+ : undefined)
36
36
  : null;
37
37
  }, [config?.pivot]);
38
38
  const columns = pivotTable?.columns ?? data.columns ?? data.yAxisFields;
@@ -42,8 +42,10 @@ function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }) {
42
42
  // Walk through data.columns and pick off the labels from yAxisFields
43
43
  columns.forEach((col, index) => {
44
44
  // ADD THE RIGHT FIELD TYPE FOR THE VALUE COLUMNS
45
- if (valueFieldType && index !== 0) {
46
- col.format = valueFieldType;
45
+ if ((valueFieldType ||
46
+ ['min', 'max'].includes(config?.pivot?.aggregationType || '')) &&
47
+ index !== 0) {
48
+ col.format = valueFieldType || 'two_decimal_places';
47
49
  }
48
50
  if (!data.yAxisFields)
49
51
  return;
@@ -102,7 +104,7 @@ function QuillTableComponent({ dashboardItem, onClick, isLoading, error, }) {
102
104
  } })) : ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { rows: formattedRows ?? [], columns: columns ?? data.yAxisFields, rowsPerPage: 10, containerStyle: {
103
105
  width: '100%',
104
106
  height: '400px',
105
- }, showDownloadCSVButton: true, downloadCSV: () => {
107
+ }, hideCSVDownloadButton: true, downloadCSV: () => {
106
108
  (0, csv_1.downloadCSV)({
107
109
  rows: pivotTable?.rows ?? data.rows ?? [],
108
110
  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"}
@@ -8,11 +8,11 @@ const react_1 = require("react");
8
8
  const valueFormatter_1 = require("../utils/valueFormatter");
9
9
  const Context_1 = require("../Context");
10
10
  const ChartSkeleton_1 = __importDefault(require("./Chart/ChartSkeleton"));
11
- function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadFileName, containerStyle, className, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
11
+ function QuillTable({ rows, columns, isLoading, hideCSVDownloadButton = true, downloadFileName, containerStyle, className, LoadingComponent = () => (0, jsx_runtime_1.jsx)(ChartSkeleton_1.default, {}), rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, }) {
12
12
  const [activeRows, setActiveRows] = (0, react_1.useState)([]);
13
13
  const [page, setPage] = (0, react_1.useState)(1);
14
14
  const [maxPage, setMaxPage] = (0, react_1.useState)(1);
15
- const [sortColumn, setSortColumn] = (0, react_1.useState)(null);
15
+ const [sortColumn, setSortColumn] = (0, react_1.useState)('');
16
16
  const [sortDirection, setSortDirection] = (0, react_1.useState)('desc');
17
17
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
18
18
  const [isPaginating, setIsPaginating] = (0, react_1.useState)(true);
@@ -207,7 +207,7 @@ function QuillTable({ rows, columns, isLoading, showDownloadCSVButton, downloadF
207
207
  justifyContent: 'space-between',
208
208
  width: '100%',
209
209
  height: 37,
210
- }, children: [showDownloadCSVButton ? ((0, jsx_runtime_1.jsx)("button", { onClick: downloadCSV, style: {
210
+ }, children: [!hideCSVDownloadButton ? ((0, jsx_runtime_1.jsx)("button", { onClick: downloadCSV, style: {
211
211
  fontSize: 14,
212
212
  paddingLeft: 12,
213
213
  fontFamily: theme?.fontFamily,