@quillsql/react 2.12.3 → 2.12.5

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 (103) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +192 -72
  3. package/dist/cjs/ChartBuilder.d.ts +24 -1
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +43 -36
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +97 -41
  8. package/dist/cjs/Context.d.ts +1 -0
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +59 -30
  11. package/dist/cjs/Dashboard.d.ts +22 -1
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +2 -2
  14. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  15. package/dist/cjs/ReportBuilder.js +47 -80
  16. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  17. package/dist/cjs/SQLEditor.js +13 -27
  18. package/dist/cjs/Table.d.ts.map +1 -1
  19. package/dist/cjs/Table.js +3 -3
  20. package/dist/cjs/components/Dashboard/DataLoader.d.ts +9 -1
  21. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/DataLoader.js +146 -112
  23. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -1
  24. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  25. package/dist/cjs/components/Dashboard/TableComponent.js +29 -11
  26. package/dist/cjs/components/QuillTable.d.ts +15 -2
  27. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  28. package/dist/cjs/components/QuillTable.js +58 -29
  29. package/dist/cjs/components/UiComponents.d.ts +11 -1
  30. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  31. package/dist/cjs/components/UiComponents.js +48 -4
  32. package/dist/cjs/hooks/useExport.d.ts +2 -1
  33. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  34. package/dist/cjs/hooks/useExport.js +44 -9
  35. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  36. package/dist/cjs/hooks/useQuill.js +2 -0
  37. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  38. package/dist/cjs/internals/ReportBuilder/PivotModal.js +2 -1
  39. package/dist/cjs/utils/csv.d.ts.map +1 -1
  40. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  41. package/dist/cjs/utils/dashboard.js +2 -0
  42. package/dist/cjs/utils/pivotProcessing.d.ts +2 -6
  43. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  44. package/dist/cjs/utils/pivotProcessing.js +31 -28
  45. package/dist/cjs/utils/schema.d.ts +6 -0
  46. package/dist/cjs/utils/schema.d.ts.map +1 -0
  47. package/dist/cjs/utils/schema.js +122 -0
  48. package/dist/cjs/utils/tableProcessing.d.ts +1 -1
  49. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  50. package/dist/cjs/utils/tableProcessing.js +5 -3
  51. package/dist/cjs/utils/valueFormatter.js +1 -1
  52. package/dist/esm/Chart.d.ts.map +1 -1
  53. package/dist/esm/Chart.js +193 -73
  54. package/dist/esm/ChartBuilder.d.ts +24 -1
  55. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  56. package/dist/esm/ChartBuilder.js +43 -36
  57. package/dist/esm/ChartEditor.d.ts.map +1 -1
  58. package/dist/esm/ChartEditor.js +98 -42
  59. package/dist/esm/Context.d.ts +1 -0
  60. package/dist/esm/Context.d.ts.map +1 -1
  61. package/dist/esm/Context.js +58 -29
  62. package/dist/esm/Dashboard.d.ts +22 -1
  63. package/dist/esm/Dashboard.d.ts.map +1 -1
  64. package/dist/esm/Dashboard.js +2 -2
  65. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  66. package/dist/esm/ReportBuilder.js +50 -83
  67. package/dist/esm/SQLEditor.d.ts.map +1 -1
  68. package/dist/esm/SQLEditor.js +15 -29
  69. package/dist/esm/Table.d.ts.map +1 -1
  70. package/dist/esm/Table.js +4 -4
  71. package/dist/esm/components/Dashboard/DataLoader.d.ts +9 -1
  72. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  73. package/dist/esm/components/Dashboard/DataLoader.js +147 -113
  74. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -1
  75. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  76. package/dist/esm/components/Dashboard/TableComponent.js +30 -12
  77. package/dist/esm/components/QuillTable.d.ts +15 -2
  78. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  79. package/dist/esm/components/QuillTable.js +58 -26
  80. package/dist/esm/components/UiComponents.d.ts +11 -1
  81. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  82. package/dist/esm/components/UiComponents.js +47 -4
  83. package/dist/esm/hooks/useExport.d.ts +2 -1
  84. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  85. package/dist/esm/hooks/useExport.js +44 -9
  86. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  87. package/dist/esm/hooks/useQuill.js +3 -1
  88. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  89. package/dist/esm/internals/ReportBuilder/PivotModal.js +3 -2
  90. package/dist/esm/utils/csv.d.ts.map +1 -1
  91. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  92. package/dist/esm/utils/dashboard.js +2 -0
  93. package/dist/esm/utils/pivotProcessing.d.ts +2 -6
  94. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  95. package/dist/esm/utils/pivotProcessing.js +31 -28
  96. package/dist/esm/utils/schema.d.ts +6 -0
  97. package/dist/esm/utils/schema.d.ts.map +1 -0
  98. package/dist/esm/utils/schema.js +117 -0
  99. package/dist/esm/utils/tableProcessing.d.ts +1 -1
  100. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  101. package/dist/esm/utils/tableProcessing.js +5 -3
  102. package/dist/esm/utils/valueFormatter.js +1 -1
  103. package/package.json +1 -1
@@ -40,6 +40,7 @@ const dataFetcher_2 = require("./utils/dataFetcher");
40
40
  const columnProcessing_1 = require("./utils/columnProcessing");
41
41
  const astProcessing_1 = require("./utils/astProcessing");
42
42
  const PivotForm_1 = __importDefault(require("./internals/ReportBuilder/PivotForm"));
43
+ const schema_1 = require("./utils/schema");
43
44
  exports.QUILL_SERVER = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_HOST) ||
44
45
  'https://quill-344421.uc.r.appspot.com';
45
46
  /**
@@ -73,7 +74,7 @@ exports.QUILL_SERVER = (typeof process !== 'undefined' && process?.env?.QUILL_SE
73
74
  * ### Report Builder API
74
75
  * @see https://docs.quillsql.com/components/report-builder
75
76
  */
76
- function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void null, onSubmitCreateReport = (_) => void null, destinationDashboard = undefined, organizationName = '', ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, ModalComponent = UiComponents_1.MemoizedModal, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, TableComponent = UiComponents_1.QuillTableComponent, PopoverComponent = UiComponents_1.MemoizedPopover, TabsComponent = UiComponents_1.QuillTabs, CheckboxComponent = UiComponents_1.MemoizedCheckbox, SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer, SelectColumnComponent = ui_1.QuillSelectColumn, DraggableColumnComponent = ui_1.QuillDraggableColumn, SidebarHeadingComponent = ui_1.QuillSidebarHeading, FilterPopoverComponent = ui_1.QuillFilterPopover, SortPopoverComponent = ui_1.QuillSortPopover, LimitPopoverComponent = ui_1.QuillLimitPopover, 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, LoadingComponent = UiComponents_1.QuillLoadingComponent, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, ChartBuilderModalComponent = UiComponents_1.MemoizedModal, isAdminEnabled = false, isAIEnabled = true, showChartBuilderTableFormatOptions = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, }) {
77
+ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void null, onSubmitCreateReport = (_) => void null, destinationDashboard = undefined, organizationName = '', ButtonComponent = UiComponents_1.MemoizedButton, SecondaryButtonComponent = UiComponents_1.MemoizedSecondaryButton, DeleteButtonComponent = UiComponents_1.MemoizedDeleteButton, ModalComponent = UiComponents_1.MemoizedModal, TextInputComponent = UiComponents_2.QuillTextInput, SelectComponent = QuillSelect_1.QuillSelectComponent, TableComponent = UiComponents_1.QuillTableSQLEditorComponent, PopoverComponent = UiComponents_1.MemoizedPopover, TabsComponent = UiComponents_1.QuillTabs, CheckboxComponent = UiComponents_1.MemoizedCheckbox, SidebarComponent = ui_1.QuillSidebar, ContainerComponent = ui_1.CustomContainer, SelectColumnComponent = ui_1.QuillSelectColumn, DraggableColumnComponent = ui_1.QuillDraggableColumn, SidebarHeadingComponent = ui_1.QuillSidebarHeading, FilterPopoverComponent = ui_1.QuillFilterPopover, SortPopoverComponent = ui_1.QuillSortPopover, LimitPopoverComponent = ui_1.QuillLimitPopover, 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, LoadingComponent = UiComponents_1.QuillLoadingComponent, ColumnSearchEmptyState = UiComponents_1.QuillColumnSearchEmptyState, ChartBuilderFormContainer = UiComponents_1.QuillChartBuilderFormContainer, ChartBuilderModalComponent = UiComponents_1.MemoizedModal, isAdminEnabled = false, isAIEnabled = true, showChartBuilderTableFormatOptions = true, containerStyle, className, pivotRecommendationsEnabled = true, reportId, hideCopySQL = true, isChartBuilderHorizontalView = true, }) {
77
78
  const { data: report } = (0, useQuill_1.useQuill)(reportId || '');
78
79
  const [aiPrompt, setAiPrompt] = (0, react_1.useState)('');
79
80
  const [errorMessage, setErrorMessage] = (0, react_1.useState)('');
@@ -82,7 +83,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
82
83
  const [orderedColumnNames, setOrderedColumnNames] = (0, react_1.useState)([]);
83
84
  const [selectedColumns, setSelectedColumns] = (0, react_1.useState)([]);
84
85
  const [selectedOrderedColumns, setSelectedOrderedColumns] = (0, react_1.useState)([]);
85
- const [schemaTables, setSchemaTables] = (0, react_1.useState)([]);
86
+ const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
86
87
  const [activeQuery, setActiveQuery] = (0, react_1.useState)('');
87
88
  const [activeEditItem, setActiveEditItem] = (0, react_1.useState)(null);
88
89
  const [activePath, setActivePath] = (0, react_1.useState)(null);
@@ -125,11 +126,15 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
125
126
  const [client, _setClient] = (0, react_1.useContext)(Context_1.ClientContext);
126
127
  // JANK: This is temp and stupid
127
128
  const [overrideRecommendations, setOverrideRecommendations] = (0, react_1.useState)(true);
129
+ const [customFields, setCustomFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
128
130
  (0, react_1.useEffect)(() => {
129
131
  if (client.publicKey === '663416663aa9bc716e59a89d') {
130
132
  setOverrideRecommendations(false);
131
133
  }
132
- }, [client.publicKey]);
134
+ if (!loadingSchema) {
135
+ fetchSchema();
136
+ }
137
+ }, [client.publicKey, client.customerId]);
133
138
  (0, react_1.useEffect)(() => {
134
139
  (0, width_1.updateFirstChildWidth)(askAIContainerRef, setAskAIInputWidth, { gap: 12 });
135
140
  (0, width_1.updateFirstChildWidth)(askAILoadingContainerRef, setAskAILoadingContainerWidth, { gap: 12 });
@@ -195,8 +200,6 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
195
200
  setBaseAst(null);
196
201
  setFormData(null);
197
202
  setSelectedColumns([]);
198
- setSchemaTables([]);
199
- setOrderedColumnNames([]);
200
203
  setActiveQuery('');
201
204
  setActiveEditItem(null);
202
205
  setActivePath(null);
@@ -284,6 +287,15 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
284
287
  }
285
288
  return current;
286
289
  };
290
+ const copySQLToClipboard = () => {
291
+ let query = activeQuery;
292
+ if (pivot) {
293
+ query = (0, pivotProcessing_1.pivotToSql)(pivot, activeQuery, columns);
294
+ }
295
+ setIsCopying(true);
296
+ navigator.clipboard.writeText(query);
297
+ setTimeout(() => setIsCopying(false), 800);
298
+ };
287
299
  const copyToClipboard = (str) => {
288
300
  setIsCopying(true);
289
301
  navigator.clipboard.writeText(str);
@@ -368,40 +380,6 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
368
380
  result.push(valueField, rowField);
369
381
  return result.filter(Boolean);
370
382
  };
371
- const fetchDistinctStrings = async (query, table) => {
372
- try {
373
- const hostedBody = {
374
- metadata: {
375
- query,
376
- task: 'query',
377
- orgId: client.customerId || '*',
378
- clientId: client.publicKey,
379
- databaseType: client?.databaseType,
380
- },
381
- };
382
- const cloudBody = { query };
383
- const data = await (0, dataFetcher_1.getData)(client, 'dashquery', 'same-origin', hostedBody, cloudBody);
384
- if (data.errorMessage) {
385
- return null;
386
- }
387
- const results = data.rows.map((columnInfo) => {
388
- const column = columnInfo.field;
389
- if (!columnInfo.string_values) {
390
- return { table, column, values: {} };
391
- }
392
- const values = columnInfo.string_values.reduce((result, value) => {
393
- result[value] = false;
394
- return result;
395
- }, {});
396
- return { table, column, values };
397
- });
398
- return results;
399
- }
400
- catch (e) {
401
- console.error(e);
402
- return null;
403
- }
404
- };
405
383
  const loadTable = async (tables) => {
406
384
  if (!tables)
407
385
  return;
@@ -414,7 +392,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
414
392
  })
415
393
  .map((column) => (0, columnProcessing_1.convertColumnInfoToColumnInternal)(column));
416
394
  const stringNames = convertedStringColumns.map((column) => column.field);
417
- const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(convertedStringColumns, `Select ${stringNames.join(', ')} from ${initialTableName}`, [], client);
395
+ const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(convertedStringColumns, `Select ${stringNames.join(', ')} from ${initialTableName}`, [], client, customFields);
418
396
  const joinedUniqueValues = (0, util_1.deepCopy)(uniqueValues);
419
397
  joinedUniqueValues[initialTableName] = newUniqueValues;
420
398
  if ((0, crypto_1.hashCode)(uniqueValues) !== (0, crypto_1.hashCode)(joinedUniqueValues)) {
@@ -445,26 +423,10 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
445
423
  const fetchSchema = async () => {
446
424
  try {
447
425
  setLoadingSchema(true);
448
- const response = await fetch(`${client.queryEndpoint}`, {
449
- method: 'POST',
450
- headers: {
451
- ...client.queryHeaders,
452
- 'Content-Type': 'application/json',
453
- },
454
- body: JSON.stringify({
455
- metadata: {
456
- clientId: client.publicKey,
457
- publicKey: client.publicKey,
458
- task: 'schema',
459
- removeCustomerField: true,
460
- },
461
- }),
462
- });
463
- const results = await response.json();
464
- // Filter out hidden columns on tables back from schema2.
465
- const tables = results.data.tables || results.data.data.tables;
466
- setSchemaTables(tables ?? []);
467
- setOrderedColumnNames((tables ?? []).flatMap((table) => table.columns
426
+ const { schemaData, customFieldsByTable } = await (0, schema_1.getSchemaInfoWithCustomFields)(client, 'rb');
427
+ setCustomFields(customFieldsByTable);
428
+ setSchema(schemaData ?? []);
429
+ setOrderedColumnNames((schemaData ?? []).flatMap((table) => table.columns
468
430
  .map((c) => `${table.name}.${c.name}`)
469
431
  .sort((a, b) => {
470
432
  const aIsId = a.endsWith('.id') ||
@@ -482,11 +444,11 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
482
444
  return 0;
483
445
  })));
484
446
  if (initialTableName) {
485
- await loadTable(tables);
447
+ await loadTable(schemaData);
486
448
  }
487
449
  setLoadingSchema(false);
488
450
  setInitialLoad(false);
489
- return tables;
451
+ return schemaData;
490
452
  }
491
453
  catch (error) {
492
454
  console.error(error);
@@ -510,7 +472,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
510
472
  let convertedAst = (0, astProcessing_1.processStarColumn)(ast, report.columns);
511
473
  (0, astProcessing_1.processApostrophe)(convertedAst, ['type', 'value']);
512
474
  convertedAst = (0, convert_1.convertBigQuery)(convertedAst);
513
- let schemaInfo = schemaTables.length !== 0 ? schemaTables : await fetchSchema();
475
+ let schemaInfo = schema.length !== 0 ? schema : await fetchSchema();
514
476
  let newAst, groupByPivot;
515
477
  ({ ast: newAst, pivot: groupByPivot } = (0, convert_1.convertGroupBy)(convertedAst,
516
478
  // @ts-ignore
@@ -528,7 +490,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
528
490
  });
529
491
  if (stringColumns.length !== 0 && tableName) {
530
492
  const stringNames = stringColumns.map((column) => column.field);
531
- const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(stringColumns, `Select ${stringNames.join(', ')} from ${tableName}`, [], client);
493
+ const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(stringColumns, `Select ${stringNames.join(', ')} from ${tableName}`, [], client, customFields);
532
494
  const joinedUniqueValues = (0, util_1.deepCopy)(uniqueValues);
533
495
  joinedUniqueValues[tableName] = newUniqueValues;
534
496
  setUniqueValues(joinedUniqueValues);
@@ -567,10 +529,10 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
567
529
  }
568
530
  }, [report]);
569
531
  (0, react_1.useEffect)(() => {
570
- if (schemaTables.length === 0) {
532
+ if (schema.length === 0) {
571
533
  fetchSchema();
572
534
  }
573
- }, [schemaTables, initialTableName, reportId]);
535
+ }, [schema, initialTableName, reportId]);
574
536
  const updateFormData = (updates, { isDeletion = false, isInsertion = false, isReplaceSubtree = false, isAddVariant = false, isDeleteVariant = false, topLevelBinOp = 'OR', isCondition = undefined, }) => {
575
537
  // Function to immutably update or delete nodes based on their path
576
538
  // TODO: fix the following horible code
@@ -1380,11 +1342,11 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1380
1342
  // grab the value of the left child of the column comparison
1381
1343
  // operator (ie. the column name)
1382
1344
  const leftChildValue = getColumnValueForColumnComparison(node);
1383
- const column = schemaTables
1384
- .flatMap((t) => t.columns)
1385
- .find((col) => col.name === leftChildValue);
1386
1345
  const tables = (0, ast_1.getTableNames)(baseAst);
1387
1346
  const table = tables.length === 1 ? tables[0] : initialTableName;
1347
+ const column = schema
1348
+ .find((tableInfo) => tableInfo.name === table)
1349
+ ?.columns.find((col) => col.name === leftChildValue);
1388
1350
  const columnType = column?.fieldType;
1389
1351
  let operatorOptions = [
1390
1352
  ...((0, ast_1.isNumericColumnType)(columnType)
@@ -1478,7 +1440,9 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1478
1440
  }
1479
1441
  else {
1480
1442
  const columnName = node.left.column;
1481
- const column = schemaTables[0]?.columns.find((col) => col.name === columnName);
1443
+ const column = schema
1444
+ .find((tableInfo) => tableInfo.name === currentTable)
1445
+ ?.columns.find((col) => col.name === columnName);
1482
1446
  const columnType = column?.fieldType;
1483
1447
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
1484
1448
  display: 'flex',
@@ -1734,7 +1698,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1734
1698
  };
1735
1699
  const getAllPossibleColumns = () => {
1736
1700
  if (!baseAst || !baseAst.from) {
1737
- return schemaTables.flatMap((table) => table.columns.map((c) => ({
1701
+ return schema.flatMap((table) => table.columns.map((c) => ({
1738
1702
  ...c,
1739
1703
  table: table.displayName,
1740
1704
  })));
@@ -1743,7 +1707,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1743
1707
  // This currently only supports top-level table names in the FROM section
1744
1708
  // of queries (eg. FROM "table_name", not "FROM (SELECT * FROM other) AS table_name")
1745
1709
  const tableNamesInQuery = baseAst.from.map((tbl) => tbl.table);
1746
- return schemaTables
1710
+ return schema
1747
1711
  .filter((t) => tableNamesInQuery.includes(t.displayName))
1748
1712
  .flatMap((table) => table.columns
1749
1713
  .map((c) => ({
@@ -1814,6 +1778,8 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1814
1778
  publicKey: client.publicKey,
1815
1779
  orgId: client.customerId,
1816
1780
  task: 'patterns',
1781
+ getCustomFields: false,
1782
+ customFields,
1817
1783
  },
1818
1784
  };
1819
1785
  const cloudBody = {};
@@ -1822,7 +1788,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1822
1788
  const tables = (0, ast_1.getTableNames)(baseAst);
1823
1789
  const table = tables.length >= 1 ? tables[0] : initialTableName;
1824
1790
  if (table !== currentTable) {
1825
- const tableInfo = schemaTables.find((tableInfo) => tableInfo.name === table);
1791
+ const tableInfo = schema.find((tableInfo) => tableInfo.name === table);
1826
1792
  if (tableInfo) {
1827
1793
  const convertedStringColumns = tableInfo.columns
1828
1794
  .filter((column) => {
@@ -1830,7 +1796,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
1830
1796
  })
1831
1797
  .map((column) => (0, columnProcessing_1.convertColumnInfoToColumnInternal)(column));
1832
1798
  const stringNames = convertedStringColumns.map((column) => column.field);
1833
- const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(convertedStringColumns, `Select ${stringNames.join(', ')} from ${table}`, rows, client);
1799
+ const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(convertedStringColumns, `Select ${stringNames.join(', ')} from ${table}`, rows, client, customFields);
1834
1800
  const joinedUniqueValues = (0, util_1.deepCopy)(uniqueValues);
1835
1801
  joinedUniqueValues[table] = newUniqueValues;
1836
1802
  if ((0, crypto_1.hashCode)(uniqueValues) !== (0, crypto_1.hashCode)(joinedUniqueValues)) {
@@ -2065,8 +2031,8 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
2065
2031
  // Unwrap the ast object, supporting many possible types
2066
2032
  ast = ast.length ? ast[0] : ast;
2067
2033
  newAst = (0, convert_1.convertBigQuery)(ast);
2068
- newAst = (0, convert_1.convertWildcardColumns)(newAst, schemaTables); // must go before groupby
2069
- ({ ast: newAst, pivot: groupByPivot } = (0, convert_1.convertGroupBy)(newAst, pivot, schemaTables));
2034
+ newAst = (0, convert_1.convertWildcardColumns)(newAst, schema); // must go before groupby
2035
+ ({ ast: newAst, pivot: groupByPivot } = (0, convert_1.convertGroupBy)(newAst, pivot, schema));
2070
2036
  if (groupByPivot && !groupByPivot?.valueField) {
2071
2037
  setErrorMessage("Error: Couldn't process your request, please re-word your prompt.");
2072
2038
  return;
@@ -2098,6 +2064,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
2098
2064
  newAst?.where ? newAst?.where?.operator : 'AND');
2099
2065
  }
2100
2066
  ast = newAst; // so we fetch data for newAst later.
2067
+ fetchSqlQuery(ast, undefined, false);
2101
2068
  const table = (0, ast_1.getTableNames)(newAst)[0] ?? initialTableName;
2102
2069
  const tableAlias = (0, ast_1.getTableAliases)(newAst)[0] ?? initialTableName;
2103
2070
  const hostedBody = {
@@ -2113,7 +2080,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
2113
2080
  const data2 = await (0, dataFetcher_1.getData)(client, 'patterns', 'same-origin', hostedBody, cloudBody);
2114
2081
  let currentUniqueValues = uniqueValues;
2115
2082
  if (table !== currentTable) {
2116
- const tableInfo = schemaTables.find((tableInfo) => tableInfo.name === table);
2083
+ const tableInfo = schema.find((tableInfo) => tableInfo.name === table);
2117
2084
  if (tableInfo) {
2118
2085
  const convertedStringColumns = tableInfo.columns
2119
2086
  .filter((column) => {
@@ -2121,7 +2088,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
2121
2088
  })
2122
2089
  .map((column) => (0, columnProcessing_1.convertColumnInfoToColumnInternal)(column));
2123
2090
  const stringNames = convertedStringColumns.map((column) => column.field);
2124
- const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(convertedStringColumns, `Select ${stringNames.join(', ')} from ${table}`, rows, client);
2091
+ const newUniqueValues = await (0, tableProcessing_1.getUniqueValuesByColumns)(convertedStringColumns, `Select ${stringNames.join(', ')} from ${table}`, rows, client, customFields);
2125
2092
  currentUniqueValues[table] = newUniqueValues;
2126
2093
  if ((0, crypto_1.hashCode)(uniqueValues) !== (0, crypto_1.hashCode)(currentUniqueValues)) {
2127
2094
  setUniqueValues(currentUniqueValues);
@@ -2615,7 +2582,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
2615
2582
  display: 'flex',
2616
2583
  flexDirection: 'row',
2617
2584
  gap: '12px',
2618
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: '100%' } }), !hideCopySQL && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => copyToClipboard(activeQuery), label: isCopying ? '✅ Copied' : 'Copy SQL' })), (0, jsx_runtime_1.jsx)(ButtonComponent, { label: report ? 'Save changes' : 'Add to dashboard', onClick: () => { } })] }))] })] }), (0, jsx_runtime_1.jsx)("style", { children: `body{margin:0;}` })] }));
2585
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { width: '100%' } }), !hideCopySQL && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => copySQLToClipboard(), label: isCopying ? '✅ Copied' : 'Copy SQL' })), (0, jsx_runtime_1.jsx)(ButtonComponent, { label: report ? 'Save changes' : 'Add to dashboard', onClick: () => { } })] }))] })] }), (0, jsx_runtime_1.jsx)("style", { children: `body{margin:0;}` })] }));
2619
2586
  }
2620
2587
  return ((0, jsx_runtime_1.jsxs)("div", { style: { backgroundColor: theme.backgroundColor, ...containerStyle }, className: className, children: [(!isChartBuilderHorizontalView ||
2621
2588
  (isChartBuilderHorizontalView && !isChartBuilderOpen)) && ((0, jsx_runtime_1.jsxs)("div", { ref: parentRef, style: {
@@ -3051,7 +3018,7 @@ function ReportBuilder({ initialTableName = '', onSubmitEditReport = (_) => void
3051
3018
  overflow: 'hidden',
3052
3019
  width: '100%',
3053
3020
  gap: 12,
3054
- }, children: [(0, jsx_runtime_1.jsx)(ErrorMessageComponent, { errorMessage: errorMessage }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAsk, label: 'Retry' })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' } })), baseAst && dataDisplayed && !initalChartLoad && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!hideCopySQL && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { label: isCopying ? '✅ Copied' : 'Copy SQL', onClick: () => copyToClipboard(activeQuery) })), (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
3021
+ }, children: [(0, jsx_runtime_1.jsx)(ErrorMessageComponent, { errorMessage: errorMessage }), (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAsk, label: 'Retry' })] })) : ((0, jsx_runtime_1.jsx)("div", { style: { width: '100%' } })), baseAst && dataDisplayed && !initalChartLoad && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [!hideCopySQL && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { label: isCopying ? '✅ Copied' : 'Copy SQL', onClick: () => copySQLToClipboard() })), (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
3055
3022
  setIsChartBuilderOpen(true);
3056
3023
  }, label: report ? 'Save changes' : 'Add to dashboard' })] }))] })] }), (0, jsx_runtime_1.jsx)("style", { children: `body{margin:0;}` })] })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && ((0, jsx_runtime_1.jsx)(ChartBuilder_1.ChartBuilderWithModal, { report: report
3057
3024
  ? {
@@ -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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"}
@@ -19,6 +19,7 @@ const QuillCard_1 = require("./components/QuillCard");
19
19
  const QuillSelect_1 = require("./components/QuillSelect");
20
20
  const valueFormatter_1 = require("./utils/valueFormatter");
21
21
  const columnProcessing_1 = require("./utils/columnProcessing");
22
+ const schema_1 = require("./utils/schema");
22
23
  function defineEditorTheme(monaco, theme) {
23
24
  monaco.editor.defineTheme('onedark', {
24
25
  base: theme.darkMode ? 'vs-dark' : 'vs',
@@ -69,7 +70,7 @@ function setEditorTheme(editor, monaco) {
69
70
  * ### SQLEditor API
70
71
  * @see https://docs.quillsql.com/components/sql-editor
71
72
  */
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', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, }) {
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, }) {
73
74
  const [sqlPrompt, setSqlPrompt] = (0, react_1.useState)('');
74
75
  const [client] = (0, react_1.useContext)(Context_1.ClientContext);
75
76
  const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
@@ -77,6 +78,7 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
77
78
  const [rows, setRows] = (0, react_1.useState)([]);
78
79
  const [columns, setColumns] = (0, react_1.useState)([]);
79
80
  const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
81
+ const [customFields, setCustomFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
80
82
  const [errorMessage, setErrorMessage] = (0, react_1.useState)('');
81
83
  const [sqlResponseLoading, setSqlResponseLoading] = (0, react_1.useState)(false);
82
84
  const [sqlQueryLoading, setSqlQueryLoading] = (0, react_1.useState)(false);
@@ -99,38 +101,20 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
99
101
  };
100
102
  }, []);
101
103
  const getSchema = async () => {
102
- const { queryEndpoint, queryHeaders, publicKey } = client;
103
- const response = await fetch(`${queryEndpoint}`, {
104
- method: 'POST',
105
- headers: {
106
- ...queryHeaders,
107
- 'Content-Type': 'application/json',
108
- },
109
- body: JSON.stringify({
110
- metadata: {
111
- clientId: publicKey,
112
- publicKey: publicKey,
113
- task: 'schema',
114
- removeCustomerField: true,
115
- },
116
- }),
117
- });
118
- const results = await response.json();
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);
126
- }
104
+ const { schemaData, customFieldsByTable } = await (0, schema_1.getSchemaInfoWithCustomFields)(client);
105
+ setSchema(schemaData);
106
+ setCustomFields(customFieldsByTable);
107
+ setSchemaLoading(false);
127
108
  };
128
109
  (0, react_1.useEffect)(() => {
129
110
  if (client && !schemaLoading) {
130
111
  setSchemaLoading(true);
131
112
  getSchema();
113
+ setRows([]);
114
+ setColumns([]);
115
+ setDisplayTable(false);
132
116
  }
133
- }, [client.publicKey]);
117
+ }, [client.publicKey, client.customerId]);
134
118
  const handleRunSqlPrompt = async () => {
135
119
  setSqlResponseLoading(true);
136
120
  const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `quillai`, {
@@ -154,6 +138,8 @@ function SQLEditor({ ButtonComponent = UiComponents_1.MemoizedButton, SecondaryB
154
138
  orgId: client.customerId || '*',
155
139
  clientId: client.publicKey,
156
140
  databaseType: client?.databaseType,
141
+ getCustomFields: !client.customerId || client.customerId === '*' ? false : true,
142
+ customFieldsByTable: customFields,
157
143
  },
158
144
  };
159
145
  const cloudBody = { query };
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAarD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAyBD;;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;;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;;;;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,4CAmC/B,CAAC;AAmGF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAcrD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAyBD;;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;;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;;;;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,4CAkC/B,CAAC;AAmGF,eAAe,KAAK,CAAC"}
package/dist/cjs/Table.js CHANGED
@@ -49,13 +49,14 @@ const Table = (props) => {
49
49
  const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
50
50
  const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
51
51
  if ('rows' in data && 'columns' in data) {
52
- 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
+ return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { hideCSVDownloadButton: data.hideCSVDownloadButton, columns: data.columns, rows: data.rows, className: data.className, containerStyle: data.containerStyle, LoadingComponent: data.LoadingComponent, isLoading: data.isLoading, downloadCSV: data.downloadCSV }));
53
53
  }
54
54
  return ((0, jsx_runtime_1.jsx)(ChartUpdater, { hideCSVDownloadButton: data.hideCSVDownloadButton, dispatch: dispatch, dashboard: dashboard, reportId: data.reportId, className: data.className, containerStyle: data.containerStyle, dashboardFilters: dashboardFilters, client: client, csvFilename: data.csvFilename, LoadingComponent: data.LoadingComponent }));
55
55
  };
56
56
  const ChartUpdater = ({ reportId, containerStyle, className, dashboard, dispatch, client, dashboardFilters, csvFilename, hideCSVDownloadButton = true, LoadingComponent, }) => {
57
57
  const { rows, loading } = (0, useFormat_1.useMemoizedRows)(reportId);
58
58
  const { downloadCSV } = (0, useExport_1.useExport)(reportId);
59
+ const [customFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
59
60
  (0, react_1.useEffect)(() => {
60
61
  let isSubscribed = true;
61
62
  async function getChartOptions() {
@@ -69,6 +70,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboard, dispatch
69
70
  filters: [...Object.values(dashboardFilters)],
70
71
  clientId: client.publicKey,
71
72
  databaseType: client?.databaseType,
73
+ customFields,
72
74
  },
73
75
  };
74
76
  const cloudBody = {
@@ -102,8 +104,6 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboard, dispatch
102
104
  };
103
105
  }, [dashboardFilters, client.customerId, reportId]);
104
106
  return ((0, jsx_runtime_1.jsx)(QuillTable_1.default, { hideCSVDownloadButton: hideCSVDownloadButton,
105
- // @ts-ignore
106
- downloadFileName: csvFilename || dashboard[reportId]?.name || '',
107
107
  // @ts-ignore
108
108
  columns: dashboard[reportId]?.columns || [],
109
109
  // @ts-ignore
@@ -4,10 +4,18 @@ import { QuillTheme } from '../../QuillProvider';
4
4
  export type DataLoaderChildProps = {
5
5
  isLoading: boolean;
6
6
  error?: string;
7
+ onPageChange: (page: {
8
+ currentPage: number;
9
+ rowsPerPage: number;
10
+ }) => void;
11
+ onSortChange: (sort: {
12
+ field: string;
13
+ direction: string;
14
+ }) => void;
7
15
  };
8
16
  export default function DataLoader({ id, children, }: {
9
17
  id: string;
10
- children: ({ isLoading, error }: DataLoaderChildProps) => JSX.Element;
18
+ children: ({ isLoading, error, onPageChange, onSortChange, }: DataLoaderChildProps) => JSX.Element;
11
19
  }): JSX.Element;
12
20
  type ColorMapType = {
13
21
  [key: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,EAAE,EACF,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACvE,GAAG,GAAG,CAAC,OAAO,CAgFd;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;CACZ,CAAC;AAIF,eAAO,MAAM,eAAe;QAKtB,MAAM;;mCAGC,WAAW,UACZ,UAAU,KACf,YAAY;4CAKd,yBAAyB,KAAK,WAAW;MAC1C,WA2FH,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,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;CACpE,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,EAAE,EACF,QAAQ,GACT,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,GACb,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAmHd;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;CACZ,CAAC;AAIF,eAAO,MAAM,eAAe;QAKtB,MAAM;;mCAGC,WAAW,UACZ,UAAU,KACf,YAAY;4CAKd,yBAAyB,KAAK,WAAW;MAC1C,WA2FH,CAAC"}