@quillsql/react 2.11.24 → 2.11.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/cjs/Chart.d.ts +16 -0
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +20 -17
  4. package/dist/cjs/ChartBuilder.d.ts +7 -20
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +37 -34
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +3 -3
  9. package/dist/cjs/Dashboard.d.ts +2 -1
  10. package/dist/cjs/Dashboard.d.ts.map +1 -1
  11. package/dist/cjs/ReportBuilder.d.ts +6 -4
  12. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  13. package/dist/cjs/ReportBuilder.js +208 -133
  14. package/dist/cjs/SQLEditor.d.ts +4 -11
  15. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  16. package/dist/cjs/SQLEditor.js +31 -97
  17. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  18. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  19. package/dist/cjs/components/Chart/LineChart.js +3 -3
  20. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  21. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/MetricComponent.js +9 -12
  23. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  24. package/dist/cjs/components/Dashboard/TableComponent.js +12 -10
  25. package/dist/cjs/components/QuillTable.d.ts +4 -1
  26. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  27. package/dist/cjs/components/QuillTable.js +1 -1
  28. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -2
  29. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +27 -24
  30. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  31. package/dist/cjs/internals/ReportBuilder/PivotList.js +9 -7
  32. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +9 -2
  33. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  34. package/dist/cjs/internals/ReportBuilder/PivotModal.js +53 -43
  35. package/dist/cjs/models/Columns.d.ts +11 -0
  36. package/dist/cjs/models/Columns.d.ts.map +1 -0
  37. package/dist/cjs/models/Columns.js +2 -0
  38. package/dist/cjs/models/Tables.d.ts +0 -8
  39. package/dist/cjs/models/Tables.d.ts.map +1 -1
  40. package/dist/cjs/utils/astProcessing.d.ts +3 -0
  41. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  42. package/dist/cjs/utils/astProcessing.js +20 -0
  43. package/dist/cjs/utils/columnProcessing.d.ts +9 -0
  44. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  45. package/dist/cjs/utils/columnProcessing.js +207 -0
  46. package/dist/cjs/utils/dashboard.js +9 -9
  47. package/dist/cjs/utils/pivotProcessing.d.ts +2 -1
  48. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  49. package/dist/cjs/utils/pivotProcessing.js +3 -8
  50. package/dist/cjs/utils/tableProcessing.d.ts +2 -2
  51. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  52. package/dist/cjs/utils/tableProcessing.js +1 -3
  53. package/dist/cjs/utils/valueFormatter.d.ts +2 -1
  54. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  55. package/dist/cjs/utils/valueFormatter.js +12 -1
  56. package/dist/esm/Chart.d.ts +16 -0
  57. package/dist/esm/Chart.d.ts.map +1 -1
  58. package/dist/esm/Chart.js +20 -17
  59. package/dist/esm/ChartBuilder.d.ts +7 -20
  60. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  61. package/dist/esm/ChartBuilder.js +37 -34
  62. package/dist/esm/ChartEditor.d.ts.map +1 -1
  63. package/dist/esm/ChartEditor.js +3 -3
  64. package/dist/esm/Dashboard.d.ts +2 -1
  65. package/dist/esm/Dashboard.d.ts.map +1 -1
  66. package/dist/esm/ReportBuilder.d.ts +6 -4
  67. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  68. package/dist/esm/ReportBuilder.js +204 -129
  69. package/dist/esm/SQLEditor.d.ts +4 -11
  70. package/dist/esm/SQLEditor.d.ts.map +1 -1
  71. package/dist/esm/SQLEditor.js +30 -95
  72. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  73. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  74. package/dist/esm/components/Chart/LineChart.js +3 -3
  75. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  76. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  77. package/dist/esm/components/Dashboard/MetricComponent.js +9 -12
  78. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  79. package/dist/esm/components/Dashboard/TableComponent.js +12 -10
  80. package/dist/esm/components/QuillTable.d.ts +4 -1
  81. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  82. package/dist/esm/components/QuillTable.js +1 -1
  83. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -2
  84. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +27 -24
  85. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  86. package/dist/esm/internals/ReportBuilder/PivotList.js +9 -7
  87. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +9 -2
  88. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  89. package/dist/esm/internals/ReportBuilder/PivotModal.js +55 -45
  90. package/dist/esm/models/Columns.d.ts +11 -0
  91. package/dist/esm/models/Columns.d.ts.map +1 -0
  92. package/dist/esm/models/Columns.js +1 -0
  93. package/dist/esm/models/Tables.d.ts +0 -8
  94. package/dist/esm/models/Tables.d.ts.map +1 -1
  95. package/dist/esm/utils/astProcessing.d.ts +3 -0
  96. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  97. package/dist/esm/utils/astProcessing.js +16 -0
  98. package/dist/esm/utils/columnProcessing.d.ts +9 -0
  99. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  100. package/dist/esm/utils/columnProcessing.js +201 -0
  101. package/dist/esm/utils/dashboard.js +9 -9
  102. package/dist/esm/utils/pivotProcessing.d.ts +2 -1
  103. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  104. package/dist/esm/utils/pivotProcessing.js +3 -8
  105. package/dist/esm/utils/tableProcessing.d.ts +2 -2
  106. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  107. package/dist/esm/utils/tableProcessing.js +1 -3
  108. package/dist/esm/utils/valueFormatter.d.ts +2 -1
  109. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  110. package/dist/esm/utils/valueFormatter.js +11 -0
  111. package/package.json +1 -1
  112. package/dist/cjs/utils/types.d.ts +0 -4
  113. package/dist/cjs/utils/types.d.ts.map +0 -1
  114. package/dist/cjs/utils/types.js +0 -52
  115. package/dist/cjs/utils/valueFormatterCSV.d.ts +0 -17
  116. package/dist/cjs/utils/valueFormatterCSV.d.ts.map +0 -1
  117. package/dist/cjs/utils/valueFormatterCSV.js +0 -99
  118. package/dist/esm/utils/types.d.ts +0 -4
  119. package/dist/esm/utils/types.d.ts.map +0 -1
  120. package/dist/esm/utils/types.js +0 -48
  121. package/dist/esm/utils/valueFormatterCSV.d.ts +0 -17
  122. package/dist/esm/utils/valueFormatterCSV.d.ts.map +0 -1
  123. package/dist/esm/utils/valueFormatterCSV.js +0 -95
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ButtonComponentProps } from '../../components/UiComponents';
3
+ import { Column } from '../../models/Columns';
3
4
  export interface Pivot {
4
5
  rowField: string;
5
6
  rowFieldType: string;
@@ -62,7 +63,7 @@ export interface PivotModalProps {
62
63
  showUpdatePivot: any;
63
64
  setShowUpdatePivot: any;
64
65
  data: any;
65
- columns: any;
66
+ columns: Column[];
66
67
  theme: any;
67
68
  isOpen: any;
68
69
  setIsOpen: any;
@@ -96,7 +97,13 @@ export declare function generatePivotTableYAxis(pivot: Pivot, cols: {
96
97
  }[];
97
98
  export declare function generatePivotTitle(pivot: Pivot): string;
98
99
  export declare function isDateField(fieldType: string): boolean;
99
- export declare function generatePivotTable(pivot: Pivot, data: any, dateRange: any, isComparison: boolean, rowLimit?: number, compRange?: any): {
100
+ export declare function generatePivotTable(pivot: Pivot, data: any, dateRange: {
101
+ start: Date;
102
+ end: Date;
103
+ } | undefined, isComparison: boolean, rowLimit?: number, compRange?: {
104
+ start: Date;
105
+ end: Date;
106
+ } | undefined): {
100
107
  rows: any[];
101
108
  columns: {
102
109
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
@@ -3,12 +3,12 @@ import { useCallback, useContext, useMemo, useState, useEffect, useRef, } from '
3
3
  import { ClientContext } from '../../Context';
4
4
  import { getDataFromCloud } from '../../utils/dataFetcher';
5
5
  import { PivotList, PivotCard } from './PivotList';
6
- import { differenceInDays, eachDayOfInterval, eachMonthOfInterval, eachWeekOfInterval, eachYearOfInterval, endOfDay, isWithinInterval, subMilliseconds, add, } from 'date-fns';
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
9
  import { snakeCaseToTitleCase } from '../../utils/textProcessing';
10
10
  import { QuillErrorMessageComponent, QuillPivotColumnContainer, QuillPivotRowContainer, } from '../../components/UiComponents';
11
- import { isNumericColumnType, isTextColumnType, } from '../../components/ReportBuilder/ast';
11
+ import { isNumericColumnType, } from '../../components/ReportBuilder/ast';
12
12
  import { QuillCard } from '../../components/QuillCard';
13
13
  import { cleanPivot, getPossiblePivotFieldOptions, isValidPivot, } from '../../utils/pivotProcessing';
14
14
  import { hashCode } from '../../utils/crypto';
@@ -43,7 +43,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
43
43
  const getDistinctValues = async () => {
44
44
  if (columns) {
45
45
  const stringColumns = columns.filter((column) => {
46
- return isTextColumnType(column.fieldType || column.format);
46
+ return column.format === 'string';
47
47
  });
48
48
  if (stringColumns.length === 0) {
49
49
  const possibleColumns = getPossiblePivotFieldOptions(columns, {});
@@ -78,9 +78,14 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
78
78
  setPivotCardWidth(width);
79
79
  }
80
80
  };
81
- setTimeout(() => {
81
+ if (rowFieldRef.current && colFieldRef.current) {
82
82
  calculatePivotCardSize();
83
- }, 300);
83
+ }
84
+ else {
85
+ setTimeout(() => {
86
+ calculatePivotCardSize();
87
+ }, 500);
88
+ }
84
89
  }, [showUpdatePivot, isOpen]);
85
90
  useEffect(() => {
86
91
  if (pivotRowField && data && columns) {
@@ -148,15 +153,6 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
148
153
  pivotValueField,
149
154
  pivotAggregation,
150
155
  ]);
151
- useEffect(() => {
152
- setSelectedPivotIndex(-1);
153
- setSelectedPivotType('');
154
- setPivotRowField(undefined);
155
- setPivotColumnField(undefined);
156
- setPivotValueField(undefined);
157
- setPivotAggregation(undefined);
158
- setErrors([]);
159
- }, [selectedTable]);
160
156
  useEffect(() => {
161
157
  if (!initialUniqueValues) {
162
158
  return;
@@ -437,7 +433,7 @@ export const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField,
437
433
  }), width: 200 }), _jsx(SelectComponent, { id: "pivot-row-field", label: "Aggregation type", value: pivotAggregation, onChange: (e) => {
438
434
  if (e.target.value !== 'count' &&
439
435
  pivotValueField &&
440
- !numberFormatOptions.includes(columns.find((col) => col.field === pivotValueField)?.format)) {
436
+ !numberFormatOptions.includes(columns.find((col) => col.field === pivotValueField).format)) {
441
437
  setPivotValueField(null);
442
438
  }
443
439
  pivotFieldChange('aggregationType', e.target.value);
@@ -558,7 +554,7 @@ function castValueToDate(value) {
558
554
  }
559
555
  return new Date(value);
560
556
  }
561
- function getRecentDate(a, b) {
557
+ function getLatestDate(a, b) {
562
558
  return a > b ? a : b;
563
559
  }
564
560
  function getEarliestDate(a, b) {
@@ -569,7 +565,7 @@ function getDateRange(dateRange, column, data) {
569
565
  const ONE_CENTURY_IN_MILLISECONDS = 100 * 365 * 24 * 60 * 60 * 1000;
570
566
  const maxDate = new Date(currentTime + ONE_CENTURY_IN_MILLISECONDS);
571
567
  const minDate = new Date(0);
572
- if (!dateRange || !dateRange[0]) {
568
+ if (!dateRange) {
573
569
  if (data.length == 0 || !data[0][column]) {
574
570
  return { start: new Date(), end: new Date() };
575
571
  }
@@ -580,22 +576,30 @@ function getDateRange(dateRange, column, data) {
580
576
  end: firstDate || new Date(),
581
577
  };
582
578
  }
583
- let earliestDate = firstDate;
584
- let lastestDate = firstDate;
579
+ let earliestDate = undefined;
580
+ let latestDate = undefined;
581
+ for (let i = 0; i < data.length; i++) {
582
+ if (earliestDate && latestDate) {
583
+ break;
584
+ }
585
+ const value = castValueToDate(data[i][column]);
586
+ earliestDate = value && value > minDate ? value : null;
587
+ latestDate = value && value < maxDate ? value : null;
588
+ }
589
+ if (!earliestDate || !latestDate) {
590
+ return {
591
+ start: earliestDate || new Date(),
592
+ end: latestDate || new Date(),
593
+ };
594
+ }
585
595
  for (let i = 0; i < data.length; i++) {
586
596
  if (data[i][column]) {
587
597
  const value = castValueToDate(data[i][column]);
588
- if (lastestDate && lastestDate > minDate) {
589
- lastestDate = value;
590
- }
591
598
  if (value && value < maxDate) {
592
- lastestDate =
593
- lastestDate === null ? value : getRecentDate(lastestDate, value);
599
+ latestDate =
600
+ latestDate === null ? value : getLatestDate(latestDate, value);
594
601
  }
595
602
  if (value && value > minDate) {
596
- if (earliestDate && earliestDate < minDate) {
597
- earliestDate = value;
598
- }
599
603
  earliestDate =
600
604
  earliestDate === null
601
605
  ? value
@@ -604,40 +608,40 @@ function getDateRange(dateRange, column, data) {
604
608
  }
605
609
  }
606
610
  return {
607
- start: earliestDate,
608
- end: lastestDate,
611
+ start: earliestDate || new Date(),
612
+ end: latestDate || new Date(),
609
613
  };
610
614
  }
611
615
  else {
612
- return { start: dateRange[0], end: dateRange[1] };
616
+ return dateRange;
613
617
  }
614
618
  }
615
619
  function getDateBuckets(dateRange, column, data) {
616
- if (!dateRange || !dateRange[0]) {
620
+ if (!dateRange) {
617
621
  return eachMonthOfInterval(getDateRange(dateRange, column, data));
618
622
  }
619
- const dayDifference = differenceInDays(new Date(dateRange[1]), new Date(dateRange[0]));
623
+ const dayDifference = differenceInDays(dateRange.end, dateRange.start);
620
624
  return dayDifferenceToInterval(dayDifference, dateRange);
621
625
  }
622
626
  function getCompDateBuckets(dateRange, compDateRange, column, data) {
623
- if (!dateRange || !dateRange[0]) {
624
- return eachMonthOfInterval(getDateRange(dateRange, column, data));
627
+ if (!dateRange) {
628
+ return eachMonthOfInterval(getDateRange(undefined, column, data));
625
629
  }
626
- const dayDifference = differenceInDays(new Date(dateRange[1]), new Date(dateRange[0]));
630
+ const dayDifference = differenceInDays(dateRange.end, dateRange.start);
627
631
  return dayDifferenceToInterval(dayDifference, compDateRange);
628
632
  }
629
633
  function dayDifferenceToInterval(dayDifference, dateRange) {
630
634
  if (dayDifference < 14) {
631
- return eachDayOfInterval({ start: dateRange[0], end: dateRange[1] });
635
+ return eachDayOfInterval(dateRange);
632
636
  }
633
637
  else if (dayDifference < 60) {
634
- return eachWeekOfInterval({ start: dateRange[0], end: dateRange[1] }, { weekStartsOn: 1 });
638
+ return eachWeekOfInterval(dateRange, { weekStartsOn: 1 });
635
639
  }
636
640
  else if (dayDifference < 365 * 3) {
637
- return eachMonthOfInterval({ start: dateRange[0], end: dateRange[1] });
641
+ return eachMonthOfInterval(dateRange);
638
642
  }
639
643
  else {
640
- return eachYearOfInterval({ start: dateRange[0], end: dateRange[1] });
644
+ return eachYearOfInterval(dateRange);
641
645
  }
642
646
  }
643
647
  function getDateString(value, dateRange) {
@@ -702,23 +706,22 @@ const fixBigQueryData = (data = []) => {
702
706
  }
703
707
  return newData;
704
708
  };
705
- export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimit = -1, compRange = null) {
709
+ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimit = -1, compRange = undefined) {
706
710
  // If there is no rowField, aggregate on the valueField
707
711
  if (!pivot.rowField) {
708
712
  return valueFieldAggregation(data, pivot.valueField, pivot.aggregationType, isComparison);
709
713
  }
710
714
  // Handle edge-case for BigQuery objects.
711
715
  data = fixBigQueryData(data);
712
- if (dateRange[0] === null && dateRange[1] === null) {
713
- dateRange = [new Date(0), add(new Date(), { years: 5 })];
716
+ if (!dateRange) {
714
717
  if (isDateField(pivot.rowFieldType)) {
715
718
  dateRange = getDateRange(dateRange, pivot.rowField, data);
716
719
  }
717
720
  }
718
721
  if (!compRange ||
719
- isNullUndefinedOrInvalidDate(compRange[0]) ||
720
- isNullUndefinedOrInvalidDate(compRange[1])) {
721
- compRange = null;
722
+ isNullUndefinedOrInvalidDate(compRange.start) ||
723
+ isNullUndefinedOrInvalidDate(compRange.end)) {
724
+ compRange = undefined;
722
725
  }
723
726
  const pivotRows = [];
724
727
  const uniqueRows = (isDateField(pivot.rowFieldType)
@@ -975,6 +978,13 @@ export function generatePivotTable(pivot, data, dateRange, isComparison, rowLimi
975
978
  }
976
979
  }
977
980
  });
981
+ if (pivot.aggregationType === 'max' || pivot.aggregationType === 'min') {
982
+ for (const [key, value] of Object.entries(row)) {
983
+ if (value === '-Infinity' || value === 'Infinity') {
984
+ row[key] = null;
985
+ }
986
+ }
987
+ }
978
988
  pivotRows.push(row);
979
989
  });
980
990
  const columns = [
@@ -0,0 +1,11 @@
1
+ export interface Column {
2
+ field: string;
3
+ label: string;
4
+ format: string;
5
+ }
6
+ export interface ColumnInternal extends Column {
7
+ fieldType: string;
8
+ dataTypeID: number;
9
+ jsType: string;
10
+ }
11
+ //# sourceMappingURL=Columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Columns.d.ts","sourceRoot":"","sources":["../../../src/models/Columns.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,11 +1,3 @@
1
- export interface Column {
2
- label: string;
3
- field: string;
4
- name: string;
5
- displayName: string;
6
- fieldType: string;
7
- format: string;
8
- }
9
1
  export interface Table {
10
2
  }
11
3
  export interface YAxisField {
@@ -1 +1 @@
1
- {"version":3,"file":"Tables.d.ts","sourceRoot":"","sources":["../../../src/models/Tables.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;CAAG;AAEzB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"Tables.d.ts","sourceRoot":"","sources":["../../../src/models/Tables.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;CAAG;AAEzB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ import { Column } from '../models/Columns';
2
+ export declare function processStarColumn(ast: any, columns: Column[]): any;
3
+ //# sourceMappingURL=astProcessing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D"}
@@ -0,0 +1,16 @@
1
+ export function processStarColumn(ast, columns) {
2
+ if (ast.columns === '*') {
3
+ ast.columns = columns.map((column) => {
4
+ return {
5
+ type: 'expr',
6
+ expr: {
7
+ type: 'column_ref',
8
+ table: null,
9
+ column: column.field,
10
+ },
11
+ as: null,
12
+ };
13
+ });
14
+ }
15
+ return ast;
16
+ }
@@ -0,0 +1,9 @@
1
+ import { ColumnInfo } from '../components/ReportBuilder/schema';
2
+ import { Column, ColumnInternal } from '../models/Columns';
3
+ export declare function convertPostgresColumn(field: {
4
+ name: string;
5
+ dataTypeID: number;
6
+ }): ColumnInternal;
7
+ export declare function convertColumnInfoToColumnInternal(columnInfo: ColumnInfo): ColumnInternal;
8
+ export declare function convertFormatToJsType(column: Column): string;
9
+ //# sourceMappingURL=columnProcessing.d.ts.map
@@ -0,0 +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;AAiFD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY5D"}
@@ -0,0 +1,201 @@
1
+ export function convertPostgresColumn(field) {
2
+ let format;
3
+ let fieldType;
4
+ let jsType;
5
+ switch (field.dataTypeID) {
6
+ case 16: // bool
7
+ format = 'string';
8
+ break;
9
+ case 20: // int8
10
+ case 21: // int2
11
+ case 23: // int4
12
+ format = 'whole_number';
13
+ break;
14
+ case 700: // float4
15
+ case 701: // float8
16
+ case 1700: // numeric
17
+ format = 'two_decimal_places';
18
+ break;
19
+ case 1082: // date
20
+ case 1083: // time
21
+ case 1184: // timestamptz
22
+ case 1114: // timestamp
23
+ format = 'MMM_dd_yyyy';
24
+ break;
25
+ case 1186: // interval
26
+ case 1043: // varchar
27
+ default:
28
+ format = 'string';
29
+ }
30
+ switch (field.dataTypeID) {
31
+ case 16: // boolean
32
+ fieldType = 'bool';
33
+ break;
34
+ case 20: // int8
35
+ fieldType = 'int8';
36
+ break;
37
+ case 21: // int2
38
+ fieldType = 'int2';
39
+ break;
40
+ case 23: // int4
41
+ fieldType = 'int4';
42
+ break;
43
+ case 700: // float4
44
+ fieldType = 'float4';
45
+ break;
46
+ case 701: // float8
47
+ fieldType = 'float8';
48
+ break;
49
+ case 1700: // numeric
50
+ fieldType = 'numeric';
51
+ break;
52
+ case 1082: // date
53
+ fieldType = 'date';
54
+ break;
55
+ case 1083: // time
56
+ fieldType = 'time';
57
+ break;
58
+ case 1184: // timestamptz
59
+ fieldType = 'timestamptz';
60
+ break;
61
+ case 1186: // interval
62
+ fieldType = 'interval';
63
+ break;
64
+ case 1114: // timestamp
65
+ fieldType = 'timestamp';
66
+ break;
67
+ case 1043: // varchar
68
+ default:
69
+ fieldType = 'varchar';
70
+ }
71
+ switch (field.dataTypeID) {
72
+ case 16: // boolean
73
+ jsType = 'bool';
74
+ break;
75
+ case 20: // int8
76
+ case 21: // int2
77
+ case 23: // int4
78
+ case 700: // float4
79
+ case 701: // float8
80
+ case 1700: // numeric
81
+ jsType = 'number';
82
+ break;
83
+ case 1082: // date
84
+ case 1083: // time
85
+ case 1184: // timestamptz
86
+ case 1186: // interval
87
+ case 1114: // timestamp
88
+ jsType = 'date';
89
+ break;
90
+ case 1043: // varchar
91
+ default:
92
+ jsType = 'string';
93
+ }
94
+ return {
95
+ label: field.name,
96
+ field: field.name,
97
+ format,
98
+ fieldType,
99
+ dataTypeID: field.dataTypeID,
100
+ jsType: jsType,
101
+ };
102
+ }
103
+ export function convertColumnInfoToColumnInternal(columnInfo) {
104
+ return {
105
+ label: columnInfo.name,
106
+ field: columnInfo.name,
107
+ format: fieldTypeToFormat(columnInfo.fieldType),
108
+ fieldType: columnInfo.fieldType,
109
+ dataTypeID: fieldTypeToDataTypeID(columnInfo.fieldType),
110
+ jsType: convertFieldTypeToJSType(columnInfo.fieldType),
111
+ };
112
+ }
113
+ function fieldTypeToFormat(fieldType) {
114
+ switch (fieldType) {
115
+ case 'bool':
116
+ return 'string';
117
+ case 'int8':
118
+ case 'int2':
119
+ case 'int4':
120
+ return 'whole_number';
121
+ case 'float4':
122
+ case 'float8':
123
+ case 'numeric':
124
+ return 'two_decimal_places';
125
+ case 'date':
126
+ case 'time':
127
+ case 'timestamptz':
128
+ case 'timestamp':
129
+ return 'MMM_dd_yyyy';
130
+ case 'interval':
131
+ case 'varchar':
132
+ default:
133
+ return 'string';
134
+ }
135
+ }
136
+ function fieldTypeToDataTypeID(fieldType) {
137
+ switch (fieldType) {
138
+ case 'bool':
139
+ return 16;
140
+ case 'int8':
141
+ return 20;
142
+ case 'int2':
143
+ return 21;
144
+ case 'int4':
145
+ return 23;
146
+ case 'float4':
147
+ return 700;
148
+ case 'float8':
149
+ return 701;
150
+ case 'numeric':
151
+ return 1700;
152
+ case 'date':
153
+ return 1082;
154
+ case 'time':
155
+ return 1083;
156
+ case 'timestamptz':
157
+ return 1184;
158
+ case 'timestamp':
159
+ return 1114;
160
+ case 'interval':
161
+ return 1186;
162
+ case 'varchar':
163
+ default:
164
+ return 1043;
165
+ }
166
+ }
167
+ function convertFieldTypeToJSType(fieldType) {
168
+ switch (fieldType) {
169
+ case 'bool':
170
+ return 'bool';
171
+ case 'int8':
172
+ case 'int2':
173
+ case 'int4':
174
+ case 'float4':
175
+ case 'float8':
176
+ case 'numeric':
177
+ return 'number';
178
+ case 'date':
179
+ case 'time':
180
+ case 'timestamptz':
181
+ case 'timestamp':
182
+ return 'date';
183
+ case 'interval':
184
+ case 'varchar':
185
+ default:
186
+ return 'string';
187
+ }
188
+ }
189
+ export function convertFormatToJsType(column) {
190
+ switch (column.format) {
191
+ case 'string':
192
+ return 'string';
193
+ case 'whole_number':
194
+ case 'two_decimal_places':
195
+ return 'number';
196
+ case 'MMM_dd_yyyy':
197
+ return 'date';
198
+ default:
199
+ return 'string';
200
+ }
201
+ }
@@ -117,15 +117,15 @@ function getPivotTable(itemInfo, dashboardFilters, config = undefined) {
117
117
  const data = itemInfo ? itemInfo : config;
118
118
  return pivot && data?.rows
119
119
  ? generatePivotTable(pivot, JSON.parse(JSON.stringify(data.rows)), // deep copy
120
- dateFilter?.startDate
121
- ? [dateFilter?.startDate, dateFilter?.endDate, null]
122
- : [null, null, null], Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate
123
- ? [
124
- dateFilter?.comparisonRange.startDate,
125
- dateFilter?.comparisonRange.endDate,
126
- null,
127
- ]
128
- : [null, null, null])
120
+ dateFilter?.startDate && dateFilter?.endDate
121
+ ? { start: dateFilter.startDate, end: dateFilter.endDate }
122
+ : undefined, Boolean(dateFilter?.comparisonRange?.startDate), -1, dateFilter?.comparisonRange?.startDate &&
123
+ dateFilter?.comparisonRange?.endDate
124
+ ? {
125
+ start: dateFilter.comparisonRange.startDate,
126
+ end: dateFilter.comparisonRange.endDate,
127
+ }
128
+ : undefined)
129
129
  : null;
130
130
  }
131
131
  /**
@@ -1,11 +1,12 @@
1
1
  import { Pivot } from '../internals/ReportBuilder/PivotModal';
2
+ import { Column } from '../models/Columns';
2
3
  export declare function pivotToSql(pivot: Pivot, query: string, client: any): {
3
4
  query: string;
4
5
  preQueries?: string[];
5
6
  runQueryConfig?: any;
6
7
  } | undefined;
7
8
  export declare function isValidPivot(pivot: Pivot): boolean;
8
- export declare function getPossiblePivotFieldOptions(columns: any, uniqueValues: {
9
+ export declare function getPossiblePivotFieldOptions(columns: Column[], uniqueValues: {
9
10
  [field: string]: any;
10
11
  }): {
11
12
  rowFields: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAG9D,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,GAAG,GACV;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,SAAS,CAgD5E;AAmDD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,WAgBxC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,GAAG,EACZ,YAAY,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;;;;EA8CvC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAqCP"}
1
+ {"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAkB,MAAM,mBAAmB,CAAC;AAG3D,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,GAAG,GACV;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,GAAG,CAAA;CAAE,GAAG,SAAS,CAgD5E;AAmDD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,WAgBxC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;;;;EAsCvC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAqCP"}
@@ -1,6 +1,5 @@
1
- import { dateFormatOptions, numberFormatOptions } from '../ChartBuilder';
2
- import { isNumericColumnType } from '../components/ReportBuilder/ast';
3
1
  import { isIdColumn } from '../components/ReportBuilder/util';
2
+ import { DATE_FORMAT_TYPES, NUMBER_FORMAT_TYPES } from './valueFormatter';
4
3
  export function pivotToSql(pivot, query, client) {
5
4
  const processedAggType = pivot.aggregationType?.toLowerCase() === 'average'
6
5
  ? 'avg'
@@ -105,9 +104,7 @@ export function getPossiblePivotFieldOptions(columns, uniqueValues) {
105
104
  let valueFields = [];
106
105
  for (let column of columns) {
107
106
  // row fields can be dates or strings
108
- if (column.format === 'date' ||
109
- column.fieldType === 'date' ||
110
- dateFormatOptions.includes(column.format)) {
107
+ if (DATE_FORMAT_TYPES.includes(column.format)) {
111
108
  rowFields.push(column.field);
112
109
  }
113
110
  // column fields can be strings
@@ -124,9 +121,7 @@ export function getPossiblePivotFieldOptions(columns, uniqueValues) {
124
121
  }
125
122
  }
126
123
  // value fields can be numbers
127
- if (column.format === 'whole_number' ||
128
- numberFormatOptions.includes(column.format) ||
129
- isNumericColumnType(column.fieldType)) {
124
+ if (NUMBER_FORMAT_TYPES.includes(column.format)) {
130
125
  if (!isIdColumn(column.field)) {
131
126
  valueFields.push(column.field);
132
127
  }
@@ -1,5 +1,5 @@
1
- import { ColumnInfo } from '../components/ReportBuilder/schema';
2
- export declare const getUniqueValuesByColumns: (columns: ColumnInfo[], query: string, rows: any, client: any) => Promise<{
1
+ import { Column } from '../models/Columns';
2
+ export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: any) => Promise<{
3
3
  [column: string]: {
4
4
  [value: string]: boolean;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAa,MAAM,oCAAoC,CAAC;AAI3E,eAAO,MAAM,wBAAwB,YAC1B,UAAU,EAAE,SACd,MAAM,QACP,GAAG,UACD,GAAG;;;;SA2DZ,CAAC"}
1
+ {"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,eAAO,MAAM,wBAAwB,YAC1B,MAAM,EAAE,SACV,MAAM,QACP,GAAG,UACD,GAAG;;;;SAwDZ,CAAC"}
@@ -1,9 +1,7 @@
1
1
  import { getData } from './dataFetcher';
2
2
  import { generateDistinctQuery } from './queryConstructor';
3
3
  export const getUniqueValuesByColumns = async (columns, query, rows, client) => {
4
- const stringNames = columns.map(
5
- // @ts-ignore
6
- (column) => column.name || column.field);
4
+ const stringNames = columns.map((column) => column.field);
7
5
  const uniqueValues = {};
8
6
  if (!client.databaseType ||
9
7
  client.databaseType.toLowerCase() === 'bigquery') {