@quillsql/react 2.10.27 → 2.10.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 (69) hide show
  1. package/dist/cjs/Chart.js +5 -4
  2. package/dist/cjs/Dashboard.d.ts +3 -1
  3. package/dist/cjs/Dashboard.d.ts.map +1 -1
  4. package/dist/cjs/Dashboard.js +3 -10
  5. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ReportBuilder.js +1 -5
  7. package/dist/cjs/SQLEditor.d.ts +1 -5
  8. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  9. package/dist/cjs/SQLEditor.js +5 -10
  10. package/dist/cjs/components/Chart/ChartSkeleton.d.ts +4 -1
  11. package/dist/cjs/components/Chart/ChartSkeleton.d.ts.map +1 -1
  12. package/dist/cjs/components/Dashboard/DataLoader.d.ts +1 -1
  13. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  14. package/dist/cjs/components/Dashboard/DataLoader.js +7 -2
  15. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -1
  16. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  17. package/dist/cjs/components/Dashboard/TableComponent.js +28 -57
  18. package/dist/cjs/components/QuillTable.d.ts +3 -0
  19. package/dist/cjs/components/QuillTable.d.ts.map +1 -0
  20. package/dist/cjs/{Table.js → components/QuillTable.js} +53 -224
  21. package/dist/cjs/components/UiComponents.d.ts +8 -2
  22. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  23. package/dist/cjs/components/UiComponents.js +3 -1
  24. package/dist/cjs/hooks/useFormat.d.ts +3 -1
  25. package/dist/cjs/hooks/useFormat.d.ts.map +1 -1
  26. package/dist/cjs/hooks/useFormat.js +13 -12
  27. package/dist/cjs/index.d.ts +1 -1
  28. package/dist/cjs/index.d.ts.map +1 -1
  29. package/dist/cjs/index.js +3 -3
  30. package/dist/cjs/utils/valueFormatter.d.ts +5 -0
  31. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  32. package/dist/cjs/utils/valueFormatter.js +59 -30
  33. package/dist/esm/Chart.js +5 -4
  34. package/dist/esm/Dashboard.d.ts +3 -1
  35. package/dist/esm/Dashboard.d.ts.map +1 -1
  36. package/dist/esm/Dashboard.js +3 -10
  37. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  38. package/dist/esm/ReportBuilder.js +1 -5
  39. package/dist/esm/SQLEditor.d.ts +1 -5
  40. package/dist/esm/SQLEditor.d.ts.map +1 -1
  41. package/dist/esm/SQLEditor.js +5 -10
  42. package/dist/esm/components/Chart/ChartSkeleton.d.ts +4 -1
  43. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -1
  44. package/dist/esm/components/Dashboard/DataLoader.d.ts +1 -1
  45. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  46. package/dist/esm/components/Dashboard/DataLoader.js +9 -4
  47. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -1
  48. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  49. package/dist/esm/components/Dashboard/TableComponent.js +25 -57
  50. package/dist/esm/components/QuillTable.d.ts +3 -0
  51. package/dist/esm/components/QuillTable.d.ts.map +1 -0
  52. package/dist/esm/{Table.js → components/QuillTable.js} +52 -222
  53. package/dist/esm/components/UiComponents.d.ts +8 -2
  54. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  55. package/dist/esm/components/UiComponents.js +1 -0
  56. package/dist/esm/hooks/useFormat.d.ts +3 -1
  57. package/dist/esm/hooks/useFormat.d.ts.map +1 -1
  58. package/dist/esm/hooks/useFormat.js +13 -12
  59. package/dist/esm/index.d.ts +1 -1
  60. package/dist/esm/index.d.ts.map +1 -1
  61. package/dist/esm/index.js +1 -1
  62. package/dist/esm/utils/valueFormatter.d.ts +5 -0
  63. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  64. package/dist/esm/utils/valueFormatter.js +57 -29
  65. package/package.json +1 -1
  66. package/dist/cjs/Table.d.ts +0 -39
  67. package/dist/cjs/Table.d.ts.map +0 -1
  68. package/dist/esm/Table.d.ts +0 -39
  69. package/dist/esm/Table.d.ts.map +0 -1
@@ -1,62 +1,38 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /* eslint-disable @typescript-eslint/ban-ts-comment */
3
- // @ts-nocheck
4
- import { useContext, useEffect, useState } from 'react';
5
- import { ClientContext, DashboardContext, ThemeContext, DashboardFiltersContext, } from './Context';
6
- import { getData } from './utils/dataFetcher';
7
- import { valueFormatter } from './utils/valueFormatter';
8
- import { mergeComparisonRange } from './utils/merge';
9
- import { useExport } from './hooks/useExport';
10
- const Table = ({ chartId, columns, rows, containerStyle, csvFilename, showDownloadCsvButton, LoadingComponent, loading, height, }) => {
11
- const { dispatch, dashboard } = useContext(DashboardContext);
12
- const { dashboardFilters } = useContext(DashboardFiltersContext);
13
- const [client, _] = useContext(ClientContext);
14
- const [theme] = useContext(ThemeContext);
15
- if (!chartId && rows && columns) {
16
- return (_jsx(SpecialTable, { showDownloadCsvButton: showDownloadCsvButton, csvFilename: csvFilename || 'table', columns: columns, rows: rows ?? [], height: containerStyle?.height || height || '100%', theme: theme, containerStyle: containerStyle, LoadingComponent: LoadingComponent, loading: loading }));
17
- }
18
- return (_jsx(ChartUpdater, { showDownloadCsvButton: showDownloadCsvButton, dispatch: dispatch, dashboard: dashboard, chartId: chartId, containerStyle: containerStyle, dashboardFilters: dashboardFilters, client: client, theme: theme, csvFilename: csvFilename, LoadingComponent: LoadingComponent }));
19
- };
20
- const compareValues = (a, b, column) => {
21
- const valueA = a[column];
22
- const valueB = b[column];
23
- // Null checks
24
- if (valueA === null && valueB === null) {
25
- return 0; // Both values are null, consider them equal
26
- }
27
- else if (valueA === null) {
28
- return -1; // ValueA is null, consider it smaller
29
- }
30
- else if (valueB === null) {
31
- return 1; // ValueB is null, consider it smaller
32
- }
33
- // For numbers
34
- if (!isNaN(valueA) && !isNaN(valueB)) {
35
- return valueA - valueB;
36
- }
37
- // For dates
38
- if (new Date(valueA) !== 'Invalid Date' &&
39
- !isNaN(new Date(valueA)) &&
40
- new Date(valueB) !== 'Invalid Date' &&
41
- !isNaN(new Date(valueB))) {
42
- return new Date(valueA) - new Date(valueB);
43
- }
44
- // For strings
45
- return valueA.localeCompare(valueB);
46
- };
47
- export function SpecialTable({ columns, rows, height, containerStyle, loading, LoadingComponent, theme, showDownloadCsvButton = true, csvFilename, DownloadCSVButtonComponent, AddToDashboardButtonComponent, }) {
2
+ import { useContext, useEffect, useState, useMemo } from 'react';
3
+ import { LoadingSpinner } from './UiComponents';
4
+ import { useExport } from '../hooks/useExport';
5
+ import { compareValues, quillFormat } from '../utils/valueFormatter';
6
+ import { ThemeContext } from '../Context';
7
+ export default function QuillTable({ rows, columns, loading, showDownloadCSVButton, downloadFileName, containerStyle, LoadingComponent = () => _jsx(LoadingSpinner, {}), }) {
48
8
  const [activeRows, setActiveRows] = useState([]);
49
9
  const [page, setPage] = useState(1);
50
10
  const [maxPage, setMaxPage] = useState(1);
51
11
  const [sortColumn, setSortColumn] = useState(null);
52
12
  const [sortDirection, setSortDirection] = useState('desc');
13
+ const [theme] = useContext(ThemeContext);
14
+ const [isFormatting, setIsFormatting] = useState(false);
15
+ const formattedRows = useMemo(() => {
16
+ setIsFormatting(true);
17
+ return rows.map((row) => {
18
+ return columns.reduce((formattedRow, column) => {
19
+ // Apply the format function to each field in the row
20
+ const formattedValue = quillFormat({
21
+ value: row[column.field],
22
+ format: column.format,
23
+ });
24
+ formattedRow[column.field] = formattedValue;
25
+ return formattedRow;
26
+ }, {});
27
+ });
28
+ }, [rows]);
53
29
  const { downloadCSV } = useExport({
54
- rows,
30
+ rows: formattedRows,
55
31
  fields: columns,
56
- name: csvFilename,
32
+ name: downloadFileName,
57
33
  });
58
34
  useEffect(() => {
59
- const sortedRows = [...rows];
35
+ const sortedRows = [...formattedRows];
60
36
  if (sortColumn) {
61
37
  sortedRows.sort((a, b) => {
62
38
  const result = compareValues(a, b, sortColumn);
@@ -69,7 +45,8 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
69
45
  setMaxPage(Math.ceil(sortedRows.length / 10));
70
46
  }
71
47
  setActiveRows(sortedRows.slice(start, end));
72
- }, [page, rows, sortColumn, sortDirection]);
48
+ setIsFormatting(false);
49
+ }, [page, formattedRows, sortColumn, sortDirection]);
73
50
  const increasePage = () => {
74
51
  if (page === maxPage) {
75
52
  return;
@@ -91,88 +68,40 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
91
68
  setSortDirection('desc');
92
69
  }
93
70
  };
94
- if (loading) {
71
+ if (loading || isFormatting) {
95
72
  return (_jsx("div", { style: {
96
- ...containerStyle,
97
- // paddingLeft: 25,
98
- // paddingRight: 25,
99
- // borderRadius: 8,
100
- // marginTop: 25,
101
- // overflow: 'visible',
73
+ height: '100%',
102
74
  width: '100%',
103
- height: height || '100%',
104
75
  display: 'flex',
105
76
  flexDirection: 'column',
106
- // overflow: 'hidden',
107
- // @ts-ignore
108
- // boxShadow: 'rgba(231, 231, 231, 0.5) 0px 1px 2px 0px',
109
- }, children: _jsxs("div", { style: {
110
- height: '100%',
111
- overflow: 'auto',
112
- borderRadius: 6,
113
- border: '1px solid rgb(229, 231, 235)',
114
- padding: 0,
115
- margin: 0,
116
- // border: 'none',
117
- boxSizing: 'border-box',
118
- outline: 'none',
119
- display: 'flex',
120
- flexDirection: 'column',
121
- justifyContent: 'center',
122
- alignItems: 'center',
123
- // maxHeight: 600,
124
- }, children: [LoadingComponent && _jsx(LoadingComponent, {}), !LoadingComponent && (_jsxs("svg", { width: "24", height: "24", children: [_jsx("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: theme?.primaryTextColor || '#364153', fill: "none", transform: "rotate(-90 12 12)", children: _jsx("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), _jsx("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: _jsx("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }))] }) }));
125
- }
126
- if (!columns || !columns.length || !activeRows) {
127
- return null;
128
- }
129
- // since setting the rows and columns of a table are separate actions,
130
- // there will be a brief moment when the rows and columns don't match up
131
- // when you are changing them. this guards against that case.
132
- // TODO: make code below this check more resilient so that this check isn't needed
133
- if (activeRows.length > 0) {
134
- let allColumnsPresent = true;
135
- columns.forEach((column) => {
136
- if (!(column.field in activeRows[0])) {
137
- allColumnsPresent = false;
138
- }
139
- });
140
- if (!allColumnsPresent) {
141
- return null;
142
- }
77
+ justifyContent: 'center',
78
+ alignItems: 'center',
79
+ ...containerStyle,
80
+ }, children: _jsx(LoadingComponent, {}) }));
143
81
  }
144
82
  return (_jsxs("div", { style: {
145
- ...containerStyle,
146
- // paddingLeft: 25,
147
- // paddingRight: 25,
148
- // borderRadius: 8,
149
- // marginTop: 25,
83
+ width: '100%',
84
+ height: '100%',
150
85
  overflow: 'visible',
151
- height: height,
152
86
  display: 'flex',
153
87
  flexDirection: 'column',
154
- // overflow: 'hidden',
155
- // @ts-ignore
156
- // boxShadow: 'rgba(231, 231, 231, 0.5) 0px 1px 2px 0px',
88
+ ...containerStyle,
157
89
  }, children: [_jsx("div", { style: {
158
90
  height: '100%',
91
+ width: '100%',
159
92
  overflow: 'auto',
160
93
  borderRadius: 6,
161
94
  border: '1px solid rgb(229, 231, 235)',
162
95
  padding: 0,
163
96
  margin: 0,
164
- // border: 'none',
165
97
  boxSizing: 'border-box',
166
98
  outline: 'none',
167
- // maxHeight: 600,
168
99
  }, children: _jsxs("div", { role: "table", className: "table", style: { minWidth: '0px', width: '100%', height: '100%' }, children: [_jsx("div", { className: "thead", children: _jsx("div", { role: "row", className: "tr", style: {
169
100
  display: 'flex',
170
101
  flex: '1 0 auto',
171
102
  minWidth: '100px',
172
103
  boxSizing: 'border-box',
173
- }, children: columns.map((column, index) => (_jsxs("div", { onClick: () => toggleSort(column),
174
- // @ts-ignore
175
- style: {
104
+ }, children: columns.map((column, index) => (_jsxs("div", { onClick: () => toggleSort(column), style: {
176
105
  boxSizing: 'border-box',
177
106
  flex: '150 0 auto',
178
107
  minWidth: '50px',
@@ -196,9 +125,7 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
196
125
  display: 'flex',
197
126
  flexDirection: 'row',
198
127
  justifyContent: 'space-between',
199
- }, children: [_jsx("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown",
200
- // @ts-ignore
201
- style: {
128
+ }, children: [_jsx("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
202
129
  // fontFamily:
203
130
  // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
204
131
  WebkitTapHighlightColor: 'transparent',
@@ -216,7 +143,16 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
216
143
  transform: sortDirection === 'desc'
217
144
  ? 'rotate(180deg)'
218
145
  : undefined,
219
- }, children: _jsx("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z", clipRule: "evenodd" }) }))] }, 'sqlcol' + index))) }) }), _jsx("div", { role: "rowgroup", className: "tbody", children: activeRows.map((row, rowIndex) => (_jsx("div", { role: "row", className: "tr", style: {
146
+ }, children: _jsx("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z", clipRule: "evenodd" }) }))] }, 'sqlcol' + index))) }) }), activeRows.length === 0 || columns.length === 0 ? (_jsx("div", { style: {
147
+ paddingTop: '60px',
148
+ display: 'flex',
149
+ flex: '1 0 auto',
150
+ margin: 'auto',
151
+ justifyContent: 'center',
152
+ alignItems: 'center',
153
+ fontSize: 13,
154
+ color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
155
+ }, children: "No results returned." })) : (_jsx("div", { role: "rowgroup", className: "tbody", children: activeRows.map((row, rowIndex) => (_jsx("div", { role: "row", className: "tr", style: {
220
156
  display: 'flex',
221
157
  flex: '1 0 auto',
222
158
  minWidth: '100px',
@@ -263,28 +199,7 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
263
199
  overflow: 'hidden',
264
200
  padding: '8px 16px',
265
201
  userSelect: 'none',
266
- }, children: column.format
267
- ? valueFormatter({
268
- value: row[column.field],
269
- field: column.field,
270
- fields: columns,
271
- })
272
- : typeof row[column.field] === 'object'
273
- ? JSON.stringify(row[column.field]).length > 55
274
- ? JSON.stringify(row[column.field]).substring(0, 52) + '...'
275
- : JSON.stringify(row[column.field])
276
- : row[column.field].length > 55
277
- ? row[column.field].substring(0, 52) + '...'
278
- : row[column.field] }) }) }, 'sqlcell' + columnIndex))) }, 'sqlrow' + rowIndex))) }), activeRows.length === 0 && (_jsx("div", { style: {
279
- paddingTop: '60px',
280
- display: 'flex',
281
- flex: '1 0 auto',
282
- margin: 'auto',
283
- justifyContent: 'center',
284
- alignItems: 'center',
285
- fontSize: 13,
286
- color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
287
- }, children: "No results found for specified time period." }))] }) }), _jsx("div", { style: { position: 'relative' }, children: _jsx("div", { style: {
202
+ }, children: row[column.field] }) }) }, 'sqlcell' + columnIndex))) }, 'sqlrow' + rowIndex))) }))] }) }), _jsx("div", { style: { position: 'relative' }, children: _jsx("div", { style: {
288
203
  display: 'flex',
289
204
  flex: '1 0 auto',
290
205
  minWidth: '100px',
@@ -308,7 +223,7 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
308
223
  alignItems: 'center',
309
224
  justifyContent: 'space-between',
310
225
  width: '100%',
311
- }, children: [_jsx("button", { onClick: showDownloadCsvButton ? downloadCSV : undefined, style: {
226
+ }, children: [showDownloadCSVButton ? (_jsx("button", { onClick: downloadCSV, style: {
312
227
  fontSize: 14,
313
228
  paddingLeft: 12,
314
229
  fontFamily: theme?.fontFamily,
@@ -317,7 +232,7 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
317
232
  fontWeight: 500,
318
233
  cursor: 'pointer',
319
234
  border: 'none',
320
- }, children: showDownloadCsvButton ? 'Download CSV' : '' }), _jsxs("div", { style: {
235
+ }, children: "Download CSV" })) : (_jsx("div", {})), _jsxs("div", { style: {
321
236
  display: 'flex',
322
237
  flexDirection: 'row',
323
238
  alignItems: 'center',
@@ -335,88 +250,3 @@ export function SpecialTable({ columns, rows, height, containerStyle, loading, L
335
250
  background: 'transparent',
336
251
  }, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.chartLabelFontFamily || theme?.fontFamily, height: "16px", width: "16px", children: _jsx("path", { fillRule: "evenodd", d: "M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z", clipRule: "evenodd" }) }) }), _jsx("div", { style: { width: 12 } })] })] }) }) })] }));
337
252
  }
338
- const ChartUpdater = ({ chartId, containerStyle, dashboard, dispatch, client, dashboardFilters, theme, downloadCSV, csvFilename, showDownloadCsvButton = true, LoadingComponent, }) => {
339
- const [chartConfig, setChartConfig] = useState(null);
340
- const [loading, setLoading] = useState(true);
341
- useEffect(() => {
342
- let isSubscribed = true;
343
- async function getChartOptions() {
344
- if (isSubscribed) {
345
- setLoading(true);
346
- try {
347
- const hostedBody = { metadata: {
348
- dashboardItemId: chartId,
349
- orgId: client.customerId || '*',
350
- task: 'item',
351
- filters: [...Object.values(dashboardFilters)],
352
- clientId: client.publicKey,
353
- databaseType: client?.databaseType,
354
- } };
355
- const cloudBody = {
356
- id: chartId,
357
- filters: [...Object.values(dashboardFilters)],
358
- };
359
- const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody);
360
- if (resp && resp.name !== 'error') {
361
- if (resp.compareRows) {
362
- mergeComparisonRange(resp);
363
- }
364
- dispatch({
365
- type: 'UPDATE_DASHBOARD_ITEM',
366
- id: chartId,
367
- data: {
368
- ...resp,
369
- filtersApplied: dashboardFilters,
370
- },
371
- });
372
- }
373
- setLoading(false);
374
- }
375
- catch (e) {
376
- console.log('Error fetching chart: ', e);
377
- setLoading(false);
378
- }
379
- }
380
- }
381
- getChartOptions();
382
- return () => {
383
- isSubscribed = false;
384
- };
385
- }, [dashboardFilters, client.customerId, chartId]);
386
- // const dateFilter = Object.values(dashboardFilters).find(
387
- // (filter) => filter.filterType == 'date_range',
388
- // );
389
- // const pivotTable = useMemo(() => {
390
- // const pivot = dashboard[chartId]?.pivot;
391
- // const data = dashboard[chartId];
392
- // return pivot && data?.rows
393
- // ? generatePivotTable(
394
- // pivot,
395
- // data.rows,
396
- // dateFilter?.startDate
397
- // ? [dateFilter?.startDate, dateFilter?.endDate, null]
398
- // : [null, null, null],
399
- // )
400
- // : null;
401
- // }, [dashboard, chartId, dateFilter]);
402
- if (!dashboard[chartId] || loading) {
403
- return (_jsx("div", {
404
- // className="flex flex-col flex-1 h-[100%]"
405
- style: {
406
- ...containerStyle,
407
- // marginLeft: 25,
408
- // marginRight: 25,
409
- boxSizing: 'content-box',
410
- height: '100%',
411
- display: 'flex',
412
- flexDirection: 'column',
413
- flex: 1,
414
- }, children: _jsx("div", { style: {
415
- height: containerStyle?.height || 300,
416
- width: '100%',
417
- boxSizing: 'content-box',
418
- }, children: _jsxs("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [_jsx("rect", { width: "100%", height: "100%", fill: "#F9F9FA" }), _jsx("defs", { fill: "#F9F9FA", children: _jsxs("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "10%", y2: "0%", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { offset: "0%", stopColor: "rgba(255,255,255,0)" }), _jsx("stop", { offset: "50%", stopColor: "#FEFEFE" }), _jsx("stop", { offset: "100%", stopColor: "rgba(255,255,255,0)" }), _jsx("animate", { attributeName: "x1", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }), _jsx("animate", { attributeName: "x2", from: "-50%", to: "150%", dur: "2s", repeatCount: "indefinite" })] }) }), _jsx("rect", { width: "50%", height: "100%", fill: "url(#skeletonGradient)", children: _jsx("animate", { attributeName: "x", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }) })] }) }) }));
419
- }
420
- return (_jsx(SpecialTable, { showDownloadCsvButton: showDownloadCsvButton, csvFilename: csvFilename || dashboard[chartId].name, columns: dashboard[chartId].columns, rows: dashboard[chartId].rows ?? [], height: containerStyle?.height || '100%', theme: theme, containerStyle: containerStyle, LoadingComponent: LoadingComponent }));
421
- };
422
- export default Table;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  export interface Option {
3
3
  value: string;
4
4
  label: string;
@@ -27,9 +27,12 @@ export interface ButtonComponentProps {
27
27
  export interface TableComponentProps {
28
28
  rows: any[];
29
29
  columns: any[];
30
- height: string;
30
+ containerStyle?: React.CSSProperties;
31
31
  loading?: boolean;
32
+ showDownloadCSVButton?: boolean;
33
+ downloadFileName?: string;
32
34
  LoadingComponent?: () => JSX.Element;
35
+ DownloadCSVButtonComponent?: (props: ButtonComponentProps) => JSX.Element;
33
36
  }
34
37
  export interface TextInputComponentProps {
35
38
  onChange: (e: any) => void;
@@ -121,4 +124,7 @@ export declare const MemoizedDeleteButton: ({ onClick, style }: {
121
124
  onClick: any;
122
125
  style: any;
123
126
  }) => import("react/jsx-runtime").JSX.Element;
127
+ export declare const LoadingSpinner: ({ ...props }: {
128
+ [x: string]: any;
129
+ }) => import("react/jsx-runtime").JSX.Element;
124
130
  //# sourceMappingURL=UiComponents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
@@ -245,3 +245,4 @@ export const MemoizedDeleteButton = ({ onClick, style }) => (_jsxs("button", { c
245
245
  .quill-delete-button:hover {
246
246
  background-color: rgba(56, 65, 81, 0.03);
247
247
  }` }), _jsx(XIcon, { height: "20", width: "20", fill: "#6C727F" })] }));
248
+ export const LoadingSpinner = ({ ...props }) => (_jsxs("svg", { width: "24", height: "24", children: [_jsx("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: "#364153", fill: "none", transform: "rotate(-90 12 12)", children: _jsx("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), _jsx("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: _jsx("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] }));
@@ -1,4 +1,6 @@
1
1
  export declare const useMemoizedRows: (chartId: string) => {
2
- formattedRows: string[][];
2
+ formattedRows: {
3
+ [key: string]: string;
4
+ }[];
3
5
  };
4
6
  //# sourceMappingURL=useFormat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormat.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFormat.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,YAAa,MAAM;;CAiB9C,CAAC"}
1
+ {"version":3,"file":"useFormat.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFormat.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,YAAa,MAAM;;;;CAwB9C,CAAC"}
@@ -3,18 +3,19 @@ import { useQuill } from './useQuill';
3
3
  import { useMemo } from 'react';
4
4
  export const useMemoizedRows = (chartId) => {
5
5
  const { data } = useQuill(chartId);
6
- const formattedRows = useMemo(() => {
7
- if (!data)
8
- return [];
9
- const { rows, columns } = data;
10
- return rows.map((row) => {
11
- return columns.map((column) => {
12
- return quillFormat({
13
- value: row[column.field],
14
- format: column.format,
15
- });
6
+ if (!data)
7
+ return { formattedRows: [] };
8
+ const { rows, columns } = data;
9
+ const formattedRows = useMemo(() => rows.map((row) => {
10
+ return columns.reduce((formattedRow, column) => {
11
+ // Apply the format function to each field in the row
12
+ const formattedValue = quillFormat({
13
+ value: row[column.field],
14
+ format: column.format,
16
15
  });
17
- });
18
- }, [data]);
16
+ formattedRow[column.field] = formattedValue;
17
+ return formattedRow;
18
+ }, {});
19
+ }), [rows]);
19
20
  return { formattedRows };
20
21
  };
@@ -1,7 +1,7 @@
1
1
  export { default as Dashboard, type DashboardProps, type DashboardItemProps, type DashboardItem, type AxisFormat, } from './Dashboard';
2
2
  export { default as QuillProvider } from './QuillProvider';
3
3
  export { default as Chart } from './Chart';
4
- export { default as Table } from './Table';
4
+ export { default as QuillTable } from './components/QuillTable';
5
5
  export { default as SQLEditor, SchemaListComponent } from './SQLEditor';
6
6
  export { default as ReportBuilder } from './ReportBuilder';
7
7
  export { default as ChartBuilder } from './ChartBuilder';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,IAAI,SAAS,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,MAAM,EACN,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  export { default as Dashboard, } from './Dashboard';
3
3
  export { default as QuillProvider } from './QuillProvider';
4
4
  export { default as Chart } from './Chart';
5
- export { default as Table } from './Table';
5
+ export { default as QuillTable } from './components/QuillTable';
6
6
  export { default as SQLEditor, SchemaListComponent } from './SQLEditor';
7
7
  export { default as ReportBuilder } from './ReportBuilder';
8
8
  export { default as ChartBuilder } from './ChartBuilder';
@@ -18,5 +18,10 @@ export declare const quillFormat: ({ value, format, }: {
18
18
  value: any;
19
19
  format: string;
20
20
  }) => string;
21
+ export declare const compareValues: (a: {
22
+ [key: string]: any;
23
+ }, b: {
24
+ [key: string]: any;
25
+ }, column: string) => number;
21
26
  export {};
22
27
  //# sourceMappingURL=valueFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MAwChE,CAAC;AAEF,eAAO,MAAM,WAAW;WAIf,GAAG;YACF,MAAM;MACZ,MAkCH,CAAC"}
1
+ {"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MAwChE,CAAC;AAEF,eAAO,MAAM,WAAW;WAIf,GAAG;YACF,MAAM;MACZ,MAoCH,CAAC;AAmJF,eAAO,MAAM,aAAa;;;;WAGhB,MAAM,KACb,MA2BF,CAAC"}