@quillsql/react 2.12.27 → 2.12.29

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 (155) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +40 -21
  3. package/dist/cjs/ChartBuilder.d.ts +38 -4
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +66 -25
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +66 -26
  8. package/dist/cjs/Context.d.ts +1 -19
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +32 -83
  11. package/dist/cjs/Dashboard.d.ts +6 -1
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +79 -50
  14. package/dist/cjs/ReportBuilder.d.ts +10 -1
  15. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  16. package/dist/cjs/ReportBuilder.js +331 -99
  17. package/dist/cjs/SQLEditor.d.ts +10 -1
  18. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  19. package/dist/cjs/SQLEditor.js +122 -29
  20. package/dist/cjs/Table.d.ts.map +1 -1
  21. package/dist/cjs/Table.js +21 -11
  22. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  23. package/dist/cjs/components/Chart/ChartTooltip.js +5 -4
  24. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  25. package/dist/cjs/components/Dashboard/DataLoader.js +61 -20
  26. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  27. package/dist/cjs/components/Dashboard/MetricComponent.js +7 -1
  28. package/dist/cjs/components/Dashboard/TableComponent.d.ts +16 -2
  29. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  30. package/dist/cjs/components/Dashboard/TableComponent.js +2 -14
  31. package/dist/cjs/components/QuillTable.d.ts +2 -2
  32. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  33. package/dist/cjs/components/QuillTable.js +7 -5
  34. package/dist/cjs/components/UiComponents.d.ts +3 -3
  35. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  36. package/dist/cjs/components/UiComponents.js +4 -4
  37. package/dist/cjs/hooks/useDashboard.d.ts +1 -1
  38. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  39. package/dist/cjs/hooks/useDashboard.js +18 -4
  40. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +16 -1
  41. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  42. package/dist/cjs/internals/ReportBuilder/PivotModal.js +179 -105
  43. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  44. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  45. package/dist/cjs/utils/columnProcessing.js +8 -1
  46. package/dist/cjs/utils/constants.d.ts +2 -0
  47. package/dist/cjs/utils/constants.d.ts.map +1 -0
  48. package/dist/cjs/utils/constants.js +4 -0
  49. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  50. package/dist/cjs/utils/dashboard.js +26 -96
  51. package/dist/cjs/utils/dataFetcher.d.ts +1 -1
  52. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  53. package/dist/cjs/utils/dataFetcher.js +63 -15
  54. package/dist/cjs/utils/dates.d.ts +9 -0
  55. package/dist/cjs/utils/dates.d.ts.map +1 -1
  56. package/dist/cjs/utils/dates.js +43 -1
  57. package/dist/cjs/utils/logging.d.ts +2 -0
  58. package/dist/cjs/utils/logging.d.ts.map +1 -0
  59. package/dist/cjs/utils/logging.js +10 -0
  60. package/dist/cjs/utils/monacoAutocomplete.d.ts +20 -0
  61. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
  62. package/dist/cjs/utils/monacoAutocomplete.js +145 -0
  63. package/dist/cjs/utils/pivotConstructor.d.ts +6 -0
  64. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -0
  65. package/dist/cjs/utils/pivotConstructor.js +140 -0
  66. package/dist/cjs/utils/queryConstructor.d.ts +5 -2
  67. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  68. package/dist/cjs/utils/queryConstructor.js +149 -53
  69. package/dist/cjs/utils/queryConstructor.uspec.d.ts +2 -0
  70. package/dist/cjs/utils/queryConstructor.uspec.d.ts.map +1 -0
  71. package/dist/cjs/utils/queryConstructor.uspec.js +225 -0
  72. package/dist/cjs/utils/tableProcessing.d.ts +23 -0
  73. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  74. package/dist/cjs/utils/tableProcessing.js +125 -2
  75. package/dist/esm/Chart.d.ts.map +1 -1
  76. package/dist/esm/Chart.js +40 -21
  77. package/dist/esm/ChartBuilder.d.ts +38 -4
  78. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  79. package/dist/esm/ChartBuilder.js +64 -24
  80. package/dist/esm/ChartEditor.d.ts.map +1 -1
  81. package/dist/esm/ChartEditor.js +66 -26
  82. package/dist/esm/Context.d.ts +1 -19
  83. package/dist/esm/Context.d.ts.map +1 -1
  84. package/dist/esm/Context.js +32 -82
  85. package/dist/esm/Dashboard.d.ts +6 -1
  86. package/dist/esm/Dashboard.d.ts.map +1 -1
  87. package/dist/esm/Dashboard.js +80 -51
  88. package/dist/esm/ReportBuilder.d.ts +10 -1
  89. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  90. package/dist/esm/ReportBuilder.js +333 -101
  91. package/dist/esm/SQLEditor.d.ts +10 -1
  92. package/dist/esm/SQLEditor.d.ts.map +1 -1
  93. package/dist/esm/SQLEditor.js +123 -30
  94. package/dist/esm/Table.d.ts.map +1 -1
  95. package/dist/esm/Table.js +21 -11
  96. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  97. package/dist/esm/components/Chart/ChartTooltip.js +5 -4
  98. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  99. package/dist/esm/components/Dashboard/DataLoader.js +61 -20
  100. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  101. package/dist/esm/components/Dashboard/MetricComponent.js +7 -1
  102. package/dist/esm/components/Dashboard/TableComponent.d.ts +16 -2
  103. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  104. package/dist/esm/components/Dashboard/TableComponent.js +2 -14
  105. package/dist/esm/components/QuillTable.d.ts +2 -2
  106. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  107. package/dist/esm/components/QuillTable.js +7 -5
  108. package/dist/esm/components/UiComponents.d.ts +3 -3
  109. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  110. package/dist/esm/components/UiComponents.js +4 -4
  111. package/dist/esm/hooks/useDashboard.d.ts +1 -1
  112. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  113. package/dist/esm/hooks/useDashboard.js +19 -5
  114. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +16 -1
  115. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  116. package/dist/esm/internals/ReportBuilder/PivotModal.js +177 -105
  117. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  118. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  119. package/dist/esm/utils/columnProcessing.js +6 -0
  120. package/dist/esm/utils/constants.d.ts +2 -0
  121. package/dist/esm/utils/constants.d.ts.map +1 -0
  122. package/dist/esm/utils/constants.js +1 -0
  123. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  124. package/dist/esm/utils/dashboard.js +27 -97
  125. package/dist/esm/utils/dataFetcher.d.ts +1 -1
  126. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  127. package/dist/esm/utils/dataFetcher.js +63 -15
  128. package/dist/esm/utils/dates.d.ts +9 -0
  129. package/dist/esm/utils/dates.d.ts.map +1 -1
  130. package/dist/esm/utils/dates.js +39 -0
  131. package/dist/esm/utils/logging.d.ts +2 -0
  132. package/dist/esm/utils/logging.d.ts.map +1 -0
  133. package/dist/esm/utils/logging.js +6 -0
  134. package/dist/esm/utils/monacoAutocomplete.d.ts +20 -0
  135. package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
  136. package/dist/esm/utils/monacoAutocomplete.js +140 -0
  137. package/dist/esm/utils/pivotConstructor.d.ts +6 -0
  138. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -0
  139. package/dist/esm/utils/pivotConstructor.js +136 -0
  140. package/dist/esm/utils/queryConstructor.d.ts +5 -2
  141. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  142. package/dist/esm/utils/queryConstructor.js +145 -52
  143. package/dist/esm/utils/queryConstructor.uspec.d.ts +2 -0
  144. package/dist/esm/utils/queryConstructor.uspec.d.ts.map +1 -0
  145. package/dist/esm/utils/queryConstructor.uspec.js +223 -0
  146. package/dist/esm/utils/tableProcessing.d.ts +23 -0
  147. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  148. package/dist/esm/utils/tableProcessing.js +122 -2
  149. package/package.json +1 -1
  150. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  151. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  152. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +0 -213
  153. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  154. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  155. package/dist/esm/internals/ReportBuilder/PivotModal.spec.js +0 -211
@@ -60,6 +60,15 @@ export interface SQLEditorProps {
60
60
  label: string;
61
61
  }[];
62
62
  isLoading?: boolean;
63
+ rowCount?: number;
64
+ onPageChange?: (page: {
65
+ currentPage: number;
66
+ rowsPerPage: number;
67
+ }) => void;
68
+ onSortChange?: (sort: {
69
+ field: string;
70
+ direction: string;
71
+ }) => void;
63
72
  }) => JSX.Element;
64
73
  /**
65
74
  * A component to show while the query results are loading.
@@ -258,7 +267,7 @@ export interface SQLEditorProps {
258
267
  * ### SQLEditor API
259
268
  * @see https://docs.quillsql.com/components/sql-editor
260
269
  */
261
- export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, DeleteButtonComponent, TextInputComponent, SelectComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, PopoverComponent, CardComponent, LabelComponent, HeaderComponent, SubHeaderComponent, TextComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ChartBuilderFormContainer, defaultQuery, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, isChartBuilderEnabled, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
270
+ export default function SQLEditor({ ButtonComponent, SecondaryButtonComponent, DeleteButtonComponent, TextInputComponent, SelectComponent, TableComponent, isNewQueryEnabled, LoadingComponent, ModalComponent, PopoverComponent, CardComponent, LabelComponent, HeaderComponent, SubHeaderComponent, TextComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ChartBuilderFormContainer, defaultQuery, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, isChartBuilderEnabled, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, destinationDashboard, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, addToDashboardButtonLabel, report, organizationName, isChartBuilderHorizontalView, containerStyle, className, onClickChartElement, }: SQLEditorProps): import("react/jsx-runtime").JSX.Element;
262
271
  export declare const SchemaListComponent: ({ schema, theme, loading, LoadingComponent, width, onClick, }: {
263
272
  schema: any;
264
273
  theme: any;
@@ -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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"}
@@ -20,6 +20,9 @@ const QuillSelect_1 = require("./components/QuillSelect");
20
20
  const valueFormatter_1 = require("./utils/valueFormatter");
21
21
  const columnProcessing_1 = require("./utils/columnProcessing");
22
22
  const schema_1 = require("./utils/schema");
23
+ const constants_1 = require("./utils/constants");
24
+ const queryConstructor_1 = require("./utils/queryConstructor");
25
+ const monacoAutocomplete_1 = require("./utils/monacoAutocomplete");
23
26
  function defineEditorTheme(monaco, theme) {
24
27
  monaco.editor.defineTheme('onedark', {
25
28
  base: theme.darkMode ? 'vs-dark' : 'vs',
@@ -37,12 +40,26 @@ function defineEditorTheme(monaco, theme) {
37
40
  },
38
41
  });
39
42
  }
40
- function setEditorTheme(editor, monaco) {
43
+ function setEditorTheme(_editor, monaco, schema, databaseType, clientName) {
41
44
  try {
42
45
  monaco.editor.setTheme('onedark');
46
+ monaco.languages.register({ id: clientName });
47
+ const provider = monaco.languages.registerCompletionItemProvider(clientName, {
48
+ provideCompletionItems: function (model, position) {
49
+ const word = model.getWordUntilPosition(position);
50
+ const range = new monaco.Range(position.lineNumber, word.startColumn, position.lineNumber, word.endColumn);
51
+ const databaseSuggestions = (0, monacoAutocomplete_1.generateSuggestionsByDatasource)(monaco, range, databaseType);
52
+ const schemaSuggestions = (0, monacoAutocomplete_1.generateSuggestionsBySchema)(schema, monaco, range, databaseType);
53
+ return {
54
+ suggestions: [...databaseSuggestions, ...schemaSuggestions],
55
+ };
56
+ },
57
+ });
58
+ return provider;
43
59
  }
44
60
  catch (e) {
45
61
  console.log('ERROR: ', e);
62
+ return null;
46
63
  }
47
64
  }
48
65
  /**
@@ -70,7 +87,7 @@ function setEditorTheme(editor, monaco) {
70
87
  * ### SQLEditor API
71
88
  * @see https://docs.quillsql.com/components/sql-editor
72
89
  */
73
- 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.QuillTableSQLEditorComponent, 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', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, onClickChartElement }) {
90
+ 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.QuillTableSQLEditorComponent, 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', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, onClickChartElement, }) {
74
91
  const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
75
92
  const [client] = (0, react_1.useContext)(Context_1.ClientContext);
76
93
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
@@ -88,6 +105,13 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
88
105
  const formRef = (0, react_1.useRef)(null);
89
106
  const [searchBarWidth, setSearchBarWidth] = (0, react_1.useState)(200);
90
107
  const [formattedRows, setFormattedRows] = (0, react_1.useState)([]);
108
+ const [numberOfRows, setNumberOfRows] = (0, react_1.useState)(undefined);
109
+ const [previousPage, setPreviousPage] = (0, react_1.useState)(0);
110
+ const [editorMounted, setEditorMounted] = (0, react_1.useState)(false);
111
+ const [tempReport, setTempReport] = (0, react_1.useState)(report);
112
+ const [currentProcessing, setCurrentProcessing] = (0, react_1.useState)({
113
+ page: { currentPage: 0, rowsPerPage: 20 },
114
+ });
91
115
  (0, react_1.useEffect)(() => {
92
116
  // Since the TextInput component takes a required numeric width parameter,
93
117
  // we dynamically calculate the width of this component here.
@@ -114,7 +138,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
114
138
  setColumns([]);
115
139
  setDisplayTable(false);
116
140
  }
117
- }, [client.publicKey, client.customerId]);
141
+ }, [client.publicKey]);
118
142
  const handleRunSqlPrompt = async () => {
119
143
  setSqlResponseLoading(true);
120
144
  const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `quillai`, {
@@ -126,7 +150,20 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
126
150
  const handleClearQuery = async () => {
127
151
  setQuery('');
128
152
  };
129
- const handleRunQuery = async () => {
153
+ const onPageChange = (page) => {
154
+ if ((previousPage < page.currentPage &&
155
+ (page.currentPage * page.rowsPerPage) % constants_1.MAX_COLUMN_ROWS_LIMIT === 0) ||
156
+ (previousPage > page.currentPage &&
157
+ (previousPage * page.rowsPerPage) % constants_1.MAX_COLUMN_ROWS_LIMIT === 0)) {
158
+ handleRunQuery({ ...currentProcessing, page });
159
+ }
160
+ setPreviousPage(page.currentPage);
161
+ };
162
+ const onSortChange = (sort) => {
163
+ handleRunQuery({ sort, page: { currentPage: 0, rowsPerPage: 20 } });
164
+ setPreviousPage(0);
165
+ };
166
+ const handleRunQuery = async (processing) => {
130
167
  try {
131
168
  setDisplayTable(true);
132
169
  setSqlQueryLoading(true);
@@ -140,6 +177,8 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
140
177
  databaseType: client?.databaseType,
141
178
  getCustomFields: !client.customerId || client.customerId === '*' ? false : true,
142
179
  customFieldsByTable: customFields,
180
+ additionalProcessing: processing,
181
+ useUpdatedDataGathering: true,
143
182
  },
144
183
  };
145
184
  const cloudBody = { query };
@@ -151,14 +190,19 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
151
190
  setColumns([]);
152
191
  return;
153
192
  }
193
+ if (resp.rowCount) {
194
+ setNumberOfRows(resp.rowCount);
195
+ }
154
196
  setSqlQueryLoading(false);
155
197
  setErrorMessage('');
198
+ setCurrentProcessing(processing);
156
199
  if (resp.rows.length === 0) {
157
200
  setErrorMessage('No data found');
158
201
  }
159
202
  const temp_rows = resp.rows && resp.rows.length ? resp.rows : [];
160
203
  const processedFields = resp.fields.map((elem) => (0, columnProcessing_1.convertPostgresColumn)(elem));
161
204
  setRows(temp_rows);
205
+ // setNumberOfRows(resp.compareRows[0]?.count || temp_rows.length);
162
206
  setFormattedRows(temp_rows.map((row) => {
163
207
  return processedFields.reduce((formattedRow, column) => {
164
208
  // Apply the format function to each field in the row
@@ -180,6 +224,15 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
180
224
  if (onChangeFields) {
181
225
  onChangeFields(resp.fields);
182
226
  }
227
+ const formData = report ? report : (0, ChartBuilder_1.createInitialFormData)(processedFields);
228
+ setTempReport({
229
+ ...formData,
230
+ itemQuery: resp.itemQuery,
231
+ rowCount: resp.rowCount,
232
+ filtersApplied: report && report.filtersApplied ? report.filtersApplied : [],
233
+ rows: temp_rows,
234
+ columns: processedFields,
235
+ });
183
236
  }
184
237
  catch (e) {
185
238
  console.log('ERROR: ', e);
@@ -207,12 +260,15 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
207
260
  };
208
261
  const handleClickSchemaItem = async (event) => {
209
262
  const name = event.target.textContent;
210
- if (query && query.length > 0) {
211
- await navigator.clipboard.writeText(name || '');
263
+ if (!name) {
264
+ return;
212
265
  }
213
- else {
214
- setQuery(`SELECT * FROM ${name};`);
266
+ // FOR Big Query it actually makes more sense to not wrap the table reference in quotes
267
+ const newQuery = `SELECT * FROM ${(0, queryConstructor_1.processColumnReference)(name, client.databaseType)};`.replaceAll('`', '');
268
+ if (!query || query.length === 0) {
269
+ setQuery(newQuery);
215
270
  }
271
+ await navigator.clipboard.writeText(newQuery);
216
272
  };
217
273
  (0, react_1.useEffect)(() => {
218
274
  if (onChangeQuery) {
@@ -247,7 +303,11 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
247
303
  gap: 12,
248
304
  paddingTop: 16,
249
305
  paddingBottom: 16,
250
- }, 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: {
306
+ }, 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 || '', schema: schema, databaseType: client.databaseType, clientName: client.publicKey, setQuery: setQuery, handleRunQuery: () => {
307
+ handleRunQuery(currentProcessing);
308
+ }, handleFixWithAI: handleFixWithAI, isNewQueryEnabled: isNewQueryEnabled, handleClearQuery: handleClearQuery, theme: theme, defineEditorTheme: defineEditorTheme, setEditorTheme: setEditorTheme, setEditorMounted: () => {
309
+ setEditorMounted(true);
310
+ }, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, loading: sqlResponseLoading, LoadingComponent: LoadingComponent }) }), (0, jsx_runtime_1.jsxs)("div", { style: {
251
311
  display: 'flex',
252
312
  flexDirection: 'column',
253
313
  height: 'calc(50% - 108px)',
@@ -272,17 +332,27 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
272
332
  borderRadius: 6,
273
333
  padding: 20,
274
334
  width: '100%',
275
- }, children: [errorMessage, errorMessage !== 'No data found' && ((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: {
335
+ }, children: [errorMessage, errorMessage !== 'No data found' && ((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, rowCount: numberOfRows, onPageChange: onPageChange, onSortChange: onSortChange }))] }), isChartBuilderEnabled && rows.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
276
336
  display: 'flex',
277
337
  flexDirection: 'row',
278
338
  alignItems: 'center',
279
339
  justifyContent: 'flex-end',
280
340
  width: '100%',
281
341
  height: '70px',
282
- }, 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, report: report, 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, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, onClickChartElement: onClickChartElement })] }));
342
+ }, 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, report: tempReport ?? report, 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, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, onClickChartElement: onClickChartElement, rowCount: numberOfRows })] }));
283
343
  }
284
344
  exports.default = SQLEditor;
285
- const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent = UiComponents_1.QuillLoadingComponent, }) => {
345
+ const SQLEditorComponent = ({ query, schema, databaseType, clientName, setQuery, setEditorMounted, handleRunQuery, handleFixWithAI, handleClearQuery, defineEditorTheme, setEditorTheme, ButtonComponent, SecondaryButtonComponent, isNewQueryEnabled, theme, loading, LoadingComponent = UiComponents_1.QuillLoadingComponent, }) => {
346
+ const [editorKey, setEditorKey] = (0, react_1.useState)(0);
347
+ const [currentProvider, setCurrentProvider] = (0, react_1.useState)(null);
348
+ (0, react_1.useEffect)(() => {
349
+ if (currentProvider) {
350
+ currentProvider.dispose();
351
+ }
352
+ if (schema && schema.length !== 0) {
353
+ setEditorKey((prevKey) => prevKey + 1);
354
+ }
355
+ }, [schema, clientName]);
286
356
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
287
357
  // maxHeight: 700,
288
358
  width: '100%',
@@ -305,13 +375,17 @@ const SQLEditorComponent = ({ query, setQuery, handleRunQuery, handleFixWithAI,
305
375
  alignItems: 'center',
306
376
  justifyContent: 'center',
307
377
  background: '#F9F9F9',
308
- }, 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: {
378
+ }, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) })) : ((0, jsx_runtime_1.jsx)(react_2.default, { height: "calc(100% - 70px)", width: "100%", defaultLanguage: clientName, defaultValue: "", language: clientName, value: query, loading: (0, jsx_runtime_1.jsx)("div", {}), options: {
309
379
  wordWrap: 'on',
310
380
  minimap: {
311
381
  enabled: false,
312
382
  },
313
383
  padding: { top: 16 },
314
- }, onChange: (query) => setQuery(query || ''), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: setEditorTheme })), (0, jsx_runtime_1.jsx)("div", { style: {
384
+ }, onChange: (query) => setQuery(query || ''), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: (_editor, monaco) => {
385
+ const disposable = setEditorTheme(_editor, monaco, schema, databaseType, clientName);
386
+ setCurrentProvider(disposable);
387
+ setEditorMounted();
388
+ } }, editorKey)), (0, jsx_runtime_1.jsx)("div", { style: {
315
389
  display: 'flex',
316
390
  flexDirection: 'row',
317
391
  alignItems: 'center',
@@ -369,26 +443,45 @@ function SchemaItem({ elem, theme, index, onClick, }) {
369
443
  const schemaRowHoverStyle = {
370
444
  background: theme.selectUnderlayColor,
371
445
  };
446
+ const [displayCopy, setDisplayCopy] = (0, react_1.useState)(false);
372
447
  return ((0, jsx_runtime_1.jsxs)("div", { style: schemaContainerStyle, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
373
448
  cursor: 'pointer',
374
449
  ...schemaRowStyle,
375
450
  ...(isOpen && schemaRowHoverStyle),
376
- }, onClick: () => setIsOpen(!isOpen), children: [(0, jsx_runtime_1.jsx)("p", { style: {
377
- marginLeft: theme.padding,
378
- fontSize: 13,
379
- color: '#384151',
380
- fontWeight: '500',
381
- whiteSpace: 'nowrap',
382
- padding: 0,
383
- margin: 0,
384
- textOverflow: 'ellipsis',
385
- overflow: 'hidden',
386
- userSelect: 'none',
387
- fontFamily: theme?.fontFamily,
388
- }, title: elem.displayName, onClick: (event) => {
451
+ }, onClick: () => setIsOpen(!isOpen), onMouseEnter: () => {
452
+ setDisplayCopy(true);
453
+ }, onMouseLeave: () => {
454
+ setDisplayCopy(false);
455
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
456
+ display: 'flex',
457
+ flexDirection: 'row',
458
+ alignItems: 'center',
459
+ justifyContent: 'space-between',
460
+ overflow: 'visible',
461
+ }, onClick: (event) => {
389
462
  event.stopPropagation();
390
- onClick(event);
391
- }, children: elem.displayName }), (0, jsx_runtime_1.jsx)("div", { style: {
463
+ const newEvent = {
464
+ target: { textContent: elem.displayName },
465
+ };
466
+ onClick(newEvent);
467
+ }, children: [(0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "currentColor", viewBox: "0 0 16 16", style: {
468
+ overflow: 'visible',
469
+ display: displayCopy ? 'flex' : 'none',
470
+ marginRight: 5,
471
+ }, children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1z" }) }), (0, jsx_runtime_1.jsx)("p", { style: {
472
+ marginLeft: theme.padding,
473
+ fontSize: 13,
474
+ color: '#384151',
475
+ fontWeight: '500',
476
+ whiteSpace: 'nowrap',
477
+ padding: 0,
478
+ margin: 0,
479
+ textOverflow: 'ellipsis',
480
+ overflow: 'hidden',
481
+ userSelect: 'none',
482
+ fontFamily: theme?.fontFamily,
483
+ width: '100%',
484
+ }, title: elem.displayName, children: elem.displayName })] }), (0, jsx_runtime_1.jsx)("div", { style: {
392
485
  display: 'flex',
393
486
  alignItems: 'center',
394
487
  justifyContent: 'center',
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAuBf,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,6BAA6B,EAE9B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAoCD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CACzB,KAAK,EAAE,6BAA6B,KACjC,GAAG,CAAC,OAAO,CAAC;IAEjB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAC1B,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,4CAuC/B,CAAC;AA8OF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAKV,MAAM,OAAO,CAAC;AAuBf,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,6BAA6B,EAE9B,MAAM,wCAAwC,CAAC;AAGhD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAoCD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CACzB,KAAK,EAAE,6BAA6B,KACjC,GAAG,CAAC,OAAO,CAAC;IAEjB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAC1B,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,4CAuC/B,CAAC;AA4PF,eAAe,KAAK,CAAC"}
package/dist/cjs/Table.js CHANGED
@@ -71,16 +71,17 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, d
71
71
  const [filterUpdateIndex, setFilterUpdateIndex] = (0, react_1.useState)(0);
72
72
  const { reportFiltersDispatch, reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
73
73
  const theme = (0, hooks_1.useTheme)();
74
- const getChartData = async (reportFilterInfo) => {
74
+ const getChartData = async (useReportTask = true, reportFilterInfo) => {
75
75
  try {
76
76
  const filters = reportFilterInfo.filters;
77
77
  setLoading(true);
78
78
  const hostedBody = {
79
79
  metadata: {
80
+ reportId,
80
81
  dashboardItemId: reportId,
81
82
  orgId: client.customerId || '*',
82
83
  clientId: client.publicKey,
83
- task: 'item',
84
+ task: useReportTask ? 'report' : 'item',
84
85
  getDefaultDashboardFilters: filters ? false : true,
85
86
  databaseType: client?.databaseType,
86
87
  customFields,
@@ -93,15 +94,17 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, d
93
94
  const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'same-origin', hostedBody, cloudBody);
94
95
  (0, errorProcessing_1.processFilterErrorList)(resp);
95
96
  if (resp && resp.name !== 'error' && !resp.errorMessage) {
96
- const cleanedReport = await (0, dashboard_1.cleanDashboardItem)(resp, filters ? filters : resp.filters);
97
+ const cleanedReport = await (0, dashboard_1.cleanDashboardItem)(resp, filters ? filters : resp.filters, client);
97
98
  if (cleanedReport.chartType === 'table' && cleanedReport.pivot) {
98
99
  cleanedReport.columns = cleanedReport.yAxisFields;
99
100
  }
100
101
  let filterArray = filters;
101
102
  if (!filterArray) {
102
- filterArray = resp.filters.map((filter) => {
103
- return (0, filterProcessing_1.processFilterFromBackend)(filter, resp.rows);
104
- });
103
+ filterArray = resp.filters
104
+ ? resp.filters.map((filter) => {
105
+ return (0, filterProcessing_1.processFilterFromBackend)(filter, resp.rows);
106
+ })
107
+ : [];
105
108
  reportFiltersDispatch({
106
109
  type: 'UPDATE_REPORT_FILTER',
107
110
  id: reportId,
@@ -127,24 +130,31 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, d
127
130
  }));
128
131
  setColumns(resp.columns);
129
132
  setLoading(false);
133
+ setInitialLoad(false);
130
134
  }
131
135
  catch (e) {
136
+ if (useReportTask) {
137
+ getChartData(false, reportFilterInfo);
138
+ }
132
139
  console.log('Error fetching chart: ', e);
133
140
  setLoading(false);
141
+ setInitialLoad(false);
134
142
  }
135
143
  };
136
144
  (0, react_1.useEffect)(() => {
145
+ if (!client) {
146
+ return;
147
+ }
137
148
  // IF WE HAVE THE DATA IN DASHBOARD CONTEXT AND IT IS THE INITIAL LAOD DON'T FETCH DATA
138
149
  if (initialLoad && dashboardContext[reportId]) {
139
150
  setInitialLoad(false);
140
151
  return;
141
152
  }
142
- setInitialLoad(false);
143
153
  let parsedReportFilters = reportFilters[reportId]
144
154
  ? reportFilters[reportId]
145
155
  : { updateIndex: 0 };
146
- getChartData(parsedReportFilters);
147
- }, [client.customerId, reportId, reportFilters[reportId]?.updateIndex]);
156
+ getChartData(true, parsedReportFilters);
157
+ }, [client, reportId, reportFilters[reportId]?.updateIndex]);
148
158
  (0, react_1.useEffect)(() => {
149
159
  if (!dashboardContext || !dashboardContext[reportId]) {
150
160
  return;
@@ -177,7 +187,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, d
177
187
  return f;
178
188
  });
179
189
  setTableFilters(updatedFilters);
180
- getChartData({
190
+ getChartData(true, {
181
191
  filters: updatedFilters,
182
192
  updateIndex: filterUpdateIndex + 1,
183
193
  });
@@ -189,6 +199,6 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, d
189
199
  updateIndex: filterUpdateIndex + 1,
190
200
  },
191
201
  });
192
- }, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) }) })), (0, jsx_runtime_1.jsx)(QuillTable_1.default, { hideCSVDownloadButton: hideCSVDownloadButton, columns: columns ?? [], rows: rows ?? [], containerStyle: containerStyle, className: className, LoadingComponent: LoadingComponent, isLoading: loading, downloadCSV: downloadCSV })] }));
202
+ }, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) }) })), (0, jsx_runtime_1.jsx)(QuillTable_1.default, { hideCSVDownloadButton: hideCSVDownloadButton, columns: columns ?? [], rows: rows ?? [], containerStyle: containerStyle, className: className, LoadingComponent: LoadingComponent, isLoading: loading || initialLoad, downloadCSV: downloadCSV })] }));
193
203
  };
194
204
  exports.default = Table;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartTooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/ChartTooltip.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,GAAG,CAAC;IACpB,aAAa,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAsUF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,kDAK5D"}
1
+ {"version":3,"file":"ChartTooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/ChartTooltip.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,GAAG,CAAC;IACpB,aAAa,EAAE,GAAG,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAuUF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,KAAK,EAAE,iBAAiB,kDAK5D"}
@@ -179,10 +179,11 @@ function getTooltipLabel(props, altTooltipLabel, isDateXAxis) {
179
179
  // The chart tooltip to display for comparison labels (eg. "previous period").
180
180
  function ChartTooltipComparison(props) {
181
181
  const isDateXAxis = (0, dates_1.isDateFormat)(props.xAxisFormat);
182
- const altTooltipLabel = props.payload[0]?.dataKey
183
- .replace('comparison_', '')
184
- .replaceAll('_', ' ')
185
- .toLowerCase();
182
+ const altTooltipLabel = props.payload[0]?.name.replace('comparison ', '') ||
183
+ props.payload[0]?.dataKey
184
+ .replace('comparison_', '')
185
+ .replaceAll('_', ' ')
186
+ .toLowerCase();
186
187
  const presetLabel = props.dateFilter?.preset?.label || '';
187
188
  const comparisonLabel = props.dateFilter?.comparisonRange?.value || '';
188
189
  const newRows = reformatComparisonPayload(props, presetLabel, (0, dates_1.convertComparisonRange)(presetLabel, comparisonLabel));
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAOjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,EAAE,EACF,QAAQ,EACR,OAAO,GACR,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAsId;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;QAQtB,MAAM;;;mCAIC,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;cAChB,GAAG;wDAMV,yBAAyB,KAAK,WAAW;MAC1C,WAuGH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAuB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAQjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,EAAE,EACF,QAAQ,EACR,OAAO,GACR,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAuJd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,eAAO,MAAM,eAAe;QAQtB,MAAM;;;mCAIC,WAAW,UACZ,UAAU,KACf,YAAY;2BACM,GAAG;cAChB,GAAG;wDAMV,yBAAyB,KAAK,WAAW;MAC1C,WAgIH,CAAC"}