@quillsql/react 2.12.15 → 2.12.17
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/cjs/Chart.d.ts +4 -0
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +27 -10
- package/dist/cjs/ChartBuilder.d.ts +3 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +3 -3
- package/dist/cjs/ChartEditor.d.ts +3 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +2 -2
- package/dist/cjs/Dashboard.d.ts +8 -2
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +3 -3
- package/dist/cjs/ReportBuilder.d.ts +3 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +22 -19
- package/dist/cjs/SQLEditor.d.ts +3 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +2 -2
- package/dist/cjs/components/Chart/BarChart.d.ts +2 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +2 -2
- package/dist/cjs/components/Chart/BarList.d.ts +1 -0
- package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarList.js +2 -2
- package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +2 -2
- package/dist/cjs/components/Chart/PieChart.d.ts +1 -0
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +2 -2
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +6 -3
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -2
- package/dist/cjs/components/ReportBuilder/bigDateMap.js +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +8 -8
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +3 -3
- package/dist/cjs/internals/ReportBuilder/PivotList.js +3 -3
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +76 -34
- package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/axisFormatter.js +16 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +1 -0
- package/dist/cjs/utils/textProcessing.d.ts +1 -0
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +21 -1
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +15 -0
- package/dist/esm/Chart.d.ts +4 -0
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +27 -10
- package/dist/esm/ChartBuilder.d.ts +3 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +4 -4
- package/dist/esm/ChartEditor.d.ts +3 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +2 -2
- package/dist/esm/Dashboard.d.ts +8 -2
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +3 -3
- package/dist/esm/ReportBuilder.d.ts +3 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +23 -20
- package/dist/esm/SQLEditor.d.ts +3 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +2 -2
- package/dist/esm/components/Chart/BarChart.d.ts +2 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +2 -2
- package/dist/esm/components/Chart/BarList.d.ts +1 -0
- package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarList.js +2 -2
- package/dist/esm/components/Chart/LineChart.d.ts +2 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +2 -2
- package/dist/esm/components/Chart/PieChart.d.ts +1 -0
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +2 -2
- package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +7 -4
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +3 -3
- package/dist/esm/components/ReportBuilder/bigDateMap.js +2 -2
- package/dist/esm/components/ReportBuilder/util.js +9 -9
- package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -4
- package/dist/esm/internals/ReportBuilder/PivotList.js +4 -4
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +77 -35
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
- package/dist/esm/utils/axisFormatter.js +16 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +1 -0
- package/dist/esm/utils/textProcessing.d.ts +1 -0
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +19 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +15 -0
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { PivotList, PivotCard } from './PivotList';
|
|
|
6
6
|
import { differenceInDays, eachDayOfInterval, eachMonthOfInterval, eachWeekOfInterval, eachYearOfInterval, endOfDay, isWithinInterval, subMilliseconds, } from 'date-fns';
|
|
7
7
|
import { valueFormatter } from '../../utils/valueFormatter';
|
|
8
8
|
import { numberFormatOptions, dateFormatOptions } from '../../ChartBuilder';
|
|
9
|
-
import {
|
|
9
|
+
import { snakeAndCamelCaseToTitleCase, } from '../../utils/textProcessing';
|
|
10
10
|
import { QuillErrorMessageComponent, QuillLoadingComponent, QuillPivotColumnContainer, QuillPivotRowContainer, } from '../../components/UiComponents';
|
|
11
11
|
import { isNumericColumnType, } from '../../components/ReportBuilder/ast';
|
|
12
12
|
import { QuillCard } from '../../components/QuillCard';
|
|
@@ -292,7 +292,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
|
|
|
292
292
|
allowedColumnFields,
|
|
293
293
|
allowedRowFields,
|
|
294
294
|
allowedValueFields,
|
|
295
|
-
columns
|
|
295
|
+
columns,
|
|
296
296
|
]);
|
|
297
297
|
const pivotFieldChange = async (field, value) => {
|
|
298
298
|
setErrors([]);
|
|
@@ -402,7 +402,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
|
|
|
402
402
|
: e.target.value);
|
|
403
403
|
}, options: allowedRowFields.map((field) => {
|
|
404
404
|
return {
|
|
405
|
-
label:
|
|
405
|
+
label: snakeAndCamelCaseToTitleCase(field),
|
|
406
406
|
value: field,
|
|
407
407
|
};
|
|
408
408
|
}), width: 200 }) }), _jsx("div", { ref: colFieldRef, children: _jsx(SelectComponent, { id: "pivot-row-field", label: "Column field", value: pivotColumnField, onChange: (e) => {
|
|
@@ -412,7 +412,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
|
|
|
412
412
|
: e.target.value);
|
|
413
413
|
}, options: allowedColumnFields.map((field) => {
|
|
414
414
|
return {
|
|
415
|
-
label:
|
|
415
|
+
label: snakeAndCamelCaseToTitleCase(field),
|
|
416
416
|
value: field,
|
|
417
417
|
};
|
|
418
418
|
}), width: 200 }) })] }), _jsxs(PivotRowContainer, { children: [_jsx(SelectComponent, { id: "pivot-row-field", label: "Value field", value: pivotValueField, onChange: (e) => {
|
|
@@ -422,7 +422,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
|
|
|
422
422
|
: e.target.value);
|
|
423
423
|
}, options: allowedValueFields.map((field) => {
|
|
424
424
|
return {
|
|
425
|
-
label:
|
|
425
|
+
label: snakeAndCamelCaseToTitleCase(field),
|
|
426
426
|
value: field,
|
|
427
427
|
};
|
|
428
428
|
}), width: 200 }), _jsx(SelectComponent, { id: "pivot-row-field", label: "Aggregation type", value: pivotAggregation, onChange: (e) => {
|
|
@@ -520,14 +520,14 @@ export function generatePivotTableYAxis(pivot, cols, format) {
|
|
|
520
520
|
}
|
|
521
521
|
export function generatePivotTitle(pivot) {
|
|
522
522
|
if (pivot.rowField && !pivot.valueField) {
|
|
523
|
-
return
|
|
523
|
+
return snakeAndCamelCaseToTitleCase(`${pivot.aggregationType} of ${pivot.rowField}
|
|
524
524
|
`);
|
|
525
525
|
}
|
|
526
526
|
else if (pivot.valueField && !pivot.rowField) {
|
|
527
|
-
return
|
|
527
|
+
return snakeAndCamelCaseToTitleCase(`${pivot.aggregationType} of ${pivot.valueField}
|
|
528
528
|
`);
|
|
529
529
|
}
|
|
530
|
-
return
|
|
530
|
+
return snakeAndCamelCaseToTitleCase(`${pivot.aggregationType} of ${pivot.valueField} by ${pivot.rowField}${pivot.columnField ? ` and ${pivot.columnField}` : ''}`);
|
|
531
531
|
}
|
|
532
532
|
function castValueToDate(value) {
|
|
533
533
|
if (!value) {
|
|
@@ -600,10 +600,30 @@ function getDateRange(dateRange, column, data) {
|
|
|
600
600
|
return dateRange;
|
|
601
601
|
}
|
|
602
602
|
}
|
|
603
|
-
function
|
|
603
|
+
function determineIntervalThroughOverride(dateBucket, dateRange) {
|
|
604
|
+
switch (dateBucket) {
|
|
605
|
+
case 'day':
|
|
606
|
+
return eachDayOfInterval(dateRange);
|
|
607
|
+
case 'week':
|
|
608
|
+
return eachWeekOfInterval(dateRange, { weekStartsOn: 1 });
|
|
609
|
+
case 'month':
|
|
610
|
+
return eachMonthOfInterval(dateRange);
|
|
611
|
+
case 'year':
|
|
612
|
+
return eachYearOfInterval(dateRange);
|
|
613
|
+
default:
|
|
614
|
+
return eachMonthOfInterval(dateRange);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
function getDateBuckets(dateRange, column, data, dateBucket) {
|
|
604
618
|
if (!dateRange) {
|
|
619
|
+
if (dateBucket) {
|
|
620
|
+
return determineIntervalThroughOverride(dateBucket, getDateRange(undefined, column, data));
|
|
621
|
+
}
|
|
605
622
|
return eachMonthOfInterval(getDateRange(dateRange, column, data));
|
|
606
623
|
}
|
|
624
|
+
if (dateBucket) {
|
|
625
|
+
return determineIntervalThroughOverride(dateBucket, dateRange);
|
|
626
|
+
}
|
|
607
627
|
const dayDifference = differenceInDays(dateRange.end, dateRange.start);
|
|
608
628
|
return dayDifferenceToInterval(dayDifference, dateRange);
|
|
609
629
|
}
|
|
@@ -628,24 +648,45 @@ function dayDifferenceToInterval(dayDifference, dateRange) {
|
|
|
628
648
|
return eachYearOfInterval(dateRange);
|
|
629
649
|
}
|
|
630
650
|
}
|
|
631
|
-
function getDateString(value, dateRange) {
|
|
651
|
+
function getDateString(value, dateRange, dateBucket) {
|
|
632
652
|
let format;
|
|
633
|
-
if (
|
|
634
|
-
|
|
653
|
+
if (dateBucket) {
|
|
654
|
+
switch (dateBucket) {
|
|
655
|
+
case 'day':
|
|
656
|
+
format = 'MMM_dd';
|
|
657
|
+
break;
|
|
658
|
+
case 'week':
|
|
659
|
+
format = 'MMM_dd-MMM_dd';
|
|
660
|
+
break;
|
|
661
|
+
case 'month':
|
|
662
|
+
format = 'MMM_yyyy';
|
|
663
|
+
break;
|
|
664
|
+
case 'year':
|
|
665
|
+
format = 'yyyy';
|
|
666
|
+
break;
|
|
667
|
+
default:
|
|
668
|
+
format = 'MMM_yyyy';
|
|
669
|
+
break;
|
|
670
|
+
}
|
|
635
671
|
}
|
|
636
672
|
else {
|
|
637
|
-
|
|
638
|
-
if (dayDifference < 14) {
|
|
639
|
-
format = 'MMM_dd_yyyy';
|
|
640
|
-
}
|
|
641
|
-
else if (dayDifference < 60) {
|
|
642
|
-
format = 'MMM_dd-MMM_dd';
|
|
643
|
-
}
|
|
644
|
-
else if (dayDifference < 365 * 3) {
|
|
673
|
+
if (!dateRange) {
|
|
645
674
|
format = 'MMM_yyyy';
|
|
646
675
|
}
|
|
647
676
|
else {
|
|
648
|
-
|
|
677
|
+
const dayDifference = differenceInDays(new Date(dateRange.end), new Date(dateRange.start));
|
|
678
|
+
if (dayDifference < 14) {
|
|
679
|
+
format = 'MMM_dd_yyyy';
|
|
680
|
+
}
|
|
681
|
+
else if (dayDifference < 60) {
|
|
682
|
+
format = 'MMM_dd-MMM_dd';
|
|
683
|
+
}
|
|
684
|
+
else if (dayDifference < 365 * 3) {
|
|
685
|
+
format = 'MMM_yyyy';
|
|
686
|
+
}
|
|
687
|
+
else {
|
|
688
|
+
format = 'yyyy';
|
|
689
|
+
}
|
|
649
690
|
}
|
|
650
691
|
}
|
|
651
692
|
return valueFormatter({
|
|
@@ -690,7 +731,7 @@ const fixBigQueryData = (data = []) => {
|
|
|
690
731
|
}
|
|
691
732
|
return newData;
|
|
692
733
|
};
|
|
693
|
-
export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimit = -1, compRange = undefined) {
|
|
734
|
+
export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimit = -1, compRange = undefined, dateBucket) {
|
|
694
735
|
// If there is no rowField, aggregate on the valueField
|
|
695
736
|
if (!pivot.rowField) {
|
|
696
737
|
return valueFieldAggregation(data, pivot.valueField, pivot.aggregationType, isComparison);
|
|
@@ -709,7 +750,7 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
709
750
|
}
|
|
710
751
|
const pivotRows = [];
|
|
711
752
|
const uniqueRows = (isDateField(pivot.rowFieldType)
|
|
712
|
-
? getDateBuckets(dateRange, pivot.rowField, data)
|
|
753
|
+
? getDateBuckets(dateRange, pivot.rowField, data, dateBucket)
|
|
713
754
|
: [...new Set(data.map((item) => item[pivot.rowField]))]).filter((row) => Boolean(row));
|
|
714
755
|
const rowDateRange = getDateRange(dateRange, pivot.rowField, data);
|
|
715
756
|
const compRowDateRange = getDateRange(compRange ?? dateRange, pivot.rowField, data);
|
|
@@ -717,7 +758,7 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
717
758
|
// @ts-ignore
|
|
718
759
|
const uniqueColumns = (pivot.columnField
|
|
719
760
|
? isDateField(pivot.columnFieldType || '')
|
|
720
|
-
? getDateBuckets(dateRange, pivot.columnField, data)
|
|
761
|
+
? getDateBuckets(dateRange, pivot.columnField, data, dateBucket)
|
|
721
762
|
: [...new Set(data.map((item) => item[pivot.columnField || '']))]
|
|
722
763
|
: [pivot.valueField]).filter((col) => Boolean(col));
|
|
723
764
|
// Map from new dates to their corresponding prior dates
|
|
@@ -734,12 +775,12 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
734
775
|
data.forEach((item) => {
|
|
735
776
|
if (isDateCol) {
|
|
736
777
|
const key = getDateString(item[col], dateRange);
|
|
737
|
-
const value = getDateString(item[`comparison_${col}`], dateRange);
|
|
778
|
+
const value = getDateString(item[`comparison_${col}`], dateRange, dateBucket);
|
|
738
779
|
COL_DATE_MAP[key] = value;
|
|
739
780
|
}
|
|
740
781
|
if (isDateRow) {
|
|
741
782
|
const key = getDateString(item[row], dateRange);
|
|
742
|
-
const value = getDateString(item[`comparison_${row}`], dateRange);
|
|
783
|
+
const value = getDateString(item[`comparison_${row}`], dateRange, dateBucket);
|
|
743
784
|
ROW_DATE_MAP[key] = value;
|
|
744
785
|
}
|
|
745
786
|
});
|
|
@@ -769,7 +810,7 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
769
810
|
rowsToGenerate.forEach((rowValue, rowIndex) => {
|
|
770
811
|
const row = {
|
|
771
812
|
[pivot.rowField]: isDateField(pivot.rowFieldType)
|
|
772
|
-
? getDateString(rowValue, dateRange)
|
|
813
|
+
? getDateString(rowValue, dateRange, dateBucket)
|
|
773
814
|
: rowValue === null
|
|
774
815
|
? 'Null'
|
|
775
816
|
: rowValue === false
|
|
@@ -974,12 +1015,14 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
974
1015
|
});
|
|
975
1016
|
const columns = [
|
|
976
1017
|
{
|
|
977
|
-
label: pivot.rowField === null
|
|
1018
|
+
label: pivot.rowField === null
|
|
1019
|
+
? 'Null'
|
|
1020
|
+
: snakeAndCamelCaseToTitleCase(pivot.rowField),
|
|
978
1021
|
field: pivot.rowField,
|
|
979
1022
|
},
|
|
980
1023
|
...uniqueColumns.map((column, index) => {
|
|
981
1024
|
const columnName = isDateField(pivot.columnFieldType || '')
|
|
982
|
-
? getDateString(column, dateRange)
|
|
1025
|
+
? getDateString(column, dateRange, dateBucket)
|
|
983
1026
|
: column;
|
|
984
1027
|
return {
|
|
985
1028
|
label: column === null
|
|
@@ -990,14 +1033,14 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
990
1033
|
!pivot.columnField &&
|
|
991
1034
|
index === 1
|
|
992
1035
|
? 'Count'
|
|
993
|
-
:
|
|
1036
|
+
: snakeAndCamelCaseToTitleCase(columnName),
|
|
994
1037
|
field: columnName,
|
|
995
1038
|
};
|
|
996
1039
|
}),
|
|
997
1040
|
...(isComparison && pivot.columnField
|
|
998
1041
|
? uniqueColumns.map((column, index) => {
|
|
999
1042
|
const columnName = isDateField(pivot.columnFieldType || '')
|
|
1000
|
-
? getDateString(column, dateRange)
|
|
1043
|
+
? getDateString(column, dateRange, dateBucket)
|
|
1001
1044
|
: column;
|
|
1002
1045
|
return {
|
|
1003
1046
|
label: column === null
|
|
@@ -1009,9 +1052,8 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
|
|
|
1009
1052
|
index === 1
|
|
1010
1053
|
? 'Comparison Count'
|
|
1011
1054
|
: isDateField(pivot.columnFieldType || '')
|
|
1012
|
-
? COL_DATE_MAP[getDateString(column, dateRange)] ??
|
|
1013
|
-
|
|
1014
|
-
: `comparison ${snakeCaseToTitleCase(columnName)}`,
|
|
1055
|
+
? COL_DATE_MAP[getDateString(column, dateRange, dateBucket)] ?? 'Comparison'
|
|
1056
|
+
: `comparison ${snakeAndCamelCaseToTitleCase(columnName)}`,
|
|
1015
1057
|
field: `comparison_${columnName}`,
|
|
1016
1058
|
};
|
|
1017
1059
|
})
|
|
@@ -1093,6 +1135,6 @@ function valueFieldAggregation(data, valueField, aggregationType, isComparison)
|
|
|
1093
1135
|
}
|
|
1094
1136
|
return {
|
|
1095
1137
|
rows: [row],
|
|
1096
|
-
columns: [{ label:
|
|
1138
|
+
columns: [{ label: snakeAndCamelCaseToTitleCase(valueField), field: valueField }],
|
|
1097
1139
|
};
|
|
1098
1140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.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,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,8BAIvB,KAAK,KAAG,MAAM,GAAG,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.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,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,8BAIvB,KAAK,KAAG,MAAM,GAAG,MAAM,GAAG,OAgC5B,CAAC"}
|
|
@@ -24,7 +24,9 @@ export const axisFormatter = ({ value, field, fields, }) => {
|
|
|
24
24
|
string: formatString,
|
|
25
25
|
yyyy: format_YYYY,
|
|
26
26
|
MMM_yyyy: format_MMM_yyyy,
|
|
27
|
+
MMM_dd: format_MMM_dd,
|
|
27
28
|
MMM_dd_yyyy: format_MMM_dd_yyyy,
|
|
29
|
+
MMM_ww_yyyy: format_MMM_ww_yyyy,
|
|
28
30
|
hh_ap_pm: format_hh_ap_pm,
|
|
29
31
|
'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
|
|
30
32
|
'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
|
|
@@ -201,6 +203,7 @@ const _getUTCDateHelper = (value, fmt) => {
|
|
|
201
203
|
return format(utcDate, fmt);
|
|
202
204
|
};
|
|
203
205
|
const format_YYYY = (value) => _getUTCDateHelper(value, 'yyyy');
|
|
206
|
+
const format_MMM_dd = (value) => _getUTCDateHelper(value, 'dd MMM');
|
|
204
207
|
const format_MMM_yyyy = (value) => _getUTCDateHelper(value, 'MMM yyyy');
|
|
205
208
|
const format_hh_ap_pm = (value) => _getUTCDateHelper(value, 'hh:mm aa');
|
|
206
209
|
const format_MMM_dd_yyyy = (value) => _getUTCDateHelper(value, 'dd MMM yyyy');
|
|
@@ -218,6 +221,19 @@ const format_MMM_dd_MMM_dd = (value) => {
|
|
|
218
221
|
return `${format(monday, 'MMM dd')} - ${format(sunday, 'MMM dd')}`;
|
|
219
222
|
}
|
|
220
223
|
};
|
|
224
|
+
const format_MMM_ww_yyyy = (value) => {
|
|
225
|
+
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
226
|
+
if (!isValid(utcDate))
|
|
227
|
+
return 'Invalid date';
|
|
228
|
+
const currentDate = new Date();
|
|
229
|
+
const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
|
|
230
|
+
const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
|
|
231
|
+
const month = format(utcDate, 'MMM');
|
|
232
|
+
const startDay = format(startOfWeekDate, 'd');
|
|
233
|
+
const endDay = format(endOfWeekDate, 'd');
|
|
234
|
+
const year = format(utcDate, 'yyyy');
|
|
235
|
+
return `${month}, ${startDay}-${endDay}, ${year}`;
|
|
236
|
+
};
|
|
221
237
|
const format_MMM_dd_hh_mm_ap_pm = (value) => {
|
|
222
238
|
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
223
239
|
if (!isValid(utcDate))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAyGjB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0DD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"columnProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/columnProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAyGjB;AAED,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,UAAU,GACrB,cAAc,CAShB;AA0DD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAsBlE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare function capitalize(text: string): string;
|
|
2
2
|
export declare function depluralize(text: string): string;
|
|
3
3
|
export declare function snakeCaseToTitleCase(str: string): string;
|
|
4
|
+
export declare function snakeAndCamelCaseToTitleCase(str: string): string;
|
|
4
5
|
export declare function removeDoubleQuotes(str: string): string;
|
|
5
6
|
//# sourceMappingURL=textProcessing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/textProcessing.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAa/C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAK7C"}
|
|
1
|
+
{"version":3,"file":"textProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/textProcessing.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAa/C;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,UAiBvD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAK7C"}
|
|
@@ -22,6 +22,25 @@ export function snakeCaseToTitleCase(str) {
|
|
|
22
22
|
: word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
23
23
|
.join(' ');
|
|
24
24
|
}
|
|
25
|
+
export function snakeAndCamelCaseToTitleCase(str) {
|
|
26
|
+
if (!str) {
|
|
27
|
+
return str;
|
|
28
|
+
}
|
|
29
|
+
if (str.includes('_')) {
|
|
30
|
+
return str
|
|
31
|
+
.split(/_| /)
|
|
32
|
+
.map((word) => (word === 'id' ? 'ID' : capitalize(word)))
|
|
33
|
+
.join(' ');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const text = str.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
37
|
+
const newText = text
|
|
38
|
+
.split(' ')
|
|
39
|
+
.map((word) => (word === 'Id' || word === 'id' ? 'ID' : capitalize(word)))
|
|
40
|
+
.join(' ');
|
|
41
|
+
return newText;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
25
44
|
export function removeDoubleQuotes(str) {
|
|
26
45
|
if (!str) {
|
|
27
46
|
return str;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,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,eAAO,MAAM,mBAAmB,UAM/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,
|
|
1
|
+
{"version":3,"file":"valueFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/valueFormatter.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,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,eAAO,MAAM,mBAAmB,UAM/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,6BAA8B,KAAK,KAAG,MA0ChE,CAAC;AAEF,eAAO,MAAM,WAAW;WAIf,GAAG;YACF,MAAM;MACZ,MAwCH,CAAC;AAiNF,eAAO,MAAM,aAAa;;;;WAGhB,MAAM,KACb,MAkDF,CAAC"}
|
|
@@ -36,8 +36,10 @@ export const valueFormatter = ({ value, field, fields }) => {
|
|
|
36
36
|
two_decimal_places: formatTwoDecimalPlaces,
|
|
37
37
|
string: formatString,
|
|
38
38
|
yyyy: format_YYYY,
|
|
39
|
+
MMM_dd: format_MMM_dd,
|
|
39
40
|
MMM_yyyy: format_MMM_yyyy,
|
|
40
41
|
MMM_dd_yyyy: format_MMM_dd_yyyy,
|
|
42
|
+
MMM_ww_yyyy: format_MMM_ww_yyyy,
|
|
41
43
|
hh_ap_pm: format_hh_ap_pm,
|
|
42
44
|
'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
|
|
43
45
|
'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
|
|
@@ -233,6 +235,19 @@ const format_wo_yyyy = (value) => {
|
|
|
233
235
|
return 'Invalid date';
|
|
234
236
|
return `${getWeek(utcDate)},${utcDate.getFullYear()}`;
|
|
235
237
|
};
|
|
238
|
+
const format_MMM_ww_yyyy = (value) => {
|
|
239
|
+
const utcDate = utcToZonedTime(new Date(value), 'UTC');
|
|
240
|
+
if (!isValid(utcDate))
|
|
241
|
+
return 'Invalid date';
|
|
242
|
+
const currentDate = new Date();
|
|
243
|
+
const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
|
|
244
|
+
const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
|
|
245
|
+
const month = format(utcDate, 'MMM');
|
|
246
|
+
const startDay = format(startOfWeekDate, 'd');
|
|
247
|
+
const endDay = format(endOfWeekDate, 'd');
|
|
248
|
+
const year = format(utcDate, 'yyyy');
|
|
249
|
+
return `${month}, ${startDay}-${endDay}, ${year}`;
|
|
250
|
+
};
|
|
236
251
|
/**
|
|
237
252
|
* Parses a numeric string back into a number, taking into account that
|
|
238
253
|
* users in different locales will format numbers differently (eg. 1,234 means
|