@quillsql/react 2.5.4 → 2.5.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.
@@ -0,0 +1,547 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generatePivotTable = exports.PivotModal = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ // @ts-nocheck
6
+ const react_1 = require("react");
7
+ const Context_1 = require("../../Context");
8
+ const dataFetcher_1 = require("../../utils/dataFetcher");
9
+ const assets_1 = require("../../assets");
10
+ const PivotList_1 = require("./PivotList");
11
+ const date_fns_1 = require("date-fns");
12
+ const Chart_1 = require("../../Chart");
13
+ const QuillHover = () => {
14
+ return ((0, jsx_runtime_1.jsx)("style", { children: `
15
+ .quill-hover {
16
+ background-color: white;
17
+ }
18
+ .quill-hover:hover {
19
+ background-color: rgba(56, 65, 81, 0.05);
20
+ }
21
+ .quill-tab:active {
22
+ background-color: rgba(56, 65, 81, 0.15);
23
+ }
24
+ ` }));
25
+ };
26
+ const PivotModal = ({ selectedTable, SelectComponent, ButtonComponent, ModalComponent, ModalTriggerComponent, selectedPivotIndex, setSelectedPivotIndex, removePivot, selectPivot, data, columns, theme, dateRange, }) => {
27
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
28
+ const [showUpdatePivot, setShowUpdatePivot] = (0, react_1.useState)(false);
29
+ const [isLoading, setIsLoading] = (0, react_1.useState)(true);
30
+ const [recommendedPivots, setRecommendedPivots] = (0, react_1.useState)([]);
31
+ const [createdPivots, setCreatedPivots] = (0, react_1.useState)([]);
32
+ // for testing
33
+ // const [createdPivots, setCreatedPivots] = useState<Pivot[]>([
34
+ // {
35
+ // rowField: 'created_at',
36
+ // rowFieldType: 'date',
37
+ // columnField: undefined,
38
+ // columnFieldType: undefined,
39
+ // valueField: 'amount',
40
+ // aggregationType: 'sum',
41
+ // title: 'sum of amount by created_at',
42
+ // },
43
+ // {
44
+ // rowField: 'merchant',
45
+ // rowFieldType: 'varchar',
46
+ // columnField: 'created_at',
47
+ // columnFieldType: 'date',
48
+ // valueField: 'amount',
49
+ // aggregationType: 'sum',
50
+ // title: 'sum of amount by merchant and created_at',
51
+ // },
52
+ // {
53
+ // rowField: 'created_at',
54
+ // rowFieldType: 'date',
55
+ // columnField: 'merchant',
56
+ // columnFieldType: 'varchar',
57
+ // valueField: 'amount',
58
+ // aggregationType: 'sum',
59
+ // title: 'sum of amount by created_at and merchant',
60
+ // },
61
+ // ]);
62
+ const [pivotUpdateIndex, setPivotUpdateIndex] = (0, react_1.useState)(null);
63
+ const [selectedPivotType, setSelectedPivotType] = (0, react_1.useState)('recommended');
64
+ const [pivotRowField, setPivotRowField] = (0, react_1.useState)(undefined);
65
+ const [pivotColumnField, setPivotColumnField] = (0, react_1.useState)(undefined);
66
+ const [pivotValueField, setPivotValueField] = (0, react_1.useState)(undefined);
67
+ const [pivotAggregation, setPivotAggregation] = (0, react_1.useState)(undefined);
68
+ const [errors, setErrors] = (0, react_1.useState)([]);
69
+ const [client] = (0, react_1.useContext)(Context_1.ClientContext);
70
+ const columnsToShow = (0, react_1.useMemo)(() => {
71
+ return selectedTable.columns.reduce(function (map, col) {
72
+ // only use columns shown in the report builder's table
73
+ if (columns.find(column => column.field === col.name)) {
74
+ map[col.name] = col.fieldType;
75
+ }
76
+ return map;
77
+ }, {});
78
+ }, [selectedTable, columns]);
79
+ const columnSelectOptions = (0, react_1.useMemo)(() => {
80
+ return [
81
+ { label: '', value: null },
82
+ ...Object.keys(columnsToShow).map(key => {
83
+ return { label: key, value: key };
84
+ }),
85
+ ];
86
+ }, [columnsToShow]);
87
+ const onSelectRecommendedPivot = (pivot, index) => {
88
+ if (index === selectedPivotIndex && selectedPivotType === 'recommended') {
89
+ removePivot();
90
+ }
91
+ else {
92
+ selectPivot(pivot, index);
93
+ setSelectedPivotType('recommended');
94
+ }
95
+ setIsOpen(false);
96
+ };
97
+ const onSelectCreatedPivot = (pivot, index) => {
98
+ if (index === selectedPivotIndex &&
99
+ selectedPivotType === 'created' &&
100
+ pivotUpdateIndex === null) {
101
+ removePivot();
102
+ }
103
+ else {
104
+ selectPivot(pivot, index);
105
+ setSelectedPivotType('created');
106
+ }
107
+ setIsOpen(false);
108
+ };
109
+ const onEditPivot = (pivot, index) => {
110
+ setPivotRowField(pivot.rowField);
111
+ setPivotColumnField(pivot.columnField);
112
+ setPivotValueField(pivot.valueField);
113
+ setPivotAggregation(pivot.aggregationType);
114
+ setPivotUpdateIndex(index);
115
+ setShowUpdatePivot(true);
116
+ };
117
+ const onEditRecommendedPivot = (pivot, index) => {
118
+ onEditPivot(pivot, null);
119
+ };
120
+ const refreshPivots = (0, react_1.useCallback)(async () => {
121
+ setIsLoading(true);
122
+ const cloudBody = {
123
+ tableSchema: Object.keys(columnsToShow).reduce(function (map, col) {
124
+ map[col] = columnsToShow[col];
125
+ return map;
126
+ }, {}),
127
+ };
128
+ try {
129
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, 'pivotai', cloudBody);
130
+ const recommendedPivots = JSON.parse(resp?.data?.choices?.[0]?.message?.content).pivotTables;
131
+ // for testing if needed
132
+ // const recommendedPivots = [
133
+ // {
134
+ // title: 'Total Amount by Merchant and Category',
135
+ // rowField: 'merchant',
136
+ // columnField: 'category',
137
+ // valueField: 'amount',
138
+ // aggregationType: 'sum',
139
+ // },
140
+ // {
141
+ // title: 'Average Amount by User and Category',
142
+ // rowField: 'user_name',
143
+ // columnField: 'category',
144
+ // valueField: 'amount',
145
+ // aggregationType: 'average',
146
+ // },
147
+ // {
148
+ // title: 'Count of Transactions by User and Merchant',
149
+ // rowField: 'user_name',
150
+ // columnField: 'merchant',
151
+ // valueField: 'id',
152
+ // aggregationType: 'count',
153
+ // },
154
+ // {
155
+ // title: 'Total Amount by Merchant and Customer',
156
+ // rowField: 'merchant',
157
+ // columnField: 'customer_id',
158
+ // valueField: 'amount',
159
+ // aggregationType: 'sum',
160
+ // },
161
+ // {
162
+ // title: 'Average Amount by Date and Category',
163
+ // rowField: 'created_at',
164
+ // columnField: 'category',
165
+ // valueField: 'amount',
166
+ // aggregationType: 'average',
167
+ // },
168
+ // {
169
+ // title: 'Count of Transactions by Date and Category',
170
+ // rowField: 'created_at',
171
+ // columnField: 'category',
172
+ // valueField: 'id',
173
+ // aggregationType: 'count',
174
+ // },
175
+ // ];
176
+ setRecommendedPivots(recommendedPivots.map(pivot => {
177
+ return {
178
+ ...pivot,
179
+ rowFieldType: columnsToShow[pivot.rowField],
180
+ columnFieldType: columnsToShow[pivot.columnField],
181
+ };
182
+ }));
183
+ // refreshing means the currently selected pivot doesn't exist in the options anymore
184
+ setSelectedPivotIndex(-1);
185
+ }
186
+ catch (e) {
187
+ console.error('Failed parsing pivotai response', e);
188
+ }
189
+ setIsLoading(false);
190
+ }, [selectedTable, data, columnsToShow]);
191
+ const recommendedPivotTables = (0, react_1.useMemo)(() => {
192
+ const pts = recommendedPivots.map(p => {
193
+ const { rows, columns } = generatePivotTable(p, data, dateRange);
194
+ return { pivot: p, rows, columns };
195
+ });
196
+ return pts;
197
+ }, [recommendedPivots, data]);
198
+ const createdPivotTables = (0, react_1.useMemo)(() => {
199
+ const pts = createdPivots.map(p => {
200
+ const { rows, columns } = generatePivotTable(p, data, dateRange);
201
+ return { pivot: p, rows, columns };
202
+ });
203
+ return pts;
204
+ }, [createdPivots, data]);
205
+ return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
206
+ position: 'relative',
207
+ display: 'inline-block',
208
+ textAlign: 'left',
209
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
210
+ display: 'flex',
211
+ flexDirection: 'row',
212
+ alignItems: 'center',
213
+ }, children: [selectedPivotIndex !== -1 && ((0, jsx_runtime_1.jsx)("span", { style: {
214
+ height: 10,
215
+ width: 10,
216
+ backgroundColor: theme.primaryButtonColor,
217
+ borderRadius: '50%',
218
+ position: 'absolute',
219
+ top: -2,
220
+ right: -2,
221
+ } })), (0, jsx_runtime_1.jsx)(ModalTriggerComponent, { onClick: () => {
222
+ // table is not loaded yet, so pivot button is not clickable
223
+ if (Object.keys(columnsToShow).length === 0) {
224
+ return;
225
+ }
226
+ if (!isOpen && recommendedPivots.length === 0) {
227
+ refreshPivots();
228
+ }
229
+ setIsOpen(isOpen => !isOpen);
230
+ setShowUpdatePivot(false);
231
+ }, label: "Pivot", Icon: assets_1.UpLeftArrowsIcon })] }), (0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, onClose: () => {
232
+ setIsOpen(false);
233
+ setShowUpdatePivot(false);
234
+ }, title: "Add pivot", children: showUpdatePivot ? ((0, jsx_runtime_1.jsxs)("div", { style: {
235
+ backgroundColor: 'rgb(255, 255, 255)',
236
+ display: 'flex',
237
+ flexDirection: 'column',
238
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
239
+ fontSize: 14,
240
+ marginBottom: '6px',
241
+ fontWeight: '600',
242
+ color: theme.secondaryTextColor,
243
+ fontFamily: theme?.fontFamily,
244
+ }, children: "Create pivot" }), (0, jsx_runtime_1.jsxs)("div", { style: {
245
+ display: 'flex',
246
+ flexDirection: 'column',
247
+ gap: 5,
248
+ alignItems: 'center',
249
+ justifyContent: 'space-between',
250
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
251
+ display: 'flex',
252
+ flexDirection: 'row',
253
+ gap: 10,
254
+ marginBottom: 5,
255
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
256
+ fontSize: 14,
257
+ marginBottom: '6px',
258
+ fontWeight: '600',
259
+ color: theme.secondaryTextColor,
260
+ fontFamily: theme?.fontFamily,
261
+ }, children: "Row Field" }), (0, jsx_runtime_1.jsx)(SelectComponent, { id: "pivot-row-field", value: pivotRowField, onChange: e => {
262
+ setPivotRowField(e);
263
+ }, options: columnSelectOptions })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
264
+ fontSize: 14,
265
+ marginBottom: '6px',
266
+ fontWeight: '600',
267
+ color: theme.secondaryTextColor,
268
+ fontFamily: theme?.fontFamily,
269
+ }, children: "Column Field" }), (0, jsx_runtime_1.jsx)(SelectComponent, { id: "pivot-row-field", value: pivotColumnField, onChange: e => {
270
+ setPivotColumnField(e);
271
+ }, options: columnSelectOptions })] })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
272
+ display: 'flex',
273
+ flexDirection: 'row',
274
+ gap: 10,
275
+ marginBottom: 20,
276
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
277
+ fontSize: 14,
278
+ marginBottom: '6px',
279
+ fontWeight: '600',
280
+ color: theme.secondaryTextColor,
281
+ fontFamily: theme?.fontFamily,
282
+ }, children: "Value Field" }), (0, jsx_runtime_1.jsx)(SelectComponent, { id: "pivot-row-field", value: pivotValueField, onChange: e => {
283
+ setPivotValueField(e);
284
+ }, options: columnSelectOptions })] }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
285
+ fontSize: 14,
286
+ marginBottom: '6px',
287
+ fontWeight: '600',
288
+ color: theme.secondaryTextColor,
289
+ fontFamily: theme?.fontFamily,
290
+ }, children: "Aggregation Type" }), (0, jsx_runtime_1.jsx)(SelectComponent, { id: "pivot-row-field", value: pivotAggregation, onChange: e => {
291
+ setPivotAggregation(e);
292
+ }, options: [null, 'sum', 'average', 'count'].map(option => {
293
+ return { label: option, value: option };
294
+ }) })] })] })] }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(ButtonComponent, { id: "custom-button", onClick: () => {
295
+ const errors = [];
296
+ if (!pivotRowField) {
297
+ errors.push('Row field cannot be empty');
298
+ }
299
+ if (!pivotValueField) {
300
+ errors.push('Value field cannot be empty');
301
+ }
302
+ if (!pivotAggregation) {
303
+ errors.push('Aggregation cannot be empty');
304
+ }
305
+ if (errors.length === 0) {
306
+ const pivot = {
307
+ rowField: pivotRowField || '',
308
+ rowFieldType: columnsToShow[pivotRowField || ''],
309
+ columnField: pivotColumnField,
310
+ columnFieldType: columnsToShow[pivotColumnField || ''],
311
+ valueField: pivotValueField || '',
312
+ aggregationType: pivotAggregation || '',
313
+ };
314
+ pivot.title = generatePivotTitle(pivot);
315
+ if (pivotUpdateIndex !== null) {
316
+ createdPivots.splice(pivotUpdateIndex, 1, pivot);
317
+ setCreatedPivots([...createdPivots]);
318
+ onSelectCreatedPivot(pivot, pivotUpdateIndex);
319
+ setPivotUpdateIndex(null);
320
+ }
321
+ else {
322
+ onSelectCreatedPivot(pivot, createdPivots.length);
323
+ setCreatedPivots([...createdPivots, pivot]);
324
+ }
325
+ setIsOpen(false);
326
+ }
327
+ setErrors(errors);
328
+ }, label: pivotUpdateIndex !== null ? 'Edit Pivot' : 'Create Pivot' }) }), (0, jsx_runtime_1.jsx)("div", { children: errors.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { style: {
329
+ fontSize: 14,
330
+ marginBottom: '6px',
331
+ marginTop: '12px',
332
+ fontWeight: '600',
333
+ color: theme.secondaryTextColor,
334
+ }, children: "Pivot Errors" }), errors.map((error, index) => ((0, jsx_runtime_1.jsx)("div", { style: {
335
+ borderRadius: 8,
336
+ backgroundColor: '#FF9494',
337
+ paddingLeft: '12px',
338
+ paddingRight: '8px',
339
+ height: 30,
340
+ display: 'flex',
341
+ alignItems: 'center',
342
+ fontSize: 13,
343
+ fontWeight: 'bold',
344
+ fontFamily: theme?.fontFamily,
345
+ color: 'white',
346
+ marginBottom: 5,
347
+ }, children: error }, index)))] })) })] })) : ((0, jsx_runtime_1.jsx)("div", { style: {
348
+ display: 'flex',
349
+ flexDirection: 'column',
350
+ fontFamily: theme?.fontFamily,
351
+ color: theme?.primaryTextColor,
352
+ width: 700,
353
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
354
+ fontWeight: '600',
355
+ marginBottom: 5,
356
+ fontSize: 18,
357
+ }, children: "Recommended Pivots" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { onClick: refreshPivots, style: {
358
+ color: theme?.secondaryTextColor,
359
+ cursor: 'pointer',
360
+ marginTop: 0,
361
+ marginBottom: 12,
362
+ marginLeft: -8,
363
+ display: 'flex',
364
+ flexDirection: 'row',
365
+ alignItems: 'center',
366
+ fontSize: 14,
367
+ maxWidth: 90,
368
+ paddingLeft: 8,
369
+ paddingRight: 6,
370
+ paddingTop: 6,
371
+ paddingBottom: 6,
372
+ borderRadius: 5,
373
+ }, className: "quill-hover", children: [(0, jsx_runtime_1.jsx)(QuillHover, {}), (0, jsx_runtime_1.jsx)(assets_1.RefreshIcon, { style: { marginRight: 5 } }), "Refresh"] }) }), isLoading ? ((0, jsx_runtime_1.jsxs)("div", { style: {
374
+ background: theme.backgroundColor,
375
+ width: 250,
376
+ minWidth: 250,
377
+ height: '100%',
378
+ paddingLeft: 20,
379
+ paddingRight: 30,
380
+ paddingTop: 40,
381
+ display: 'flex',
382
+ margin: '0px auto',
383
+ justifyContent: 'center',
384
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { height: 100 } }), (0, jsx_runtime_1.jsxs)("svg", { width: "24", height: "24", children: [(0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 6)", stroke: theme?.primaryTextColor || '#364153', fill: "none", transform: "rotate(-90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "-180 12 12", to: "180 12 12", dur: "0.8s", repeatCount: "indefinite" }) }), (0, jsx_runtime_1.jsx)("circle", { cx: "12", cy: "12", r: "9.375", strokeWidth: "3.75", strokeDasharray: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 1 / 3)", strokeDashoffset: "calc(2 * 3.14 * 9.375 / 3) calc(2 * 3.14 * 9.375 * 2 / 3)", stroke: '#ADB1B9', fill: "none", transform: "rotate(90 12 12)", children: (0, jsx_runtime_1.jsx)("animateTransform", { attributeName: "transform", attributeType: "XML", type: "rotate", from: "0 12 12", to: "360 12 12", dur: "0.8s", repeatCount: "indefinite" }) })] })] })) : ((0, jsx_runtime_1.jsx)(PivotList_1.PivotList, { pivotTables: recommendedPivotTables, theme: theme, onSelectPivot: onSelectRecommendedPivot, selectedPivotIndex: selectedPivotType === 'recommended'
385
+ ? selectedPivotIndex
386
+ : -1, ButtonComponent: ButtonComponent, onEditPivot: onEditRecommendedPivot }))] }) })) })] }) }));
387
+ };
388
+ exports.PivotModal = PivotModal;
389
+ function generatePivotTitle(pivot) {
390
+ return `${pivot.aggregationType} of ${pivot.valueField} by ${pivot.rowField}${pivot.columnField ? ` and ${pivot.columnField}` : ''}`;
391
+ }
392
+ function getDateBuckets(dateRange) {
393
+ const dayDifference = (0, date_fns_1.differenceInDays)(new Date(dateRange[1]), new Date(dateRange[0]));
394
+ if (dayDifference < 14) {
395
+ return (0, date_fns_1.eachDayOfInterval)({ start: dateRange[0], end: dateRange[1] });
396
+ }
397
+ else if (dayDifference < 60) {
398
+ return (0, date_fns_1.eachWeekOfInterval)({ start: dateRange[0], end: dateRange[1] }, { weekStartsOn: 1 });
399
+ }
400
+ else if (dayDifference < 365 * 3) {
401
+ return (0, date_fns_1.eachMonthOfInterval)({ start: dateRange[0], end: dateRange[1] });
402
+ }
403
+ else {
404
+ return (0, date_fns_1.eachYearOfInterval)({ start: dateRange[0], end: dateRange[1] });
405
+ }
406
+ }
407
+ function getDateString(value, dateRange) {
408
+ const dayDifference = (0, date_fns_1.differenceInDays)(new Date(dateRange[1]), new Date(dateRange[0]));
409
+ let format;
410
+ if (dayDifference < 14) {
411
+ format = 'MMM_dd_yyyy';
412
+ }
413
+ else if (dayDifference < 60) {
414
+ format = 'MMM_dd-MMM_dd';
415
+ }
416
+ else if (dayDifference < 365 * 3) {
417
+ format = 'MMM_yyyy';
418
+ }
419
+ else {
420
+ format = 'yyyy';
421
+ }
422
+ return (0, Chart_1.valueFormatter)({
423
+ value,
424
+ field: 'date',
425
+ fields: [{ field: 'date', format }],
426
+ });
427
+ }
428
+ function generatePivotTable(pivot, data, dateRange) {
429
+ const pivotRows = [];
430
+ const uniqueRows = pivot.rowFieldType === 'date'
431
+ ? getDateBuckets(dateRange)
432
+ : [...new Set(data.map(item => item[pivot.rowField]))];
433
+ // If columnField is not provided, we will not be using uniqueColumns
434
+ const uniqueColumns = pivot.columnField
435
+ ? pivot.columnFieldType === 'date'
436
+ ? getDateBuckets(dateRange)
437
+ : [...new Set(data.map(item => item[pivot.columnField || '']))]
438
+ : [pivot.valueField];
439
+ uniqueRows.forEach((rowValue, rowIndex) => {
440
+ const row = {
441
+ [pivot.rowField]: pivot.rowFieldType === 'date'
442
+ ? getDateString(rowValue, dateRange)
443
+ : rowValue,
444
+ };
445
+ uniqueColumns.forEach((colValue, colIndex) => {
446
+ let filteredData;
447
+ let value;
448
+ const nextRowValue = pivot.rowFieldType === 'date'
449
+ ? uniqueRows[rowIndex + 1] || (0, date_fns_1.endOfDay)(dateRange[1])
450
+ : null;
451
+ if (pivot.columnField) {
452
+ const nextColumnValue = pivot.columnFieldType === 'date'
453
+ ? uniqueColumns[colIndex + 1] || (0, date_fns_1.endOfDay)(dateRange[1])
454
+ : null;
455
+ // If columnField is provided, filter by both rowField and columnField
456
+ if (pivot.columnFieldType === 'date' && pivot.rowFieldType === 'date') {
457
+ filteredData = data.filter((item) => {
458
+ return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
459
+ start: rowValue,
460
+ end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
461
+ }) &&
462
+ (0, date_fns_1.isWithinInterval)(new Date(item[pivot.columnField]), {
463
+ start: colValue,
464
+ end: (0, date_fns_1.subMilliseconds)(nextColumnValue, 1),
465
+ }));
466
+ });
467
+ }
468
+ else if (pivot.columnFieldType === 'date' &&
469
+ pivot.rowFieldType !== 'date') {
470
+ filteredData = data.filter((item) => {
471
+ return (item[pivot.rowField] === rowValue &&
472
+ (0, date_fns_1.isWithinInterval)(new Date(item[pivot.columnField]), {
473
+ start: colValue,
474
+ end: (0, date_fns_1.subMilliseconds)(nextColumnValue, 1),
475
+ }));
476
+ });
477
+ }
478
+ else if (pivot.columnFieldType !== 'date' &&
479
+ pivot.rowFieldType === 'date') {
480
+ filteredData = data.filter((item) => {
481
+ return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
482
+ start: rowValue,
483
+ end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
484
+ }) && item[pivot.columnField || ''] === colValue);
485
+ });
486
+ }
487
+ else {
488
+ filteredData = data.filter((item) => {
489
+ return (item[pivot.rowField] === rowValue &&
490
+ item[pivot.columnField || ''] === colValue);
491
+ });
492
+ }
493
+ }
494
+ else {
495
+ // If columnField is not provided, filter by rowField only
496
+ filteredData =
497
+ pivot.rowFieldType === 'date'
498
+ ? data.filter(item => {
499
+ return (0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
500
+ start: rowValue,
501
+ end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
502
+ });
503
+ })
504
+ : data.filter(item => item[pivot.rowField] === rowValue);
505
+ }
506
+ // Aggregation logic remains the same
507
+ switch (pivot.aggregationType) {
508
+ case 'sum':
509
+ value = filteredData.reduce((sum, item) => sum + parseFloat(item[pivot.valueField] || 0), 0);
510
+ break;
511
+ case 'count':
512
+ value = filteredData.length;
513
+ break;
514
+ case 'average':
515
+ value = filteredData.length
516
+ ? filteredData.reduce((sum, item) => sum + parseFloat(item[pivot.valueField] || 0), 0) / filteredData.length
517
+ : 0;
518
+ break;
519
+ // Implement other aggregation types as needed
520
+ default:
521
+ throw new Error('Unsupported aggregation type');
522
+ }
523
+ // Set the value on the row
524
+ // If columnField is not provided, colValue will be valueField
525
+ row[pivot.columnFieldType === 'date'
526
+ ? getDateString(colValue, dateRange)
527
+ : colValue] = value;
528
+ });
529
+ pivotRows.push(row);
530
+ });
531
+ // need to ensure that the rowField is the first column
532
+ uniqueColumns.unshift(pivot.rowField);
533
+ return {
534
+ rows: pivotRows,
535
+ columns: uniqueColumns.map((column, index) => {
536
+ const columnName = pivot.columnFieldType === 'date' && index > 0 // first row is rowField
537
+ ? getDateString(column, dateRange)
538
+ : column;
539
+ return {
540
+ label: columnName,
541
+ field: columnName,
542
+ };
543
+ }),
544
+ };
545
+ }
546
+ exports.generatePivotTable = generatePivotTable;
547
+ //# sourceMappingURL=PivotModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PivotModal.js","sourceRoot":"","sources":["../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};