@quillsql/react 2.8.7 → 2.8.8
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/dist/AddToDashboardModal.js +181 -146
- package/dist/BarList.js +44 -36
- package/dist/Chart.js +132 -99
- package/dist/ChartBuilder.js +89 -80
- package/dist/ChartEditor.js +21 -14
- package/dist/Context.js +57 -52
- package/dist/Dashboard.js +211 -178
- package/dist/Dashboard.js.map +1 -1
- package/dist/DateRangePicker/Calendar.js +46 -41
- package/dist/DateRangePicker/DateRangePicker.js +61 -32
- package/dist/DateRangePicker/DateRangePickerButton.js +17 -14
- package/dist/DateRangePicker/dateRangePickerUtils.js +90 -76
- package/dist/DateRangePicker/dateRangePickerUtils.js.map +1 -1
- package/dist/DateRangePicker/index.js +9 -1
- package/dist/PieChart.js +70 -35
- package/dist/QuillProvider.js +7 -4
- package/dist/ReportBuilder.js +129 -120
- package/dist/SQLEditor.js +65 -56
- package/dist/Table.js +64 -59
- package/dist/Table.js.map +1 -1
- package/dist/TableChart.js +45 -17
- package/dist/assets/ArrowDownHeadIcon.js +6 -3
- package/dist/assets/ArrowDownIcon.js +6 -3
- package/dist/assets/ArrowDownRightIcon.js +6 -3
- package/dist/assets/ArrowLeftHeadIcon.js +6 -3
- package/dist/assets/ArrowRightHeadIcon.js +6 -3
- package/dist/assets/ArrowRightIcon.js +6 -3
- package/dist/assets/ArrowUpHeadIcon.js +6 -3
- package/dist/assets/ArrowUpIcon.js +6 -3
- package/dist/assets/ArrowUpRightIcon.js +6 -3
- package/dist/assets/CalendarIcon.js +6 -3
- package/dist/assets/CalendarNormalIcon.js +6 -3
- package/dist/assets/DoubleArrowLeftHeadIcon.js +6 -3
- package/dist/assets/DoubleArrowRightHeadIcon.js +6 -3
- package/dist/assets/ExclamationFilledIcon.js +6 -3
- package/dist/assets/FilterIcon.js +6 -3
- package/dist/assets/LoadingSpinner.js +6 -3
- package/dist/assets/RefreshIcon.js +6 -3
- package/dist/assets/SearchIcon.js +6 -3
- package/dist/assets/UpLeftArrowsIcon.js +6 -3
- package/dist/assets/XCircleIcon.js +6 -3
- package/dist/assets/XIcon.js +6 -3
- package/dist/assets/index.js +49 -21
- package/dist/components/BigModal/BigModal.js +39 -13
- package/dist/components/Dropdown/Dropdown.js +53 -24
- package/dist/components/Dropdown/DropdownItem.js +35 -9
- package/dist/components/Dropdown/index.js +11 -2
- package/dist/components/Modal/Modal.js +39 -13
- package/dist/components/Modal/index.js +9 -1
- package/dist/components/QuillCard.js +13 -8
- package/dist/components/SqlTextEditor.js +11 -4
- package/dist/components/SqlTextEditor.js.map +1 -0
- package/dist/components/UiComponents.js +51 -37
- package/dist/components/selectUtils.js +17 -6
- package/dist/contexts/BaseColorContext.js +6 -3
- package/dist/contexts/HoveredValueContext.js +6 -3
- package/dist/contexts/RootStylesContext.js +6 -3
- package/dist/contexts/SelectedValueContext.js +6 -3
- package/dist/contexts/index.js +15 -4
- package/dist/hooks/index.js +15 -4
- package/dist/hooks/useDashboard.js +15 -10
- package/dist/hooks/useDashboard.js.map +1 -0
- package/dist/hooks/useInternalState.js +6 -3
- package/dist/hooks/useOnClickOutside.js +6 -3
- package/dist/hooks/useOnWindowResize.js +7 -4
- package/dist/hooks/useQuill.js +16 -11
- package/dist/hooks/useSelectOnKeyDown.js +7 -4
- package/dist/index.js +33 -13
- package/dist/index.js.map +1 -1
- package/dist/internals/ReportBuilder/PivotList.js +20 -14
- package/dist/internals/ReportBuilder/PivotModal.js +92 -84
- package/dist/internals/ReportBuilder/PivotModal.spec.js +73 -70
- package/dist/lib/font.js +6 -2
- package/dist/lib/index.js +20 -3
- package/dist/lib/inputTypes.js +3 -1
- package/dist/lib/utils.js +19 -8
- package/dist/utils/aggregate.js +35 -28
- package/dist/utils/colorToHex.js +5 -1
- package/dist/utils/dataFetcher.js +8 -2
- package/dist/utils/downloadCSV.js +6 -1
- package/package.json +2 -1
package/dist/Chart.js
CHANGED
|
@@ -1,19 +1,48 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ChartTooltipRow = exports.ChartTooltipFrame = exports.valueFormatter = void 0;
|
|
30
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
2
31
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
3
32
|
// @ts-nocheck
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
33
|
+
const react_1 = require("react");
|
|
34
|
+
const aggregate_1 = require("./utils/aggregate");
|
|
35
|
+
const ReportBuilder_1 = require("./ReportBuilder");
|
|
36
|
+
const recharts_1 = require("recharts");
|
|
37
|
+
const date_fns_1 = require("date-fns");
|
|
38
|
+
const date_fns_tz_1 = require("date-fns-tz");
|
|
39
|
+
const BarList_1 = __importDefault(require("./BarList"));
|
|
40
|
+
const PieChart_1 = __importStar(require("./PieChart"));
|
|
41
|
+
const Context_1 = require("./Context");
|
|
42
|
+
const Table_1 = require("./Table");
|
|
43
|
+
const dataFetcher_1 = require("./utils/dataFetcher");
|
|
44
|
+
const PivotModal_1 = require("./internals/ReportBuilder/PivotModal");
|
|
45
|
+
const colorToHex_1 = require("./utils/colorToHex");
|
|
17
46
|
const colorValues = [
|
|
18
47
|
'slate',
|
|
19
48
|
'silver',
|
|
@@ -53,8 +82,8 @@ function selectColor(element, colors, index) {
|
|
|
53
82
|
return color;
|
|
54
83
|
}
|
|
55
84
|
// If the element is a comparison, make the color grayscale.
|
|
56
|
-
if (Object.keys(COLOR_TO_HEX).includes(color)) {
|
|
57
|
-
const colorHex = COLOR_TO_HEX[color];
|
|
85
|
+
if (Object.keys(colorToHex_1.COLOR_TO_HEX).includes(color)) {
|
|
86
|
+
const colorHex = colorToHex_1.COLOR_TO_HEX[color];
|
|
58
87
|
const rgbArray = hexToRGB(colorHex);
|
|
59
88
|
return toGrayscale(rgbArray);
|
|
60
89
|
}
|
|
@@ -130,7 +159,7 @@ function toGrayscale(rgba) {
|
|
|
130
159
|
// 'The Pragmatic Engineer': 1726,
|
|
131
160
|
// },
|
|
132
161
|
// ];
|
|
133
|
-
|
|
162
|
+
const valueFormatter = ({ value, field, fields }) => {
|
|
134
163
|
if (value === undefined ||
|
|
135
164
|
value === null ||
|
|
136
165
|
field === undefined ||
|
|
@@ -212,32 +241,32 @@ export const valueFormatter = ({ value, field, fields }) => {
|
|
|
212
241
|
formatType === 'yyyy' ||
|
|
213
242
|
formatType === 'wo, yyyy') {
|
|
214
243
|
const dateValue = new Date(value);
|
|
215
|
-
const utcDate = utcToZonedTime(dateValue, 'UTC');
|
|
216
|
-
if (!isValid(utcDate)) {
|
|
244
|
+
const utcDate = (0, date_fns_tz_1.utcToZonedTime)(dateValue, 'UTC');
|
|
245
|
+
if (!(0, date_fns_1.isValid)(utcDate)) {
|
|
217
246
|
return 'Invalid date';
|
|
218
247
|
}
|
|
219
248
|
if (formatType === 'yyyy') {
|
|
220
|
-
return format(utcDate, 'yyyy');
|
|
249
|
+
return (0, date_fns_1.format)(utcDate, 'yyyy');
|
|
221
250
|
}
|
|
222
251
|
if (formatType === 'MMM_yyyy') {
|
|
223
|
-
return format(utcDate, 'MMM yyyy');
|
|
252
|
+
return (0, date_fns_1.format)(utcDate, 'MMM yyyy');
|
|
224
253
|
}
|
|
225
254
|
if (formatType === 'MMM_dd_yyyy') {
|
|
226
|
-
return format(utcDate, 'dd MMM yyyy');
|
|
255
|
+
return (0, date_fns_1.format)(utcDate, 'dd MMM yyyy');
|
|
227
256
|
}
|
|
228
257
|
if (formatType === 'hh_ap_pm') {
|
|
229
|
-
return format(utcDate, 'hh:mm aa');
|
|
258
|
+
return (0, date_fns_1.format)(utcDate, 'hh:mm aa');
|
|
230
259
|
}
|
|
231
260
|
if (formatType === 'MMM_dd-MMM_dd') {
|
|
232
|
-
const start = startOfWeek(utcDate, { weekStartsOn: 1 }); // Monday
|
|
233
|
-
const end = endOfWeek(utcDate, { weekStartsOn: 1 }); // Sunday
|
|
261
|
+
const start = (0, date_fns_1.startOfWeek)(utcDate, { weekStartsOn: 1 }); // Monday
|
|
262
|
+
const end = (0, date_fns_1.endOfWeek)(utcDate, { weekStartsOn: 1 }); // Sunday
|
|
234
263
|
let formattedDate = '';
|
|
235
264
|
// Check if start and end are in the same month
|
|
236
|
-
if (format(start, 'MMM') === format(end, 'MMM')) {
|
|
237
|
-
formattedDate = `${format(start, 'MMM dd')} - ${format(end, 'dd')}`;
|
|
265
|
+
if ((0, date_fns_1.format)(start, 'MMM') === (0, date_fns_1.format)(end, 'MMM')) {
|
|
266
|
+
formattedDate = `${(0, date_fns_1.format)(start, 'MMM dd')} - ${(0, date_fns_1.format)(end, 'dd')}`;
|
|
238
267
|
}
|
|
239
268
|
else {
|
|
240
|
-
formattedDate = `${format(start, 'MMM dd')} - ${format(end, 'MMM dd')}`;
|
|
269
|
+
formattedDate = `${(0, date_fns_1.format)(start, 'MMM dd')} - ${(0, date_fns_1.format)(end, 'MMM dd')}`;
|
|
241
270
|
}
|
|
242
271
|
return formattedDate;
|
|
243
272
|
}
|
|
@@ -263,7 +292,7 @@ export const valueFormatter = ({ value, field, fields }) => {
|
|
|
263
292
|
}
|
|
264
293
|
if (formatType === 'MMM_dd_hh:mm_ap_pm') {
|
|
265
294
|
const formatStr = utcDate.getMinutes() === 0 ? 'MMM do h a' : 'MMM do h:mm a';
|
|
266
|
-
let formattedTime = format(utcDate, formatStr);
|
|
295
|
+
let formattedTime = (0, date_fns_1.format)(utcDate, formatStr);
|
|
267
296
|
formattedTime =
|
|
268
297
|
formattedTime.slice(0, -2) + formattedTime.slice(-2).toLowerCase();
|
|
269
298
|
return formattedTime;
|
|
@@ -280,6 +309,7 @@ export const valueFormatter = ({ value, field, fields }) => {
|
|
|
280
309
|
}
|
|
281
310
|
return value.toString();
|
|
282
311
|
};
|
|
312
|
+
exports.valueFormatter = valueFormatter;
|
|
283
313
|
const yAxisFields = [
|
|
284
314
|
{ field: 'avg_days', label: 'average days' },
|
|
285
315
|
{ field: 'median_days', label: 'median days' },
|
|
@@ -288,7 +318,7 @@ const labelFormatter = (name) => {
|
|
|
288
318
|
// return yAxisFields.filter(elem => elem.field === name)[0].label;
|
|
289
319
|
return name;
|
|
290
320
|
};
|
|
291
|
-
|
|
321
|
+
const ChartTooltipFrame = ({ children, theme, }) => ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
292
322
|
borderStyle: 'solid',
|
|
293
323
|
borderColor: theme?.borderColor || '#E5E7EB',
|
|
294
324
|
overflow: 'hidden',
|
|
@@ -297,7 +327,8 @@ export const ChartTooltipFrame = ({ children, theme, }) => (_jsx("div", { style:
|
|
|
297
327
|
borderRadius: '6px',
|
|
298
328
|
boxShadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
|
|
299
329
|
}, children: children }));
|
|
300
|
-
|
|
330
|
+
exports.ChartTooltipFrame = ChartTooltipFrame;
|
|
331
|
+
const ChartTooltipRow = ({ value, name, color, theme, }) => ((0, jsx_runtime_1.jsxs)("div", { style: {
|
|
301
332
|
marginRight: '24px',
|
|
302
333
|
display: 'flex',
|
|
303
334
|
alignItems: 'center',
|
|
@@ -305,13 +336,13 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
|
|
|
305
336
|
width: '100%',
|
|
306
337
|
paddingTop: 2,
|
|
307
338
|
paddingBottom: 2,
|
|
308
|
-
}, children: [
|
|
339
|
+
}, children: [(0, jsx_runtime_1.jsxs)("div", {
|
|
309
340
|
// className="qq-flex qq-items-center qq-space-x-2"
|
|
310
341
|
style: {
|
|
311
342
|
// marginLeft: '0.5rem',
|
|
312
343
|
display: 'flex',
|
|
313
344
|
alignItems: 'center',
|
|
314
|
-
}, children: [
|
|
345
|
+
}, children: [(0, jsx_runtime_1.jsx)("span", { style: {
|
|
315
346
|
background: color,
|
|
316
347
|
borderWidth: 2,
|
|
317
348
|
borderStyle: 'solid',
|
|
@@ -322,7 +353,7 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
|
|
|
322
353
|
borderRadius: 100,
|
|
323
354
|
marginRight: 6,
|
|
324
355
|
boxSizing: 'border-box',
|
|
325
|
-
} }),
|
|
356
|
+
} }), (0, jsx_runtime_1.jsx)("p", {
|
|
326
357
|
// className={twMerge(
|
|
327
358
|
// 'font-medium tabular-nums text-right whitespace-nowrap',
|
|
328
359
|
// 'text-[#212121] !important'
|
|
@@ -334,7 +365,7 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
|
|
|
334
365
|
color: theme?.primaryTextColor,
|
|
335
366
|
fontSize: theme?.fontSizeSmall || '14px',
|
|
336
367
|
fontWeight: theme?.fontWeightMedium || '500',
|
|
337
|
-
}, children: value })] }),
|
|
368
|
+
}, children: value })] }), (0, jsx_runtime_1.jsx)("p", { style: {
|
|
338
369
|
marginTop: 0,
|
|
339
370
|
marginBottom: 0,
|
|
340
371
|
fontFamily: theme?.fontFamily,
|
|
@@ -346,10 +377,11 @@ export const ChartTooltipRow = ({ value, name, color, theme, }) => (_jsxs("div",
|
|
|
346
377
|
fontSize: theme?.fontSizeSmall || '14px',
|
|
347
378
|
fontWeight: theme?.fontWeightNormal || '400',
|
|
348
379
|
}, children: name })] }));
|
|
380
|
+
exports.ChartTooltipRow = ChartTooltipRow;
|
|
349
381
|
const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter, dateFormatter, theme, }) => {
|
|
350
382
|
if (active && payload) {
|
|
351
383
|
if (label2) {
|
|
352
|
-
return (
|
|
384
|
+
return ((0, jsx_runtime_1.jsx)(exports.ChartTooltipFrame, { theme: theme, children: payload.map(({ value, name }, idx) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [idx === 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
353
385
|
borderStyle: 'solid',
|
|
354
386
|
borderBottomColor: theme?.borderColor || '#E5E7EB',
|
|
355
387
|
background: theme?.backgroundColor || 'white',
|
|
@@ -363,7 +395,7 @@ const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter,
|
|
|
363
395
|
paddingRight: '16px',
|
|
364
396
|
paddingTop: '8px',
|
|
365
397
|
paddingBottom: '8px',
|
|
366
|
-
}, children:
|
|
398
|
+
}, children: (0, jsx_runtime_1.jsx)("p", { style: {
|
|
367
399
|
textAlign: 'left',
|
|
368
400
|
marginTop: 0,
|
|
369
401
|
marginBottom: 0,
|
|
@@ -373,7 +405,7 @@ const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter,
|
|
|
373
405
|
fontWeight: theme?.boldFontWeight || '500',
|
|
374
406
|
paddingTop: 2,
|
|
375
407
|
paddingBottom: 2,
|
|
376
|
-
}, children: labelFormatter(name) }) })),
|
|
408
|
+
}, children: labelFormatter(name) }) })), (0, jsx_runtime_1.jsx)("div", {
|
|
377
409
|
// className="qq-px-4 qq-space-y-1 qq-py-2 qq-px-4"
|
|
378
410
|
style: {
|
|
379
411
|
paddingRight: '16px',
|
|
@@ -381,18 +413,18 @@ const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter,
|
|
|
381
413
|
paddingTop: idx === 0 && '8px',
|
|
382
414
|
paddingBottom: '8px',
|
|
383
415
|
// marginTop: '0.25rem',
|
|
384
|
-
}, children:
|
|
416
|
+
}, children: (0, jsx_runtime_1.jsx)(exports.ChartTooltipRow, { name: valueFormatter(value), value: !isNaN(new Date(idx === 0 ? label : label2)) &&
|
|
385
417
|
dateFormatter
|
|
386
418
|
? dateFormatter(idx === 0 ? label : label2)
|
|
387
419
|
: !isNaN(new Date(idx === 0 ? label : label2))
|
|
388
|
-
? format(new Date(idx === 0 ? label : label2), 'MMM yyyy')
|
|
420
|
+
? (0, date_fns_1.format)(new Date(idx === 0 ? label : label2), 'MMM yyyy')
|
|
389
421
|
: idx === 0
|
|
390
422
|
? label
|
|
391
423
|
: label2,
|
|
392
424
|
// color={categoryColors.get(name) ?? BaseColors.Blue}
|
|
393
425
|
color: colors[idx], theme: theme }, `id-${idx}`) })] }))) }));
|
|
394
426
|
}
|
|
395
|
-
return (
|
|
427
|
+
return ((0, jsx_runtime_1.jsxs)(exports.ChartTooltipFrame, { theme: theme, children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
396
428
|
borderStyle: 'solid',
|
|
397
429
|
borderBottomColor: theme?.borderColor || '#E5E7EB',
|
|
398
430
|
background: theme?.backgroundColor || 'white',
|
|
@@ -406,7 +438,7 @@ const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter,
|
|
|
406
438
|
paddingRight: '16px',
|
|
407
439
|
paddingTop: '8px',
|
|
408
440
|
paddingBottom: '8px',
|
|
409
|
-
}, children:
|
|
441
|
+
}, children: (0, jsx_runtime_1.jsx)("p", { style: {
|
|
410
442
|
textAlign: 'left',
|
|
411
443
|
marginTop: 0,
|
|
412
444
|
marginBottom: 0,
|
|
@@ -419,8 +451,8 @@ const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter,
|
|
|
419
451
|
}, children: !isNaN(new Date(label)) && dateFormatter
|
|
420
452
|
? dateFormatter(label)
|
|
421
453
|
: !isNaN(new Date(label))
|
|
422
|
-
? format(new Date(label), 'MMM yyyy')
|
|
423
|
-
: label }) }),
|
|
454
|
+
? (0, date_fns_1.format)(new Date(label), 'MMM yyyy')
|
|
455
|
+
: label }) }), (0, jsx_runtime_1.jsx)("div", {
|
|
424
456
|
// className="qq-px-4 qq-space-y-1 qq-py-2 qq-px-4"
|
|
425
457
|
style: {
|
|
426
458
|
paddingRight: '16px',
|
|
@@ -428,7 +460,7 @@ const ChartTooltip = ({ active, payload, label, label2, colors, valueFormatter,
|
|
|
428
460
|
paddingTop: '8px',
|
|
429
461
|
paddingBottom: '8px',
|
|
430
462
|
// marginTop: '0.25rem',
|
|
431
|
-
}, children: payload.map(({ value, name }, idx) => (
|
|
463
|
+
}, children: payload.map(({ value, name }, idx) => ((0, jsx_runtime_1.jsx)(exports.ChartTooltipRow, { value: valueFormatter(value), name: labelFormatter(name),
|
|
432
464
|
// color={categoryColors.get(name) ?? BaseColors.Blue}
|
|
433
465
|
color: colors[idx], theme: theme }, `id-${idx}`))) })] }));
|
|
434
466
|
}
|
|
@@ -446,7 +478,7 @@ function isDate(str) {
|
|
|
446
478
|
return !isNaN(Date.parse(str));
|
|
447
479
|
}
|
|
448
480
|
function areDatesNearby(dateStr1, dateStr2) {
|
|
449
|
-
return Math.abs(differenceInHours(dateStr1, dateStr2)) < 24;
|
|
481
|
+
return Math.abs((0, date_fns_1.differenceInHours)(dateStr1, dateStr2)) < 24;
|
|
450
482
|
}
|
|
451
483
|
function isEquivalent(filters1, filters2) {
|
|
452
484
|
if (Object.keys(filters2).length !== Object.keys(filters1).length) {
|
|
@@ -490,9 +522,9 @@ function didFiltersChange(dashboardItem, filters) {
|
|
|
490
522
|
const Chart = ({ chartId, config, colors, containerStyle, query,
|
|
491
523
|
//chartFilters
|
|
492
524
|
SelectComponent, DatePickerComponent, }) => {
|
|
493
|
-
const { dateFilter, setDateFilter } = useContext(DateFilterContext);
|
|
494
|
-
const { dispatch, dashboard } = useContext(DashboardContext);
|
|
495
|
-
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
525
|
+
const { dateFilter, setDateFilter } = (0, react_1.useContext)(Context_1.DateFilterContext);
|
|
526
|
+
const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
527
|
+
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
496
528
|
// const [chartFilters, setChartFilters] = useState({
|
|
497
529
|
// chart_filter: {
|
|
498
530
|
// table: 'transactions',
|
|
@@ -510,16 +542,16 @@ SelectComponent, DatePickerComponent, }) => {
|
|
|
510
542
|
// ],
|
|
511
543
|
// },
|
|
512
544
|
// });
|
|
513
|
-
const [client, _] = useContext(ClientContext);
|
|
514
|
-
const [theme] = useContext(ThemeContext);
|
|
515
|
-
const chartColors = useMemo(() => {
|
|
545
|
+
const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
546
|
+
const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
|
|
547
|
+
const chartColors = (0, react_1.useMemo)(() => {
|
|
516
548
|
return colors?.length
|
|
517
549
|
? colors
|
|
518
550
|
: theme && theme.chartColors.length
|
|
519
551
|
? theme.chartColors
|
|
520
552
|
: ['#4E80EE', '#E14F62', '#55B5A6', '#E9A23B', '#6466E9', '#55B685'];
|
|
521
553
|
}, [colors]);
|
|
522
|
-
return (
|
|
554
|
+
return ((0, jsx_runtime_1.jsx)(ChartUpdater, { config: config, dispatch: dispatch, dashboard: dashboard, chartId: chartId, containerStyle: containerStyle, colors: chartColors, client: client, theme: theme,
|
|
523
555
|
// isDateFilter={dateFilter}
|
|
524
556
|
dateFilter: dateFilter, dashboardFilters: dashboardFilters,
|
|
525
557
|
// chartFilters={chartFilters}
|
|
@@ -533,10 +565,10 @@ dashboardFilters,
|
|
|
533
565
|
// chartFilters,
|
|
534
566
|
// setChartFilters,
|
|
535
567
|
query, SelectComponent, DatePickerComponent, }) => {
|
|
536
|
-
const [loading, setLoading] = useState(false);
|
|
537
|
-
const [isComparison, setIsComparison] = useState(false);
|
|
538
|
-
const [bucketData, setBucketData] = useState(null);
|
|
539
|
-
useEffect(() => {
|
|
568
|
+
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
569
|
+
const [isComparison, setIsComparison] = (0, react_1.useState)(false);
|
|
570
|
+
const [bucketData, setBucketData] = (0, react_1.useState)(null);
|
|
571
|
+
(0, react_1.useEffect)(() => {
|
|
540
572
|
let isSubscribed = true;
|
|
541
573
|
async function getChartOptions() {
|
|
542
574
|
if (dashboard[chartId] &&
|
|
@@ -566,7 +598,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
566
598
|
id: chartId,
|
|
567
599
|
filters: [...Object.values(dashboardFilters)],
|
|
568
600
|
};
|
|
569
|
-
const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody);
|
|
601
|
+
const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'omit', hostedBody, cloudBody);
|
|
570
602
|
if (resp) {
|
|
571
603
|
setLoading(false);
|
|
572
604
|
setIsComparison(!!resp.comparisonRows);
|
|
@@ -608,7 +640,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
608
640
|
isSubscribed = false;
|
|
609
641
|
};
|
|
610
642
|
}, [dashboardFilters, client, chartId]);
|
|
611
|
-
useEffect(() => {
|
|
643
|
+
(0, react_1.useEffect)(() => {
|
|
612
644
|
if (!dashboardFilters ||
|
|
613
645
|
!chartId ||
|
|
614
646
|
!dashboard[chartId] ||
|
|
@@ -618,7 +650,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
618
650
|
}
|
|
619
651
|
const dateFilter = Object.values(dashboardFilters).find(filter => filter.filterType == 'date_range');
|
|
620
652
|
if (dateFilter && dashboard[chartId].rows.length) {
|
|
621
|
-
const aggregatedObj = aggregate(dashboard[chartId], dashboard[chartId].buckets, dateFilter);
|
|
653
|
+
const aggregatedObj = (0, aggregate_1.aggregate)(dashboard[chartId], dashboard[chartId].buckets, dateFilter);
|
|
622
654
|
setBucketData({
|
|
623
655
|
name: dashboard[chartId].name,
|
|
624
656
|
xAxisFormat: aggregatedObj.xAxisFormat,
|
|
@@ -628,10 +660,10 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
628
660
|
});
|
|
629
661
|
}
|
|
630
662
|
const stringFilters = dashboard[chartId].buckets.filter(bucket => {
|
|
631
|
-
return (getPostgresBasicType(dashboard[chartId].fields.find(field => field.name === bucket.field)) === 'string');
|
|
663
|
+
return ((0, ReportBuilder_1.getPostgresBasicType)(dashboard[chartId].fields.find(field => field.name === bucket.field)) === 'string');
|
|
632
664
|
});
|
|
633
665
|
if (stringFilters.length && dashboard[chartId].rows.length) {
|
|
634
|
-
const aggregatedObj = aggregate(dashboard[chartId], dashboard[chartId].buckets, null);
|
|
666
|
+
const aggregatedObj = (0, aggregate_1.aggregate)(dashboard[chartId], dashboard[chartId].buckets, null);
|
|
635
667
|
setBucketData({
|
|
636
668
|
name: dashboard[chartId].name,
|
|
637
669
|
xAxisFormat: aggregatedObj.xAxisFormat,
|
|
@@ -666,16 +698,16 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
666
698
|
// }
|
|
667
699
|
// };
|
|
668
700
|
const dateFilter = Object.values(dashboardFilters).find(filter => filter.filterType == 'date_range');
|
|
669
|
-
const pivotTable = useMemo(() => {
|
|
701
|
+
const pivotTable = (0, react_1.useMemo)(() => {
|
|
670
702
|
const pivot = dashboard[chartId]?.pivot || config?.pivot;
|
|
671
703
|
const data = dashboard[chartId] ? dashboard[chartId] : config;
|
|
672
704
|
return pivot && data?.rows
|
|
673
|
-
? generatePivotTable(pivot, data.rows, dateFilter?.startDate
|
|
705
|
+
? (0, PivotModal_1.generatePivotTable)(pivot, data.rows, dateFilter?.startDate
|
|
674
706
|
? [dateFilter?.startDate, dateFilter?.endDate, null]
|
|
675
707
|
: [null, null, null])
|
|
676
708
|
: null;
|
|
677
709
|
}, [dashboard, chartId, config, dateFilter]);
|
|
678
|
-
const pivotTableYAxis = useMemo(() => {
|
|
710
|
+
const pivotTableYAxis = (0, react_1.useMemo)(() => {
|
|
679
711
|
if (!pivotTable) {
|
|
680
712
|
return null;
|
|
681
713
|
}
|
|
@@ -684,11 +716,11 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
684
716
|
? config.yAxisFields
|
|
685
717
|
: dashboard[chartId]?.yAxisFields;
|
|
686
718
|
return yAxisFields
|
|
687
|
-
? generatePivotTableYAxis(pivot, pivotTable.columns, yAxisFields?.[0]?.format)
|
|
719
|
+
? (0, PivotModal_1.generatePivotTableYAxis)(pivot, pivotTable.columns, yAxisFields?.[0]?.format)
|
|
688
720
|
: null;
|
|
689
721
|
}, [pivotTable]);
|
|
690
722
|
if (!config && (!dashboard[chartId] || loading)) {
|
|
691
|
-
return (
|
|
723
|
+
return ((0, jsx_runtime_1.jsx)("div", {
|
|
692
724
|
// className="flex flex-col flex-1 h-[100%]"
|
|
693
725
|
style: {
|
|
694
726
|
...containerStyle,
|
|
@@ -699,13 +731,13 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
699
731
|
// display: 'flex',
|
|
700
732
|
// flexDirection: 'column',
|
|
701
733
|
// flex: 1,
|
|
702
|
-
}, children:
|
|
734
|
+
}, children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
703
735
|
height: containerStyle?.height,
|
|
704
736
|
width: '100%',
|
|
705
737
|
boxSizing: 'content-box',
|
|
706
738
|
borderRadius: 8,
|
|
707
739
|
overflow: 'hidden',
|
|
708
|
-
}, children:
|
|
740
|
+
}, children: (0, jsx_runtime_1.jsxs)("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [(0, jsx_runtime_1.jsx)("rect", { width: "100%", height: "100%", fill: theme?.loadingStateBackgroundColor || '#F9F9FA' }), (0, jsx_runtime_1.jsx)("defs", { fill: theme?.loadingStateBackgroundColor || '#F9F9FA', children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "10%", y2: "0%", gradientUnits: "userSpaceOnUse", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", stopColor: "rgba(255,255,255,0)" }), (0, jsx_runtime_1.jsx)("stop", { offset: "50%", stopColor: "#FEFEFE" }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", stopColor: "rgba(255,255,255,0)" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "x1", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }), (0, jsx_runtime_1.jsx)("animate", { attributeName: "x2", from: "-50%", to: "150%", dur: "2s", repeatCount: "indefinite" })] }) }), (0, jsx_runtime_1.jsx)("rect", { width: "50%", height: "100%", fill: "url(#skeletonGradient)", children: (0, jsx_runtime_1.jsx)("animate", { attributeName: "x", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }) })] }) }) }));
|
|
709
741
|
}
|
|
710
742
|
if (config?.chartType === 'pie' || dashboard[chartId]?.chartType === 'pie') {
|
|
711
743
|
const rows = pivotTable
|
|
@@ -721,7 +753,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
721
753
|
const xAxisField = config
|
|
722
754
|
? config.xAxisField
|
|
723
755
|
: dashboard[chartId].xAxisField;
|
|
724
|
-
return (
|
|
756
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(PieChart_1.default
|
|
725
757
|
// @ts-ignore
|
|
726
758
|
, {
|
|
727
759
|
// @ts-ignore
|
|
@@ -736,12 +768,12 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
736
768
|
if (config?.chartType === 'table' ||
|
|
737
769
|
dashboard[chartId]?.chartType === 'table') {
|
|
738
770
|
const data = dashboard[chartId] ? dashboard[chartId] : config;
|
|
739
|
-
return (
|
|
771
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(Table_1.SpecialTable, { rows: pivotTable?.rows || data.rows, columns: pivotTable?.columns || data.columns || data.yAxisFields, height: '400px', containerStyle: {
|
|
740
772
|
...containerStyle,
|
|
741
773
|
}, theme: theme, isTableChart: true, name: data.name }) }));
|
|
742
774
|
}
|
|
743
775
|
if (config?.chartType === 'bar' || dashboard[chartId]?.chartType === 'bar') {
|
|
744
|
-
return (
|
|
776
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(BarList_1.default, { data: pivotTable
|
|
745
777
|
? pivotTable.rows
|
|
746
778
|
: config
|
|
747
779
|
? (config.bucketedRows &&
|
|
@@ -779,7 +811,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
779
811
|
}
|
|
780
812
|
if (config?.chartType === 'column' ||
|
|
781
813
|
dashboard[chartId]?.chartType === 'column') {
|
|
782
|
-
return (
|
|
814
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(BarChart, { colors: colors, theme: theme, yAxisFields: yAxisFields,
|
|
783
815
|
// @ts-ignore
|
|
784
816
|
data: pivotTable
|
|
785
817
|
? pivotTable.rows
|
|
@@ -807,7 +839,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
807
839
|
if (config?.chartType === 'metric' ||
|
|
808
840
|
dashboard[chartId]?.chartType === 'metric') {
|
|
809
841
|
const data = dashboard[chartId] ? dashboard[chartId] : config;
|
|
810
|
-
return (
|
|
842
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", { style: {
|
|
811
843
|
fontFamily: theme?.fontFamily,
|
|
812
844
|
fontSize: 32,
|
|
813
845
|
color: theme?.primaryTextColor,
|
|
@@ -827,7 +859,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
827
859
|
display: 'flex',
|
|
828
860
|
flexDirection: 'column',
|
|
829
861
|
}, children: data.rows.length > 0 &&
|
|
830
|
-
valueFormatter({
|
|
862
|
+
(0, exports.valueFormatter)({
|
|
831
863
|
value: data.rows[0][data.xAxisField],
|
|
832
864
|
field: data.xAxisField,
|
|
833
865
|
fields: [
|
|
@@ -838,7 +870,7 @@ query, SelectComponent, DatePickerComponent, }) => {
|
|
|
838
870
|
],
|
|
839
871
|
}) }) }));
|
|
840
872
|
}
|
|
841
|
-
return (
|
|
873
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(LineChart, { colors: colors, yAxisFields: yAxisFields,
|
|
842
874
|
// @ts-ignore
|
|
843
875
|
data: pivotTable
|
|
844
876
|
? pivotTable.rows
|
|
@@ -921,12 +953,12 @@ const CustomizedTick = ({ x, y, payload, theme, }) => {
|
|
|
921
953
|
const maxLength = 10;
|
|
922
954
|
const value = payload.value;
|
|
923
955
|
const truncatedValue = value.length > maxLength ? value.substring(0, maxLength) + '...' : value;
|
|
924
|
-
return (
|
|
956
|
+
return ((0, jsx_runtime_1.jsx)("text", { xlinkTitle: value, fill: theme?.chartLabelColor, fontSize: 12, x: x, y: y + 15, width: 30, textAnchor: "middle", children: truncatedValue }));
|
|
925
957
|
};
|
|
926
958
|
function BarChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxisLabel, xAxisFormat, theme, comparison, }) {
|
|
927
|
-
const newColors = findComplementaryAndAnalogousColors(colors[0], colors[1]);
|
|
959
|
+
const newColors = (0, PieChart_1.findComplementaryAndAnalogousColors)(colors[0], colors[1]);
|
|
928
960
|
if (!data || data.length === 0) {
|
|
929
|
-
return (
|
|
961
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
930
962
|
display: 'flex',
|
|
931
963
|
flex: '1 0 auto',
|
|
932
964
|
height: '100%',
|
|
@@ -937,12 +969,12 @@ function BarChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxis
|
|
|
937
969
|
color: theme.secondaryTextColor,
|
|
938
970
|
}, children: "No results found for specified time period." }));
|
|
939
971
|
}
|
|
940
|
-
return (
|
|
972
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
941
973
|
...containerStyle,
|
|
942
974
|
boxSizing: 'content-box',
|
|
943
|
-
}, children:
|
|
975
|
+
}, children: (0, jsx_runtime_1.jsx)(recharts_1.ResponsiveContainer, { width: "100%", height: '100%', children: (0, jsx_runtime_1.jsxs)(recharts_1.BarChart, { data: data,
|
|
944
976
|
// stackOffset={'none'}
|
|
945
|
-
layout: 'horizontal', children: [
|
|
977
|
+
layout: 'horizontal', children: [(0, jsx_runtime_1.jsx)(recharts_1.CartesianGrid, { strokeDasharray: "3 3", horizontal: true, vertical: false }), (0, jsx_runtime_1.jsx)(recharts_1.YAxis
|
|
946
978
|
// width={56}
|
|
947
979
|
, {
|
|
948
980
|
// width={56}
|
|
@@ -954,11 +986,11 @@ function BarChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxis
|
|
|
954
986
|
tick: { transform: 'translate(-3, 0)' }, style: {
|
|
955
987
|
fontSize: '12px',
|
|
956
988
|
fontFamily: theme.chartLabelFontFamily,
|
|
957
|
-
}, tickFormatter: tick => valueFormatter({
|
|
989
|
+
}, tickFormatter: tick => (0, exports.valueFormatter)({
|
|
958
990
|
value: tick,
|
|
959
991
|
field: yAxisFields[0].field || 'what',
|
|
960
992
|
fields: yAxisFields,
|
|
961
|
-
}) }),
|
|
993
|
+
}) }), (0, jsx_runtime_1.jsx)(recharts_1.XAxis, { hide: false, dataKey: xAxisField,
|
|
962
994
|
// interval="preserveStartEnd"
|
|
963
995
|
tick: { transform: 'translate(0, 6)' },
|
|
964
996
|
//padding between labels and axis
|
|
@@ -967,27 +999,27 @@ function BarChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxis
|
|
|
967
999
|
// TODO: generalize
|
|
968
1000
|
fontFamily: theme.chartLabelFontFamily,
|
|
969
1001
|
marginTop: '20px',
|
|
970
|
-
}, tickLine: false, axisLine: false, tickFormatter: tick => valueFormatter({
|
|
1002
|
+
}, tickLine: false, axisLine: false, tickFormatter: tick => (0, exports.valueFormatter)({
|
|
971
1003
|
value: tick,
|
|
972
1004
|
field: xAxisField,
|
|
973
1005
|
fields: [{ field: xAxisField, format: xAxisFormat }],
|
|
974
|
-
}) }),
|
|
1006
|
+
}) }), (0, jsx_runtime_1.jsx)(recharts_1.Tooltip, { wrapperStyle: { outline: 'none', zIndex: 2 }, isAnimationActive: false, cursor: { fill: '#d1d5db', opacity: '0.15' }, content: ({ active, payload, label }) => {
|
|
975
1007
|
let label2;
|
|
976
1008
|
if (comparison &&
|
|
977
1009
|
payload?.length > 1 &&
|
|
978
1010
|
payload[0].payload[xAxisField + '2']) {
|
|
979
1011
|
label2 = payload[0].payload[xAxisField + '2'];
|
|
980
1012
|
}
|
|
981
|
-
return (
|
|
1013
|
+
return ((0, jsx_runtime_1.jsx)(ChartTooltip, { theme: theme, active: active, payload: payload, label: label, label2: label2, dateFormatter: value => (0, exports.valueFormatter)({
|
|
982
1014
|
value,
|
|
983
1015
|
field: xAxisField,
|
|
984
1016
|
fields: [{ field: xAxisField, format: xAxisFormat }],
|
|
985
|
-
}), valueFormatter: value => valueFormatter({
|
|
1017
|
+
}), valueFormatter: value => (0, exports.valueFormatter)({
|
|
986
1018
|
value,
|
|
987
1019
|
field: payload[0].dataKey,
|
|
988
1020
|
fields: yAxisFields,
|
|
989
1021
|
}), colors: colors }));
|
|
990
|
-
}, position: { y: 0 } }), yAxisFields.map((elem, index) => (
|
|
1022
|
+
}, position: { y: 0 } }), yAxisFields.map((elem, index) => ((0, jsx_runtime_1.jsx)(recharts_1.Bar, { name: elem.label, dataKey: elem.field, type: "linear",
|
|
991
1023
|
// stackId={stack || relative ? "a" : undefined}
|
|
992
1024
|
fill: selectColor(elem, colors, index),
|
|
993
1025
|
// barSize={20}
|
|
@@ -1006,7 +1038,7 @@ function LineChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxi
|
|
|
1006
1038
|
return null;
|
|
1007
1039
|
}
|
|
1008
1040
|
if (!data || data.length === 0) {
|
|
1009
|
-
return (
|
|
1041
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
1010
1042
|
display: 'flex',
|
|
1011
1043
|
flex: '1 0 auto',
|
|
1012
1044
|
height: '100%',
|
|
@@ -1017,7 +1049,7 @@ function LineChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxi
|
|
|
1017
1049
|
color: theme.secondaryTextColor,
|
|
1018
1050
|
}, children: "No results found for specified time period." }));
|
|
1019
1051
|
}
|
|
1020
|
-
return (
|
|
1052
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { ...containerStyle, boxSizing: 'content-box' }, children: (0, jsx_runtime_1.jsx)(recharts_1.ResponsiveContainer, { width: "100%", height: '100%', children: (0, jsx_runtime_1.jsxs)(recharts_1.ComposedChart, { data: data, children: [(0, jsx_runtime_1.jsx)(recharts_1.CartesianGrid, { strokeDasharray: "3 3", horizontal: true, vertical: false }), (0, jsx_runtime_1.jsx)(recharts_1.XAxis
|
|
1021
1053
|
// hide={!showXAxis}
|
|
1022
1054
|
, {
|
|
1023
1055
|
// hide={!showXAxis}
|
|
@@ -1037,11 +1069,11 @@ function LineChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxi
|
|
|
1037
1069
|
// interval="preserveStartEnd"
|
|
1038
1070
|
interval: "preserveStartEnd",
|
|
1039
1071
|
// interval={0}
|
|
1040
|
-
tickLine: false, axisLine: false, padding: { left: 10, right: 10 }, minTickGap: 5, tickFormatter: tick => valueFormatter({
|
|
1072
|
+
tickLine: false, axisLine: false, padding: { left: 10, right: 10 }, minTickGap: 5, tickFormatter: tick => (0, exports.valueFormatter)({
|
|
1041
1073
|
value: tick,
|
|
1042
1074
|
field: xAxisField,
|
|
1043
1075
|
fields: [{ field: xAxisField, format: xAxisFormat }],
|
|
1044
|
-
}) }),
|
|
1076
|
+
}) }), (0, jsx_runtime_1.jsx)(recharts_1.YAxis
|
|
1045
1077
|
// textAnchor="left"
|
|
1046
1078
|
// tickMargin={11}
|
|
1047
1079
|
, {
|
|
@@ -1058,25 +1090,25 @@ function LineChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxi
|
|
|
1058
1090
|
theme?.fontFamily ||
|
|
1059
1091
|
'Inter; Helvetica',
|
|
1060
1092
|
color: theme?.chartLabelColor || '#666666',
|
|
1061
|
-
}, tickFormatter: value => valueFormatter({
|
|
1093
|
+
}, tickFormatter: value => (0, exports.valueFormatter)({
|
|
1062
1094
|
value,
|
|
1063
1095
|
field: yAxisFields[0].field,
|
|
1064
1096
|
fields: [
|
|
1065
1097
|
...yAxisFields,
|
|
1066
1098
|
{ field: xAxisField, format: xAxisFormat },
|
|
1067
1099
|
],
|
|
1068
|
-
}) }),
|
|
1100
|
+
}) }), (0, jsx_runtime_1.jsx)(recharts_1.Tooltip, { wrapperStyle: { outline: 'none' }, isAnimationActive: false, cursor: { stroke: '#d1d5db', strokeWidth: 1 }, content: ({ active, payload, label }) => {
|
|
1069
1101
|
let label2;
|
|
1070
1102
|
if (comparison &&
|
|
1071
1103
|
payload?.length > 1 &&
|
|
1072
1104
|
payload[0].payload[xAxisField + '2']) {
|
|
1073
1105
|
label2 = payload[0].payload[xAxisField + '2'];
|
|
1074
1106
|
}
|
|
1075
|
-
return (
|
|
1107
|
+
return ((0, jsx_runtime_1.jsx)(ChartTooltip, { active: active, payload: payload, label: label, label2: label2, dateFormatter: value => (0, exports.valueFormatter)({
|
|
1076
1108
|
value,
|
|
1077
1109
|
field: xAxisField,
|
|
1078
1110
|
fields: [{ field: xAxisField, format: xAxisFormat }],
|
|
1079
|
-
}), valueFormatter: value => valueFormatter({
|
|
1111
|
+
}), valueFormatter: value => (0, exports.valueFormatter)({
|
|
1080
1112
|
value,
|
|
1081
1113
|
field: payload[0].dataKey,
|
|
1082
1114
|
fields: [
|
|
@@ -1084,9 +1116,10 @@ function LineChart({ colors, yAxisFields, data, containerStyle, xAxisField, xAxi
|
|
|
1084
1116
|
{ field: xAxisField, format: xAxisFormat },
|
|
1085
1117
|
],
|
|
1086
1118
|
}), colors: colors, theme: theme }));
|
|
1087
|
-
}, position: { y: 0 } }), yAxisFields.map((elem, index) => (
|
|
1119
|
+
}, position: { y: 0 } }), yAxisFields.map((elem, index) => ((0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: `gradient${index}`, x1: "0", y1: "0", x2: "0", y2: "1", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "5%", stopColor: selectColor(elem, colors, index), stopOpacity: 0.4 }), (0, jsx_runtime_1.jsx)("stop", { offset: "95%", stopColor: 'rgba(0,0,0,0)', stopOpacity: 0 })] }) }, `defs${elem.field + index}`))), yAxisFields.map((elem, index) => ((0, jsx_runtime_1.jsx)(recharts_1.Area, { name: elem.label, type: "linear", dataKey: elem.field, stroke: selectColor(elem, colors, index),
|
|
1088
1120
|
// if hide area
|
|
1089
1121
|
// fill="transparent"
|
|
1090
1122
|
fill: `url(#gradient${index})`, strokeWidth: 2, dot: false, isAnimationActive: true }, elem.field)))] }) }) }));
|
|
1091
1123
|
}
|
|
1092
|
-
|
|
1124
|
+
exports.default = Chart;
|
|
1125
|
+
//# sourceMappingURL=Chart.js.map
|