@quillsql/react 2.12.39 → 2.12.41
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.js +1 -1
- package/dist/cjs/ChartBuilder.d.ts +1 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +6 -6
- package/dist/cjs/Dashboard.d.ts +35 -3
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +72 -74
- package/dist/cjs/ReportBuilder.d.ts +1 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +111 -1588
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +0 -9
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +1 -11
- package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +1 -0
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +12 -0
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +69 -0
- package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
- package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +4 -0
- package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/TemplateChartComponent.js +23 -0
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +23 -0
- package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +15 -0
- package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/TemplateTableComponent.js +23 -0
- package/dist/cjs/components/Dashboard/util.d.ts +6 -0
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/util.js +85 -0
- package/dist/cjs/components/ReportBuilder/FilterModal.js +32 -32
- package/dist/cjs/components/ReportBuilder/convert.d.ts +5 -31
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +1 -1
- package/dist/cjs/components/UiComponents.d.ts +1 -23
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +67 -25
- package/dist/cjs/hooks/useAskQuill.d.ts +27 -0
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -0
- package/dist/cjs/hooks/useAskQuill.js +177 -0
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +7 -5
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -3
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -15
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +24 -24
- package/dist/cjs/models/Filter.d.ts +25 -19
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +2 -2
- package/dist/cjs/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
- package/dist/cjs/models/Pivot.d.ts.map +1 -0
- package/dist/cjs/models/Report.d.ts +5 -1
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Tables.d.ts +16 -0
- package/dist/cjs/models/Tables.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +27 -27
- package/dist/cjs/utils/astProcessing.d.ts +42 -0
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +210 -1
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +2 -0
- package/dist/cjs/utils/dataFetcher.d.ts +4 -0
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +24 -1
- package/dist/cjs/utils/dates.d.ts +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts +2 -2
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +6 -6
- package/dist/cjs/utils/pivotConstructor.d.ts +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +7 -4
- package/dist/cjs/utils/pivotProcessing.d.ts +4 -4
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +21 -2
- package/dist/cjs/utils/queryConstructor.d.ts +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +3 -3
- package/dist/cjs/utils/report.d.ts +25 -0
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +114 -2
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/tableProcessing.d.ts +18 -0
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +94 -1
- package/dist/esm/Chart.js +1 -1
- package/dist/esm/ChartBuilder.d.ts +1 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +6 -6
- package/dist/esm/Dashboard.d.ts +35 -3
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +73 -75
- package/dist/esm/ReportBuilder.d.ts +1 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +121 -1598
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +0 -9
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +1 -11
- package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +1 -0
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +12 -0
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardTemplate.js +63 -0
- package/dist/esm/components/Dashboard/DataLoader.js +1 -1
- package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TemplateChartComponent.js +17 -0
- package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TemplateMetricComponent.js +17 -0
- package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +15 -0
- package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TemplateTableComponent.js +17 -0
- package/dist/esm/components/Dashboard/util.d.ts +6 -0
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/util.js +80 -0
- package/dist/esm/components/ReportBuilder/FilterModal.js +32 -32
- package/dist/esm/components/ReportBuilder/convert.d.ts +5 -31
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +1 -1
- package/dist/esm/components/UiComponents.d.ts +1 -23
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +65 -23
- package/dist/esm/hooks/useAskQuill.d.ts +27 -0
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -0
- package/dist/esm/hooks/useAskQuill.js +173 -0
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +7 -5
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -3
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -15
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +24 -24
- package/dist/esm/models/Filter.d.ts +25 -19
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +2 -2
- package/dist/esm/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
- package/dist/esm/models/Pivot.d.ts.map +1 -0
- package/dist/esm/models/Report.d.ts +5 -1
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Tables.d.ts +16 -0
- package/dist/esm/models/Tables.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +27 -27
- package/dist/esm/utils/astProcessing.d.ts +42 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +204 -0
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +2 -0
- package/dist/esm/utils/dataFetcher.d.ts +4 -0
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +22 -0
- package/dist/esm/utils/dates.d.ts +1 -1
- package/dist/esm/utils/filterProcessing.d.ts +2 -2
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +7 -7
- package/dist/esm/utils/pivotConstructor.d.ts +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +7 -4
- package/dist/esm/utils/pivotProcessing.d.ts +4 -4
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +19 -1
- package/dist/esm/utils/queryConstructor.d.ts +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +3 -3
- package/dist/esm/utils/report.d.ts +25 -0
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +114 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/tableProcessing.d.ts +18 -0
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +91 -1
- package/package.json +1 -1
- package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +0 -1
- package/dist/cjs/models/Pivots.d.ts +0 -2
- package/dist/cjs/models/Pivots.d.ts.map +0 -1
- package/dist/cjs/models/Pivots.js +0 -2
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +0 -1
- package/dist/esm/models/Pivots.d.ts +0 -2
- package/dist/esm/models/Pivots.d.ts.map +0 -1
- package/dist/esm/models/Pivots.js +0 -1
- /package/dist/cjs/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
- /package/dist/esm/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
|
@@ -207,7 +207,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
|
|
|
207
207
|
setIsOpen(false);
|
|
208
208
|
};
|
|
209
209
|
const onSelectCreatedPivot = (pivot) => {
|
|
210
|
-
selectPivot(pivot, pivot.columnField ? uniqueValues : undefined, dateRanges[pivot.rowField]?.dateRange, samplePivotTable);
|
|
210
|
+
selectPivot(pivot, pivot.columnField ? uniqueValues : undefined, dateRanges[pivot.rowField || '']?.dateRange, samplePivotTable);
|
|
211
211
|
setSelectedPivotType('created');
|
|
212
212
|
setIsOpen(false);
|
|
213
213
|
setPopUpTitle('Add pivot');
|
|
@@ -286,7 +286,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
|
|
|
286
286
|
}
|
|
287
287
|
return {
|
|
288
288
|
...pivot,
|
|
289
|
-
rowFieldType: columnsToShow[pivot.rowField],
|
|
289
|
+
rowFieldType: columnsToShow[pivot.rowField || ''],
|
|
290
290
|
columnFieldType: pivot.columnField
|
|
291
291
|
? columnsToShow[pivot.columnField]
|
|
292
292
|
: undefined,
|
|
@@ -813,7 +813,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
813
813
|
// Handle edge-case for BigQuery objects.
|
|
814
814
|
data = fixBigQueryData(data);
|
|
815
815
|
if (!dateRange) {
|
|
816
|
-
if (isDateField(pivot.rowFieldType)) {
|
|
816
|
+
if (isDateField(pivot.rowFieldType || '')) {
|
|
817
817
|
dateRange = getDateRange(dateRange, pivot.rowField, data);
|
|
818
818
|
}
|
|
819
819
|
}
|
|
@@ -823,9 +823,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
823
823
|
compRange = undefined;
|
|
824
824
|
}
|
|
825
825
|
const pivotRows = [];
|
|
826
|
-
const uniqueRows = (isDateField(pivot.rowFieldType)
|
|
826
|
+
const uniqueRows = (isDateField(pivot.rowFieldType || '')
|
|
827
827
|
? getDateBuckets(dateRange, pivot.rowField, data, dateBucket)
|
|
828
|
-
: [...new Set(data.map((item) => item[pivot.rowField]))]).filter((row) => Boolean(row));
|
|
828
|
+
: [...new Set(data.map((item) => item[pivot.rowField || '']))]).filter((row) => Boolean(row));
|
|
829
829
|
const rowDateRange = getDateRange(dateRange, pivot.rowField, data);
|
|
830
830
|
const compRowDateRange = getDateRange(compRange ?? dateRange, pivot.rowField, data);
|
|
831
831
|
// If columnField is not provided, we will not be using uniqueColumns
|
|
@@ -845,7 +845,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
845
845
|
const col = pivot.columnField;
|
|
846
846
|
const row = pivot.rowField;
|
|
847
847
|
const isDateCol = isDateField(pivot.columnFieldType || '');
|
|
848
|
-
const isDateRow = isDateField(pivot.rowFieldType);
|
|
848
|
+
const isDateRow = isDateField(pivot.rowFieldType || '');
|
|
849
849
|
data.forEach((item) => {
|
|
850
850
|
if (isDateCol) {
|
|
851
851
|
const key = getDateString(item[col], dateRange);
|
|
@@ -865,9 +865,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
865
865
|
uniqueColumns.push(`comparison_${primaryKey}`);
|
|
866
866
|
}
|
|
867
867
|
}
|
|
868
|
-
compUniqueRows = (isDateField(pivot.rowFieldType)
|
|
868
|
+
compUniqueRows = (isDateField(pivot.rowFieldType || '')
|
|
869
869
|
? getCompDateBuckets(dateRange, compRange ?? dateRange, pivot.rowField, data)
|
|
870
|
-
: [...new Set(data.map((item) => item[pivot.rowField]))]).filter((row) => Boolean(row));
|
|
870
|
+
: [...new Set(data.map((item) => item[pivot.rowField || '']))]).filter((row) => Boolean(row));
|
|
871
871
|
}
|
|
872
872
|
// Special corner case for count with only rowField pivot
|
|
873
873
|
if (!pivot.valueField &&
|
|
@@ -883,7 +883,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
883
883
|
: uniqueRows;
|
|
884
884
|
rowsToGenerate.forEach((rowValue, rowIndex) => {
|
|
885
885
|
const row = {
|
|
886
|
-
[pivot.rowField]: isDateField(pivot.rowFieldType)
|
|
886
|
+
[pivot.rowField || '']: isDateField(pivot.rowFieldType || '')
|
|
887
887
|
? getDateString(rowValue, dateRange, dateBucket)
|
|
888
888
|
: rowValue === null
|
|
889
889
|
? 'Null'
|
|
@@ -898,12 +898,12 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
898
898
|
let filteredData = [];
|
|
899
899
|
let comparisonValue;
|
|
900
900
|
let value;
|
|
901
|
-
const nextRowValue = isDateField(pivot.rowFieldType)
|
|
901
|
+
const nextRowValue = isDateField(pivot.rowFieldType || '')
|
|
902
902
|
? // @ts-ignore
|
|
903
903
|
uniqueRows[rowIndex + 1] ?? (0, date_fns_1.endOfDay)(rowDateRange.end)
|
|
904
904
|
: null;
|
|
905
905
|
const compRowValue = compUniqueRows[rowIndex];
|
|
906
|
-
const compNextRowValue = isDateField(pivot.rowFieldType)
|
|
906
|
+
const compNextRowValue = isDateField(pivot.rowFieldType || '')
|
|
907
907
|
? compUniqueRows[rowIndex + 1] ?? (0, date_fns_1.endOfDay)(compRowDateRange.end)
|
|
908
908
|
: null;
|
|
909
909
|
if (pivot.columnField) {
|
|
@@ -913,9 +913,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
913
913
|
: null;
|
|
914
914
|
// If columnField is provided, filter by both rowField and columnField
|
|
915
915
|
if (isDateField(pivot.columnFieldType || '') &&
|
|
916
|
-
isDateField(pivot.rowFieldType)) {
|
|
916
|
+
isDateField(pivot.rowFieldType || '')) {
|
|
917
917
|
filteredData = data.filter((item) => {
|
|
918
|
-
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
|
|
918
|
+
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
|
|
919
919
|
start: rowValue,
|
|
920
920
|
end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
|
|
921
921
|
}) &&
|
|
@@ -926,7 +926,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
926
926
|
});
|
|
927
927
|
if (isComparison) {
|
|
928
928
|
comparisonFilteredData = data.filter((item) => {
|
|
929
|
-
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
|
|
929
|
+
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
|
|
930
930
|
start: rowValue,
|
|
931
931
|
end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
|
|
932
932
|
}) &&
|
|
@@ -938,9 +938,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
938
938
|
}
|
|
939
939
|
}
|
|
940
940
|
else if (isDateField(pivot.columnFieldType || '') &&
|
|
941
|
-
!isDateField(pivot.rowFieldType)) {
|
|
941
|
+
!isDateField(pivot.rowFieldType || '')) {
|
|
942
942
|
filteredData = data.filter((item) => {
|
|
943
|
-
return (item[pivot.rowField] === rowValue &&
|
|
943
|
+
return (item[pivot.rowField || ''] === rowValue &&
|
|
944
944
|
(0, date_fns_1.isWithinInterval)(new Date(item[pivot.columnField]), {
|
|
945
945
|
start: colValue,
|
|
946
946
|
end: (0, date_fns_1.subMilliseconds)(nextColumnValue, 1),
|
|
@@ -957,16 +957,16 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
957
957
|
}
|
|
958
958
|
}
|
|
959
959
|
else if (!isDateField(pivot.columnFieldType || '') &&
|
|
960
|
-
isDateField(pivot.rowFieldType)) {
|
|
960
|
+
isDateField(pivot.rowFieldType || '')) {
|
|
961
961
|
filteredData = data.filter((item) => {
|
|
962
|
-
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
|
|
962
|
+
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
|
|
963
963
|
start: rowValue,
|
|
964
964
|
end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
|
|
965
965
|
}) && item[pivot.columnField || ''] === colValue);
|
|
966
966
|
});
|
|
967
967
|
if (isComparison) {
|
|
968
968
|
comparisonFilteredData = data.filter((item) => {
|
|
969
|
-
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
|
|
969
|
+
return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
|
|
970
970
|
start: rowValue,
|
|
971
971
|
end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
|
|
972
972
|
}) &&
|
|
@@ -976,7 +976,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
976
976
|
}
|
|
977
977
|
else {
|
|
978
978
|
filteredData = data.filter((item) => {
|
|
979
|
-
return (item[pivot.rowField] === rowValue &&
|
|
979
|
+
return (item[pivot.rowField || ''] === rowValue &&
|
|
980
980
|
item[pivot.columnField || ''] === colValue);
|
|
981
981
|
});
|
|
982
982
|
if (isComparison) {
|
|
@@ -992,7 +992,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
992
992
|
// so there is no need to filter for comparisonFilteredData here.
|
|
993
993
|
// If columnField is not provided, filter by rowField only
|
|
994
994
|
if (colValue.startsWith('comparison_')) {
|
|
995
|
-
filteredData = isDateField(pivot.rowFieldType)
|
|
995
|
+
filteredData = isDateField(pivot.rowFieldType || '')
|
|
996
996
|
? data.filter((item) => {
|
|
997
997
|
return (compRowValue &&
|
|
998
998
|
(0, date_fns_1.isWithinInterval)(new Date(item[`comparison_${pivot.rowField}`]), {
|
|
@@ -1003,14 +1003,14 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
|
|
|
1003
1003
|
: data.filter((item) => item[`comparison_${pivot.rowField}`] === compRowValue);
|
|
1004
1004
|
}
|
|
1005
1005
|
else {
|
|
1006
|
-
filteredData = isDateField(pivot.rowFieldType)
|
|
1006
|
+
filteredData = isDateField(pivot.rowFieldType || '')
|
|
1007
1007
|
? data.filter((item) => {
|
|
1008
|
-
return (0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
|
|
1008
|
+
return (0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
|
|
1009
1009
|
start: rowValue,
|
|
1010
1010
|
end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
|
|
1011
1011
|
});
|
|
1012
1012
|
})
|
|
1013
|
-
: data.filter((item) => item[pivot.rowField] === rowValue);
|
|
1013
|
+
: data.filter((item) => item[pivot.rowField || ''] === rowValue);
|
|
1014
1014
|
}
|
|
1015
1015
|
}
|
|
1016
1016
|
// Aggregation logic remains the same
|
|
@@ -43,7 +43,7 @@ export declare enum TimeUnit {
|
|
|
43
43
|
}
|
|
44
44
|
export declare enum FieldTypes {
|
|
45
45
|
String = "string",
|
|
46
|
-
|
|
46
|
+
Number = "number",
|
|
47
47
|
Date = "date",
|
|
48
48
|
Null = "null",
|
|
49
49
|
Boolean = "boolean"
|
|
@@ -61,58 +61,64 @@ export declare enum FilterNames {
|
|
|
61
61
|
export type Operator = StringOperator | DateOperator | NumberOperator | NullOperator | BoolOperator;
|
|
62
62
|
export type Unit = TimeUnit;
|
|
63
63
|
export interface BaseFilter {
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
filterType: FilterNames;
|
|
65
|
+
fieldType: FieldTypes;
|
|
66
66
|
operator: Operator;
|
|
67
67
|
field: string;
|
|
68
68
|
value: any;
|
|
69
69
|
table?: string;
|
|
70
70
|
}
|
|
71
71
|
export interface StringFilter extends BaseFilter {
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
filterType: FilterNames.StringFilter;
|
|
73
|
+
fieldType: FieldTypes.String | FieldTypes.Null;
|
|
74
74
|
value: string;
|
|
75
75
|
}
|
|
76
76
|
export interface StringInFilter extends BaseFilter {
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
filterType: FilterNames.StringInFilter;
|
|
78
|
+
fieldType: FieldTypes.String;
|
|
79
79
|
value: string[];
|
|
80
80
|
}
|
|
81
81
|
export interface NumericFilter extends BaseFilter {
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
filterType: FilterNames.NumericFilter;
|
|
83
|
+
fieldType: FieldTypes.Number | FieldTypes.Null;
|
|
84
84
|
value: number;
|
|
85
85
|
}
|
|
86
86
|
export interface DateFilter extends BaseFilter {
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
filterType: FilterNames.DateFilter;
|
|
88
|
+
fieldType: FieldTypes.Date;
|
|
89
89
|
value: {
|
|
90
90
|
value: number;
|
|
91
91
|
unit: string;
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
export interface DateCustomFilter extends BaseFilter {
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
filterType: FilterNames.DateCustomFilter;
|
|
96
|
+
fieldType: FieldTypes.Date;
|
|
97
97
|
value: {
|
|
98
98
|
startDate: string;
|
|
99
99
|
endDate: string;
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
102
|
export interface DateComparisonFilter extends BaseFilter {
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
filterType: FilterNames.DateComparisonFilter;
|
|
104
|
+
fieldType: FieldTypes.Date;
|
|
105
105
|
value: string;
|
|
106
106
|
}
|
|
107
107
|
export interface BooleanFilter extends BaseFilter {
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
filterType: FilterNames.BooleanFilter;
|
|
109
|
+
fieldType: FieldTypes.Boolean;
|
|
110
110
|
value: boolean;
|
|
111
111
|
}
|
|
112
112
|
export interface NullFilter extends BaseFilter {
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
filterType: FilterNames.NullFilter;
|
|
114
|
+
fieldType: FieldTypes.Null;
|
|
115
115
|
value: null;
|
|
116
116
|
}
|
|
117
117
|
export type Filter = BaseFilter | StringFilter | StringInFilter | NumericFilter | DateFilter | DateCustomFilter | DateComparisonFilter | BooleanFilter | NullFilter;
|
|
118
|
+
export type FilterInfo = {
|
|
119
|
+
filter?: Filter;
|
|
120
|
+
conditional?: string;
|
|
121
|
+
};
|
|
122
|
+
export type BooleanOperator = 'AND' | 'OR';
|
|
123
|
+
export type Filters = [Filter] | [Filter, BooleanOperator, ...Array<[Filter, BooleanOperator]>, Filter];
|
|
118
124
|
//# sourceMappingURL=Filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/models/Filter.ts"],"names":[],"mappings":"AAmCA,oBAAY,cAAc;IACxB,SAAS,eAAa;IACtB,YAAY,mBAAiB;IAC7B,QAAQ,aAAW;IACnB,EAAE,OAAK;IACP,KAAK,WAAS;CACf;AAED,oBAAY,YAAY;IACtB,MAAM,WAAS;IACf,SAAS,gBAAc;IACvB,aAAa,oBAAkB;IAC/B,YAAY,mBAAiB;IAC7B,OAAO,aAAW;IAClB,UAAU,iBAAe;IACzB,WAAW,iBAAe;IAC1B,QAAQ,cAAY;IACpB,oBAAoB,6BAA2B;IAC/C,iBAAiB,0BAAwB;CAC1C;AAED,oBAAY,cAAc;IACxB,OAAO,aAAW;IAClB,UAAU,iBAAe;IACzB,WAAW,iBAAe;IAC1B,QAAQ,cAAY;IACpB,oBAAoB,6BAA2B;IAC/C,iBAAiB,0BAAwB;CAC1C;AAED,oBAAY,YAAY;IACtB,SAAS,gBAAc;IACvB,MAAM,YAAU;CACjB;AAED,oBAAY,YAAY;IACtB,OAAO,aAAW;IAClB,UAAU,iBAAe;CAC1B;AAED,oBAAY,QAAQ;IAClB,IAAI,SAAO;IACX,OAAO,YAAU;IACjB,KAAK,UAAQ;IACb,IAAI,SAAO;IACX,GAAG,QAAM;IACT,IAAI,SAAO;CACZ;AAED,oBAAY,UAAU;IACpB,MAAM,WAAS;IACf,
|
|
1
|
+
{"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/models/Filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ const MONTH = 'month';
|
|
|
25
25
|
const WEEK = 'week';
|
|
26
26
|
const DAY = 'day';
|
|
27
27
|
const HOUR = 'hour';
|
|
28
|
-
const
|
|
28
|
+
const NUMBER = 'number';
|
|
29
29
|
const STRING = 'string';
|
|
30
30
|
const DATE = 'date';
|
|
31
31
|
const NULL = 'null';
|
|
@@ -83,7 +83,7 @@ var TimeUnit;
|
|
|
83
83
|
var FieldTypes;
|
|
84
84
|
(function (FieldTypes) {
|
|
85
85
|
FieldTypes["String"] = "string";
|
|
86
|
-
FieldTypes["
|
|
86
|
+
FieldTypes["Number"] = "number";
|
|
87
87
|
FieldTypes["Date"] = "date";
|
|
88
88
|
FieldTypes["Null"] = "null";
|
|
89
89
|
FieldTypes["Boolean"] = "boolean";
|
|
@@ -8,9 +8,18 @@ export type Pivot = {
|
|
|
8
8
|
rowField?: string;
|
|
9
9
|
rowFieldType?: string;
|
|
10
10
|
columnField?: string;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
columnFieldType?: string;
|
|
12
|
+
sort?: boolean;
|
|
13
|
+
sortDirection?: 'ASC' | 'DESC';
|
|
13
14
|
sortField?: string;
|
|
14
15
|
sortFieldType?: string;
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
title?: string;
|
|
17
|
+
triggerButtonText?: string;
|
|
18
|
+
};
|
|
19
|
+
export type PivotInfo = {
|
|
20
|
+
pivot: Pivot;
|
|
21
|
+
possibleRowFields: string[];
|
|
22
|
+
possibleColumnFields: string[];
|
|
23
|
+
possibleValueFields: string[];
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=Pivot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pivot.d.ts","sourceRoot":"","sources":["../../../src/models/Pivot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AxisFormat } from '../Dashboard';
|
|
2
|
-
import { Pivot } from '../internals/ReportBuilder/PivotModal';
|
|
3
2
|
import { Column } from './Columns';
|
|
4
3
|
import { Pagination } from './Pagination';
|
|
4
|
+
import { Pivot } from './Pivot';
|
|
5
5
|
/**
|
|
6
6
|
* ## QuillReport
|
|
7
7
|
* Represents an individual item on a dashboard.
|
|
@@ -93,6 +93,10 @@ export interface QuillReportInternal extends QuillReport {
|
|
|
93
93
|
itemQuery?: string[];
|
|
94
94
|
/** An array of tables referenced by the report used */
|
|
95
95
|
referencedTables?: string[];
|
|
96
|
+
/** An mapping of table to the columns referenced in the table. */
|
|
97
|
+
referencedColumns?: {
|
|
98
|
+
[table: string]: string[];
|
|
99
|
+
};
|
|
96
100
|
/** An error message used for internal purposes */
|
|
97
101
|
error?: string;
|
|
98
102
|
/** An admin error message used for internal purposes */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAElC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE;QACX,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC;QAEd,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,4CAA4C;QAC5C,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAGvC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,0BAA0B;IAC1B,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAExC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAElD,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -5,4 +5,20 @@ export interface YAxisField {
|
|
|
5
5
|
label: string;
|
|
6
6
|
format: string;
|
|
7
7
|
}
|
|
8
|
+
export interface UniqueValuesByColumn {
|
|
9
|
+
[column: string]: {
|
|
10
|
+
[value: string]: boolean;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface UniqueValuesByTable {
|
|
14
|
+
[table: string]: UniqueValuesByColumn;
|
|
15
|
+
}
|
|
16
|
+
export interface DateRangesByColumn {
|
|
17
|
+
[column: string]: {
|
|
18
|
+
dateRange: {
|
|
19
|
+
start: Date;
|
|
20
|
+
end: Date;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
8
24
|
//# sourceMappingURL=Tables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
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;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,SAAS,EAAE;YACT,KAAK,EAAE,IAAI,CAAC;YACZ,GAAG,EAAE,IAAI,CAAC;SACX,CAAC;KACH,CAAC;CACH"}
|
|
@@ -63,7 +63,7 @@ const reverseOperatorMap = (operator, fieldType) => {
|
|
|
63
63
|
return (Object.keys(stringOperatorMap).find((key) => stringOperatorMap[key].includes(operator)) ?? null);
|
|
64
64
|
case Filter_1.FieldTypes.Date:
|
|
65
65
|
return (Object.keys(dateOperatorMap).find((key) => dateOperatorMap[key].includes(operator)) ?? null);
|
|
66
|
-
case Filter_1.FieldTypes.
|
|
66
|
+
case Filter_1.FieldTypes.Number:
|
|
67
67
|
return (Object.keys(numberOperatorMap).find((key) => numberOperatorMap[key].includes(operator)) ?? null);
|
|
68
68
|
case Filter_1.FieldTypes.Null:
|
|
69
69
|
return (Object.keys(nullOperatorMap).find((key) => nullOperatorMap[key].includes(operator)) ?? null);
|
|
@@ -119,7 +119,7 @@ function mapOperatorToFilterName(operator, fieldType) {
|
|
|
119
119
|
default:
|
|
120
120
|
return Filter_1.FilterNames.StringFilter;
|
|
121
121
|
}
|
|
122
|
-
case Filter_1.FieldTypes.
|
|
122
|
+
case Filter_1.FieldTypes.Number:
|
|
123
123
|
return Filter_1.FilterNames.NumericFilter;
|
|
124
124
|
case Filter_1.FieldTypes.Null:
|
|
125
125
|
return Filter_1.FilterNames.NullFilter;
|
|
@@ -4296,7 +4296,7 @@ const astToFilter = (ast, db) => {
|
|
|
4296
4296
|
fieldType = Filter_1.FieldTypes.Null;
|
|
4297
4297
|
break;
|
|
4298
4298
|
case 'number':
|
|
4299
|
-
fieldType = Filter_1.FieldTypes.
|
|
4299
|
+
fieldType = Filter_1.FieldTypes.Number;
|
|
4300
4300
|
break;
|
|
4301
4301
|
case 'single_quote_string':
|
|
4302
4302
|
case 'double_quote_string':
|
|
@@ -4414,32 +4414,32 @@ const astToFilter = (ast, db) => {
|
|
|
4414
4414
|
case Filter_1.FilterNames.StringFilter:
|
|
4415
4415
|
return {
|
|
4416
4416
|
field: lowerFunctionToField(field, db).replaceAll('%', ''),
|
|
4417
|
-
|
|
4418
|
-
|
|
4417
|
+
filterType: filterName,
|
|
4418
|
+
fieldType: Filter_1.FieldTypes.String,
|
|
4419
4419
|
operator: mappedOperator,
|
|
4420
4420
|
value: lowerFunctionToField(right, db).replaceAll('%', ''),
|
|
4421
4421
|
};
|
|
4422
4422
|
case Filter_1.FilterNames.StringInFilter:
|
|
4423
4423
|
return {
|
|
4424
4424
|
field: lowerFunctionToField(field, db).replaceAll('%', ''),
|
|
4425
|
-
|
|
4426
|
-
|
|
4425
|
+
filterType: filterName,
|
|
4426
|
+
fieldType: Filter_1.FieldTypes.String,
|
|
4427
4427
|
operator: mappedOperator,
|
|
4428
4428
|
value: right.value.map((v) => lowerFunctionToField(v, db).replaceAll('%', '')),
|
|
4429
4429
|
};
|
|
4430
4430
|
case Filter_1.FilterNames.NumericFilter:
|
|
4431
4431
|
return {
|
|
4432
4432
|
field: field,
|
|
4433
|
-
|
|
4434
|
-
|
|
4433
|
+
filterType: filterName,
|
|
4434
|
+
fieldType: Filter_1.FieldTypes.Number,
|
|
4435
4435
|
operator: mappedOperator,
|
|
4436
4436
|
value: Number(right.value),
|
|
4437
4437
|
};
|
|
4438
4438
|
case Filter_1.FilterNames.NullFilter:
|
|
4439
4439
|
return {
|
|
4440
4440
|
field: field,
|
|
4441
|
-
|
|
4442
|
-
|
|
4441
|
+
filterType: filterName,
|
|
4442
|
+
fieldType: Filter_1.FieldTypes.Null,
|
|
4443
4443
|
operator: mappedOperator,
|
|
4444
4444
|
value: null,
|
|
4445
4445
|
};
|
|
@@ -4452,13 +4452,13 @@ const astToFilter = (ast, db) => {
|
|
|
4452
4452
|
}
|
|
4453
4453
|
return {
|
|
4454
4454
|
field: field,
|
|
4455
|
-
|
|
4456
|
-
|
|
4455
|
+
filterType: filterName,
|
|
4456
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
4457
4457
|
operator: Filter_1.DateOperator.Custom,
|
|
4458
4458
|
value: values,
|
|
4459
4459
|
};
|
|
4460
4460
|
case Filter_1.FilterNames.DateComparisonFilter:
|
|
4461
|
-
const numericDateComparison = reverseOperatorMap(operator, Filter_1.FieldTypes.
|
|
4461
|
+
const numericDateComparison = reverseOperatorMap(operator, Filter_1.FieldTypes.Number);
|
|
4462
4462
|
if (numericDateComparison) {
|
|
4463
4463
|
if (!right.value ||
|
|
4464
4464
|
(typeof right.value !== 'number' && typeof right.value !== 'string')) {
|
|
@@ -4469,16 +4469,16 @@ const astToFilter = (ast, db) => {
|
|
|
4469
4469
|
if (numericDateComparison === Filter_1.NumberOperator.EqualTo) {
|
|
4470
4470
|
return {
|
|
4471
4471
|
field: field,
|
|
4472
|
-
|
|
4473
|
-
|
|
4472
|
+
filterType: Filter_1.FilterNames.DateCustomFilter,
|
|
4473
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
4474
4474
|
operator: Filter_1.DateOperator.Custom,
|
|
4475
4475
|
value: { startDate: right.value, endDate: right.value },
|
|
4476
4476
|
};
|
|
4477
4477
|
}
|
|
4478
4478
|
return {
|
|
4479
4479
|
field: field,
|
|
4480
|
-
|
|
4481
|
-
|
|
4480
|
+
filterType: Filter_1.FilterNames.DateComparisonFilter,
|
|
4481
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
4482
4482
|
operator: numericDateComparison,
|
|
4483
4483
|
value: right.value,
|
|
4484
4484
|
};
|
|
@@ -4492,8 +4492,8 @@ const astToFilter = (ast, db) => {
|
|
|
4492
4492
|
if (!isNaN(value.value)) {
|
|
4493
4493
|
return {
|
|
4494
4494
|
field: field,
|
|
4495
|
-
|
|
4496
|
-
|
|
4495
|
+
filterType: filterName,
|
|
4496
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
4497
4497
|
operator: dateOperator,
|
|
4498
4498
|
value,
|
|
4499
4499
|
};
|
|
@@ -4501,8 +4501,8 @@ const astToFilter = (ast, db) => {
|
|
|
4501
4501
|
else {
|
|
4502
4502
|
return {
|
|
4503
4503
|
field: field,
|
|
4504
|
-
|
|
4505
|
-
|
|
4504
|
+
filterType: Filter_1.FilterNames.DateCustomFilter,
|
|
4505
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
4506
4506
|
operator: Filter_1.DateOperator.Custom,
|
|
4507
4507
|
value: value.value,
|
|
4508
4508
|
};
|
|
@@ -4510,8 +4510,8 @@ const astToFilter = (ast, db) => {
|
|
|
4510
4510
|
case Filter_1.FilterNames.BooleanFilter:
|
|
4511
4511
|
return {
|
|
4512
4512
|
field: field,
|
|
4513
|
-
|
|
4514
|
-
|
|
4513
|
+
filterType: filterName,
|
|
4514
|
+
fieldType: Filter_1.FieldTypes.Boolean,
|
|
4515
4515
|
operator: mappedOperator,
|
|
4516
4516
|
value: Boolean(right.value),
|
|
4517
4517
|
};
|
|
@@ -4559,7 +4559,7 @@ const filterToAst = (filter, db) => {
|
|
|
4559
4559
|
const { field, operator, value } = filter;
|
|
4560
4560
|
const mappedOperator = operatorMap[operator][0];
|
|
4561
4561
|
// Generate SQL AST based on the filter type
|
|
4562
|
-
switch (filter.
|
|
4562
|
+
switch (filter.fieldType) {
|
|
4563
4563
|
case Filter_1.FieldTypes.String:
|
|
4564
4564
|
if (!value) {
|
|
4565
4565
|
return null;
|
|
@@ -4610,7 +4610,7 @@ const filterToAst = (filter, db) => {
|
|
|
4610
4610
|
right: fieldColumnToLowerCaseAst(value, db, false),
|
|
4611
4611
|
};
|
|
4612
4612
|
}
|
|
4613
|
-
case Filter_1.FieldTypes.
|
|
4613
|
+
case Filter_1.FieldTypes.Number:
|
|
4614
4614
|
switch (mappedOperator) {
|
|
4615
4615
|
default:
|
|
4616
4616
|
return {
|
|
@@ -4621,7 +4621,7 @@ const filterToAst = (filter, db) => {
|
|
|
4621
4621
|
};
|
|
4622
4622
|
}
|
|
4623
4623
|
case Filter_1.FieldTypes.Date:
|
|
4624
|
-
switch (filter.
|
|
4624
|
+
switch (filter.filterType) {
|
|
4625
4625
|
case Filter_1.FilterNames.DateCustomFilter:
|
|
4626
4626
|
return {
|
|
4627
4627
|
type: 'binary_expr',
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { ColumnInfo, TableInfo } from '../components/ReportBuilder/schema';
|
|
1
2
|
import { Column } from '../models/Columns';
|
|
3
|
+
import { Pivot } from '../models/Pivot';
|
|
4
|
+
import { QuillReportInternal } from '../models/Report';
|
|
2
5
|
export declare function getSelectFromAST(ast: any): any;
|
|
3
6
|
export declare function processStarColumn(ast: any, columns: Column[]): any;
|
|
4
7
|
export declare function recursiveSearchByKey(node: any, searchKey: string): any;
|
|
@@ -23,4 +26,43 @@ export declare function getColumnAndTableInfo(tableAliasMap: {
|
|
|
23
26
|
export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: any, tableAliasMap: any): {
|
|
24
27
|
[table: string]: string[];
|
|
25
28
|
};
|
|
29
|
+
export declare const isSubquery: (node: any) => boolean;
|
|
30
|
+
export declare const getAllPossibleColumns: (baseAst: any, schema: TableInfo[]) => (ColumnInfo & {
|
|
31
|
+
table: string;
|
|
32
|
+
})[];
|
|
33
|
+
export declare const createBasicSelectASTFromColumns: (columns: ColumnInfo[], tableName: string) => {
|
|
34
|
+
type: string;
|
|
35
|
+
options: null;
|
|
36
|
+
distinct: null;
|
|
37
|
+
columns: {
|
|
38
|
+
expr: {
|
|
39
|
+
type: string;
|
|
40
|
+
table: string;
|
|
41
|
+
column: any;
|
|
42
|
+
};
|
|
43
|
+
as: null;
|
|
44
|
+
}[];
|
|
45
|
+
from: {
|
|
46
|
+
db: null;
|
|
47
|
+
table: string;
|
|
48
|
+
as: null;
|
|
49
|
+
}[];
|
|
50
|
+
where: null;
|
|
51
|
+
groupby: null;
|
|
52
|
+
having: null;
|
|
53
|
+
orderby: null;
|
|
54
|
+
limit: null;
|
|
55
|
+
};
|
|
56
|
+
export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: TableInfo[], client: any, prevPivot?: Pivot, currentQuery?: string) => Promise<{
|
|
57
|
+
ast: any;
|
|
58
|
+
pivot: Pivot | null | undefined;
|
|
59
|
+
whereAST: any;
|
|
60
|
+
error?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
export declare const fetchASTFromQuillReport: (report: QuillReportInternal, client: any, schema: any) => Promise<{
|
|
63
|
+
ast: any;
|
|
64
|
+
pivot: Pivot | undefined | null;
|
|
65
|
+
schema?: TableInfo[] | undefined;
|
|
66
|
+
error?: string | undefined;
|
|
67
|
+
}>;
|
|
26
68
|
//# sourceMappingURL=astProcessing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAK3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,YAWnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,GAAG,UACJ,SAAS,EAAE,KAClB,CAAC,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAmClC,CAAC;AAEF,eAAO,MAAM,+BAA+B,YACjC,UAAU,EAAE,aACV,MAAM;;;;;;;;;;;;;;;;;;;;;;CAsBlB,CAAC;AAEF,eAAO,MAAM,4BAA4B,aAC7B,MAAM,UACR,SAAS,EAAE,UACX,GAAG,cACC,KAAK,iBACF,MAAM;SAEhB,GAAG;WACD,KAAK,GAAG,IAAI,GAAG,SAAS;cACrB,GAAG;;EA6Fd,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,UACnB,GAAG,UACH,GAAG;SAEN,GAAG;WACD,KAAK,GAAG,SAAS,GAAG,IAAI;;;EAmDhC,CAAC"}
|