@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.
- package/lib/BarList.js +77 -74
- package/lib/BarList.js.map +1 -1
- package/lib/assets/FilterIcon.d.ts +4 -0
- package/lib/assets/FilterIcon.js +6 -0
- package/lib/assets/FilterIcon.js.map +1 -0
- package/lib/assets/RefreshIcon.d.ts +4 -0
- package/lib/assets/RefreshIcon.js +6 -0
- package/lib/assets/RefreshIcon.js.map +1 -0
- package/lib/assets/UpLeftArrowsIcon.d.ts +4 -0
- package/lib/assets/UpLeftArrowsIcon.js +6 -0
- package/lib/assets/UpLeftArrowsIcon.js.map +1 -0
- package/lib/components/QuillCard.d.ts +10 -0
- package/lib/components/QuillCard.js +19 -0
- package/lib/components/QuillCard.js.map +1 -0
- package/lib/internals/ReportBuilder/PivotList.d.ts +9 -0
- package/lib/internals/ReportBuilder/PivotList.js +50 -0
- package/lib/internals/ReportBuilder/PivotList.js.map +1 -0
- package/lib/internals/ReportBuilder/PivotModal.d.ts +31 -0
- package/lib/internals/ReportBuilder/PivotModal.js +547 -0
- package/lib/internals/ReportBuilder/PivotModal.js.map +1 -0
- package/lib/internals/ReportBuilder/PivotModal.spec.d.ts +1 -0
- package/lib/internals/ReportBuilder/PivotModal.spec.js +195 -0
- package/lib/internals/ReportBuilder/PivotModal.spec.js.map +1 -0
- package/lib/utils/dataFetcher.d.ts +2 -0
- package/lib/utils/dataFetcher.js +63 -0
- package/lib/utils/dataFetcher.js.map +1 -0
- package/package.json +1 -1
|
@@ -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 {};
|