@quillsql/react 2.13.40 → 2.13.42
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 +5 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +51 -28
- package/dist/cjs/ChartBuilder.d.ts +30 -3
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +483 -182
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +11 -1
- package/dist/cjs/Context.d.ts +16 -4
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +95 -46
- package/dist/cjs/Dashboard.d.ts +6 -3
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +69 -28
- package/dist/cjs/QuillProvider.d.ts +4 -8
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.d.ts +2 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +190 -48
- package/dist/cjs/SQLEditor.d.ts +8 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +94 -10
- package/dist/cjs/Table.d.ts +21 -1
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +30 -192
- package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +4 -3
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
- package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
- package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/GaugeChart.js +198 -0
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +14 -11
- package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +4 -3
- package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/MapChart.js +548 -0
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
- package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +28 -7
- package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +15 -2
- package/dist/cjs/components/UiComponents.d.ts +5 -2
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +34 -7
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +11 -9
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +18 -4
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +16 -3
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useReport.js +1 -7
- package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +5 -2
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +7 -8
- package/dist/cjs/models/Columns.d.ts +1 -0
- package/dist/cjs/models/Columns.d.ts.map +1 -1
- package/dist/cjs/models/Filter.d.ts +20 -13
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +161 -87
- package/dist/cjs/models/Report.d.ts +12 -1
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Schema.d.ts +12 -1
- package/dist/cjs/models/Schema.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +22 -22
- package/dist/cjs/utils/astProcessing.d.ts +2 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +25 -6
- package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/axisFormatter.js +25 -0
- package/dist/cjs/utils/color.d.ts +159 -0
- package/dist/cjs/utils/color.d.ts.map +1 -1
- package/dist/cjs/utils/color.js +14 -5
- package/dist/cjs/utils/columnProcessing.js +3 -3
- 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 +14 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +79 -16
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +3 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +9 -9
- package/dist/cjs/utils/getDomain.d.ts +4 -1
- package/dist/cjs/utils/getDomain.d.ts.map +1 -1
- package/dist/cjs/utils/getDomain.js +11 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +9 -6
- 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 +83 -49
- package/dist/cjs/utils/report.d.ts +23 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +36 -14
- package/dist/cjs/utils/schema.d.ts +28 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +79 -43
- package/dist/cjs/utils/tableProcessing.d.ts +12 -3
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +36 -8
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +0 -1
- package/dist/cjs/utils/valueFormatter.d.ts +1 -0
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +55 -1
- package/dist/esm/Chart.d.ts +5 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +52 -29
- package/dist/esm/ChartBuilder.d.ts +30 -3
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +487 -187
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +11 -1
- package/dist/esm/Context.d.ts +16 -4
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +97 -48
- package/dist/esm/Dashboard.d.ts +6 -3
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +70 -29
- package/dist/esm/QuillProvider.d.ts +4 -8
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.d.ts +2 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +192 -50
- package/dist/esm/SQLEditor.d.ts +8 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +95 -11
- package/dist/esm/Table.d.ts +21 -1
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +34 -196
- package/dist/esm/components/Chart/BarChart.d.ts +5 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +5 -4
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
- package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
- package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/GaugeChart.js +195 -0
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +14 -11
- package/dist/esm/components/Chart/LineChart.d.ts +5 -1
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +5 -4
- package/dist/esm/components/Chart/MapChart.d.ts +36 -0
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/MapChart.js +541 -0
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +114 -42
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.js +5 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +12 -11
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
- package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +26 -7
- package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +15 -2
- package/dist/esm/components/UiComponents.d.ts +5 -2
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +32 -6
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +11 -9
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +19 -5
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +16 -3
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +1 -7
- package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +6 -3
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +7 -8
- package/dist/esm/models/Columns.d.ts +1 -0
- package/dist/esm/models/Columns.d.ts.map +1 -1
- package/dist/esm/models/Filter.d.ts +20 -13
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +160 -86
- package/dist/esm/models/Report.d.ts +12 -1
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Schema.d.ts +12 -1
- package/dist/esm/models/Schema.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +23 -23
- package/dist/esm/utils/astProcessing.d.ts +2 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +25 -6
- package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
- package/dist/esm/utils/axisFormatter.js +25 -0
- package/dist/esm/utils/color.d.ts +159 -0
- package/dist/esm/utils/color.d.ts.map +1 -1
- package/dist/esm/utils/color.js +8 -2
- package/dist/esm/utils/columnProcessing.js +3 -3
- 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 +14 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +80 -17
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +3 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +10 -10
- package/dist/esm/utils/getDomain.d.ts +4 -1
- package/dist/esm/utils/getDomain.d.ts.map +1 -1
- package/dist/esm/utils/getDomain.js +11 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +9 -6
- 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 +83 -49
- package/dist/esm/utils/report.d.ts +23 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +38 -16
- package/dist/esm/utils/schema.d.ts +28 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +78 -43
- package/dist/esm/utils/tableProcessing.d.ts +12 -3
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +36 -8
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +0 -1
- package/dist/esm/utils/valueFormatter.d.ts +1 -0
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +53 -0
- package/package.json +10 -3
|
@@ -85,16 +85,24 @@ export var FieldType;
|
|
|
85
85
|
FieldType["Null"] = "null";
|
|
86
86
|
FieldType["Boolean"] = "boolean";
|
|
87
87
|
})(FieldType || (FieldType = {}));
|
|
88
|
+
export var InternalFilterType;
|
|
89
|
+
(function (InternalFilterType) {
|
|
90
|
+
InternalFilterType["StringFilter"] = "string-filter";
|
|
91
|
+
InternalFilterType["DateFilter"] = "date-filter";
|
|
92
|
+
InternalFilterType["DateCustomFilter"] = "date-custom-filter";
|
|
93
|
+
InternalFilterType["DateComparisonFilter"] = "date-comparison-filter";
|
|
94
|
+
InternalFilterType["NumericFilter"] = "numeric-filter";
|
|
95
|
+
InternalFilterType["NullFilter"] = "null-filter";
|
|
96
|
+
InternalFilterType["StringInFilter"] = "string-in-filter";
|
|
97
|
+
InternalFilterType["BooleanFilter"] = "boolean-filter";
|
|
98
|
+
})(InternalFilterType || (InternalFilterType = {}));
|
|
88
99
|
export var FilterType;
|
|
89
100
|
(function (FilterType) {
|
|
90
|
-
FilterType["
|
|
91
|
-
FilterType["
|
|
92
|
-
FilterType["
|
|
93
|
-
FilterType["
|
|
94
|
-
FilterType["
|
|
95
|
-
FilterType["NullFilter"] = "null-filter";
|
|
96
|
-
FilterType["StringInFilter"] = "string-in-filter";
|
|
97
|
-
FilterType["BooleanFilter"] = "boolean-filter";
|
|
101
|
+
FilterType["String"] = "string";
|
|
102
|
+
FilterType["Date"] = "date";
|
|
103
|
+
FilterType["Numeric"] = "numeric";
|
|
104
|
+
FilterType["Boolean"] = "boolean";
|
|
105
|
+
FilterType["Null"] = "null";
|
|
98
106
|
})(FilterType || (FilterType = {}));
|
|
99
107
|
/** Dashboard filters are filters that persist with the dashboard */
|
|
100
108
|
export var DashboardFilterType;
|
|
@@ -108,43 +116,59 @@ var StringFilterType;
|
|
|
108
116
|
StringFilterType["Multiselect"] = "multiselect";
|
|
109
117
|
})(StringFilterType || (StringFilterType = {}));
|
|
110
118
|
export const convertCustomFilter = (filter) => {
|
|
119
|
+
let field;
|
|
120
|
+
let filterType;
|
|
121
|
+
let fieldType;
|
|
122
|
+
let operator;
|
|
123
|
+
let value;
|
|
124
|
+
let table;
|
|
111
125
|
switch (filter.filterType) {
|
|
112
|
-
case FilterType.
|
|
113
|
-
if (
|
|
114
|
-
throw new Error(
|
|
126
|
+
case FilterType.String:
|
|
127
|
+
if (!filter.field) {
|
|
128
|
+
throw new Error('Field is required for StringFilter');
|
|
115
129
|
}
|
|
116
|
-
if (filter.
|
|
117
|
-
|
|
130
|
+
if (typeof filter.value === 'string') {
|
|
131
|
+
filterType = InternalFilterType.StringFilter;
|
|
132
|
+
fieldType = FieldType.String;
|
|
133
|
+
operator = filter.operator;
|
|
134
|
+
field = filter.field;
|
|
135
|
+
table = filter.table;
|
|
136
|
+
value = filter.value;
|
|
118
137
|
}
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
|
|
138
|
+
else if (Array.isArray(filter.value) &&
|
|
139
|
+
filter.value.every((v) => typeof v === 'string')) {
|
|
140
|
+
filterType = InternalFilterType.StringInFilter;
|
|
141
|
+
fieldType = FieldType.String;
|
|
142
|
+
operator = filter.operator;
|
|
143
|
+
field = filter.field;
|
|
144
|
+
table = filter.table;
|
|
145
|
+
value = filter.value;
|
|
122
146
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
operator: filter.operator,
|
|
126
|
-
fieldType: FieldType.String,
|
|
127
|
-
};
|
|
128
|
-
case FilterType.StringInFilter:
|
|
129
|
-
if (!Array.isArray(filter.value)) {
|
|
130
|
-
throw new Error(`Invalid value for StringInFilter, expected string[], got ${filter.value}`);
|
|
147
|
+
else {
|
|
148
|
+
throw new Error(`Invalid value for StringFilter, expected string, or string array, got ${filter.value}`);
|
|
131
149
|
}
|
|
132
150
|
if (filter.operator === undefined) {
|
|
133
151
|
filter.operator = StringOperator.IsExactly;
|
|
134
152
|
}
|
|
135
153
|
if (!(filter.operator in StringOperator) &&
|
|
136
154
|
!Object.values(StringOperator).includes(filter.operator)) {
|
|
137
|
-
throw new Error(`Invalid operator for
|
|
155
|
+
throw new Error(`Invalid operator for StringFilter, expected StringOperator, got ${filter.operator}`);
|
|
138
156
|
}
|
|
139
157
|
return {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
158
|
+
filterType,
|
|
159
|
+
fieldType,
|
|
160
|
+
field,
|
|
161
|
+
value,
|
|
162
|
+
table,
|
|
163
|
+
operator,
|
|
143
164
|
};
|
|
144
|
-
case FilterType.
|
|
165
|
+
case FilterType.Numeric:
|
|
145
166
|
if (typeof filter.value !== 'number') {
|
|
146
167
|
throw new Error(`Invalid value for NumericFilter, expected number, got ${filter.value}`);
|
|
147
168
|
}
|
|
169
|
+
else if (!filter.field) {
|
|
170
|
+
throw new Error('Field is required for NumericFilter');
|
|
171
|
+
}
|
|
148
172
|
if (filter.operator === undefined) {
|
|
149
173
|
filter.operator = NumberOperator.EqualTo;
|
|
150
174
|
}
|
|
@@ -152,15 +176,27 @@ export const convertCustomFilter = (filter) => {
|
|
|
152
176
|
!Object.values(NumberOperator).includes(filter.operator)) {
|
|
153
177
|
throw new Error(`Invalid operator for NumericFilter, expected NumberOperator, got ${filter.operator}`);
|
|
154
178
|
}
|
|
179
|
+
filterType = InternalFilterType.NumericFilter;
|
|
180
|
+
fieldType = FieldType.Number;
|
|
181
|
+
operator = filter.operator;
|
|
182
|
+
field = filter.field;
|
|
183
|
+
value = filter.value;
|
|
184
|
+
table = filter.table;
|
|
155
185
|
return {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
186
|
+
filterType,
|
|
187
|
+
fieldType,
|
|
188
|
+
field,
|
|
189
|
+
value,
|
|
190
|
+
table,
|
|
191
|
+
operator,
|
|
159
192
|
};
|
|
160
|
-
case FilterType.
|
|
193
|
+
case FilterType.Null:
|
|
161
194
|
if (filter.value !== null) {
|
|
162
195
|
throw new Error(`Invalid value for NullFilter, expected null, got ${filter.value}`);
|
|
163
196
|
}
|
|
197
|
+
else if (!filter.field) {
|
|
198
|
+
throw new Error('Field is required for NullFilter');
|
|
199
|
+
}
|
|
164
200
|
if (filter.operator === undefined) {
|
|
165
201
|
filter.operator = NullOperator.IsNotNull;
|
|
166
202
|
}
|
|
@@ -168,15 +204,27 @@ export const convertCustomFilter = (filter) => {
|
|
|
168
204
|
!Object.values(NullOperator).includes(filter.operator)) {
|
|
169
205
|
throw new Error(`Invalid operator for NullFilter, expected NullOperator, got ${filter.operator}`);
|
|
170
206
|
}
|
|
207
|
+
filterType = InternalFilterType.NullFilter;
|
|
208
|
+
fieldType = FieldType.Null;
|
|
209
|
+
operator = filter.operator;
|
|
210
|
+
field = filter.field;
|
|
211
|
+
value = null;
|
|
212
|
+
table = filter.table;
|
|
171
213
|
return {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
214
|
+
filterType,
|
|
215
|
+
fieldType,
|
|
216
|
+
field,
|
|
217
|
+
value,
|
|
218
|
+
table,
|
|
219
|
+
operator,
|
|
175
220
|
};
|
|
176
|
-
case FilterType.
|
|
221
|
+
case FilterType.Boolean:
|
|
177
222
|
if (typeof filter.value !== 'boolean') {
|
|
178
223
|
throw new Error(`Invalid value for BooleanFilter, expected boolean, got ${filter.value}`);
|
|
179
224
|
}
|
|
225
|
+
else if (!filter.field) {
|
|
226
|
+
throw new Error('Field is required for BooleanFilter');
|
|
227
|
+
}
|
|
180
228
|
if (filter.operator === undefined) {
|
|
181
229
|
filter.operator = BoolOperator.EqualTo;
|
|
182
230
|
}
|
|
@@ -184,62 +232,88 @@ export const convertCustomFilter = (filter) => {
|
|
|
184
232
|
!Object.values(BoolOperator).includes(filter.operator)) {
|
|
185
233
|
throw new Error(`Invalid operator for BooleanFilter, expected BoolOperator, got ${filter.operator}`);
|
|
186
234
|
}
|
|
235
|
+
filterType = InternalFilterType.BooleanFilter;
|
|
236
|
+
fieldType = FieldType.Boolean;
|
|
237
|
+
operator = filter.operator;
|
|
238
|
+
field = filter.field;
|
|
239
|
+
value = null;
|
|
240
|
+
table = filter.table;
|
|
187
241
|
return {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
242
|
+
filterType,
|
|
243
|
+
fieldType,
|
|
244
|
+
field,
|
|
245
|
+
value,
|
|
246
|
+
table,
|
|
247
|
+
operator,
|
|
191
248
|
};
|
|
192
|
-
case FilterType.
|
|
193
|
-
if (typeof filter.value
|
|
194
|
-
filter.value
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
typeof filter.value.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
filter.
|
|
249
|
+
case FilterType.Date:
|
|
250
|
+
if (typeof filter.value === 'object' &&
|
|
251
|
+
filter.value &&
|
|
252
|
+
'value' in filter.value &&
|
|
253
|
+
filter.value.unit) {
|
|
254
|
+
if ((filter.value.value && typeof filter.value.value !== 'number') ||
|
|
255
|
+
typeof filter.value.unit !== 'string') {
|
|
256
|
+
throw new Error(`Invalid value for DateFilter, expected { value: number, unit: string }, got ${filter.value}`);
|
|
257
|
+
}
|
|
258
|
+
if (!filter.value.value) {
|
|
259
|
+
filter.value.value = 1;
|
|
260
|
+
}
|
|
261
|
+
if (filter.operator === undefined) {
|
|
262
|
+
filter.operator = DateOperator.EqualTo;
|
|
263
|
+
}
|
|
264
|
+
if (!(filter.operator in DateOperator) &&
|
|
265
|
+
!Object.values(DateOperator).includes(filter.operator)) {
|
|
266
|
+
throw new Error(`Invalid operator for DateFilter, expected DateOperator, got ${filter.operator}`);
|
|
267
|
+
}
|
|
268
|
+
filterType = InternalFilterType.DateFilter;
|
|
269
|
+
fieldType = FieldType.Date;
|
|
270
|
+
operator = filter.operator;
|
|
271
|
+
value = filter.value;
|
|
272
|
+
field = filter.field || '';
|
|
273
|
+
table = filter.table;
|
|
202
274
|
}
|
|
203
|
-
if (
|
|
204
|
-
|
|
205
|
-
|
|
275
|
+
else if (typeof filter.value === 'object' &&
|
|
276
|
+
filter.value &&
|
|
277
|
+
'startDate' in filter.value &&
|
|
278
|
+
filter.value.startDate &&
|
|
279
|
+
'endDate' in filter.value &&
|
|
280
|
+
filter.value.endDate) {
|
|
281
|
+
if (typeof filter.value.startDate !== 'string' ||
|
|
282
|
+
typeof filter.value.endDate !== 'string') {
|
|
283
|
+
throw new Error(`Invalid value for DateCustomFilter, expected { startDate: string, endDate: string }, got ${filter.value}`);
|
|
284
|
+
}
|
|
285
|
+
filterType = InternalFilterType.DateCustomFilter;
|
|
286
|
+
fieldType = FieldType.Date;
|
|
287
|
+
operator = DateOperator.Custom;
|
|
288
|
+
value = filter.value;
|
|
289
|
+
field = filter.field || '';
|
|
290
|
+
table = filter.table;
|
|
206
291
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
// Right now we're silently ignoring the operator, may want to generate error instead?
|
|
222
|
-
filter.operator = DateOperator.Custom;
|
|
223
|
-
return {
|
|
224
|
-
...filter,
|
|
225
|
-
operator: DateOperator.Custom,
|
|
226
|
-
fieldType: FieldType.Date,
|
|
227
|
-
};
|
|
228
|
-
case FilterType.DateComparisonFilter:
|
|
229
|
-
if (typeof filter.value !== 'string') {
|
|
230
|
-
throw new Error(`Invalid value for DateComparisonFilter, expected string, got ${filter.value}`);
|
|
231
|
-
}
|
|
232
|
-
if (filter.operator === undefined) {
|
|
233
|
-
filter.operator = DateOperator.EqualTo;
|
|
292
|
+
else if (typeof filter.value === 'string') {
|
|
293
|
+
if (filter.operator === undefined) {
|
|
294
|
+
filter.operator = DateOperator.EqualTo;
|
|
295
|
+
}
|
|
296
|
+
if (!(filter.operator in DateOperator) &&
|
|
297
|
+
!Object.values(DateOperator).includes(filter.operator)) {
|
|
298
|
+
throw new Error(`Invalid operator for DateComparisonFilter, expected DateOperator, got ${filter.operator}`);
|
|
299
|
+
}
|
|
300
|
+
filterType = InternalFilterType.DateComparisonFilter;
|
|
301
|
+
fieldType = FieldType.Date;
|
|
302
|
+
operator = filter.operator;
|
|
303
|
+
value = filter.value;
|
|
304
|
+
field = filter.field || '';
|
|
305
|
+
table = filter.table;
|
|
234
306
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
throw new Error(`Invalid operator for DateComparisonFilter, expected DateOperator, got ${filter.operator}`);
|
|
307
|
+
else {
|
|
308
|
+
throw new Error(`Invalid value for DateFilter, expected { value: number, unit: string }, { startDate: string, endDate: string}, or string, got ${filter.value}`);
|
|
238
309
|
}
|
|
239
310
|
return {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
311
|
+
filterType,
|
|
312
|
+
fieldType,
|
|
313
|
+
field,
|
|
314
|
+
value,
|
|
315
|
+
table,
|
|
316
|
+
operator,
|
|
243
317
|
};
|
|
244
318
|
}
|
|
245
319
|
};
|
|
@@ -86,6 +86,17 @@ export interface QuillReport {
|
|
|
86
86
|
field: string;
|
|
87
87
|
};
|
|
88
88
|
};
|
|
89
|
+
referenceLines?: {
|
|
90
|
+
label: string;
|
|
91
|
+
query: [number, number] | string;
|
|
92
|
+
}[];
|
|
93
|
+
/** Resolved reference line y values */
|
|
94
|
+
referenceLineYValues?: {
|
|
95
|
+
label: string;
|
|
96
|
+
query: [number, number];
|
|
97
|
+
}[];
|
|
98
|
+
includeCustomFields?: boolean;
|
|
99
|
+
columnsWithCustomFields?: Column[];
|
|
89
100
|
}
|
|
90
101
|
export interface QuillReportInternal extends QuillReport {
|
|
91
102
|
/** The pivot row info. */
|
|
@@ -122,7 +133,7 @@ export interface QuillReportInternal extends QuillReport {
|
|
|
122
133
|
adminError?: string;
|
|
123
134
|
/** An internal flag to force a report to trigger a reload from the backend */
|
|
124
135
|
triggerReload?: boolean;
|
|
125
|
-
/**
|
|
136
|
+
/** columns as ColumnInternal */
|
|
126
137
|
columnInternal: ColumnInternal[];
|
|
127
138
|
/** Represents if the report is currently loading rows */
|
|
128
139
|
loadingRows?: boolean;
|
|
@@ -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,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,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,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C,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,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;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,CAAC,EAAE,cAAc,EAAE,CAAC;IAGlC,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;IAGpB,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,17 @@ import { Table } from './Tables';
|
|
|
2
2
|
export type SchemaData = {
|
|
3
3
|
schema: Table[];
|
|
4
4
|
isSchemaLoading: boolean;
|
|
5
|
-
customFields:
|
|
5
|
+
customFields: {
|
|
6
|
+
[tableName: string]: CustomField[];
|
|
7
|
+
} | null;
|
|
8
|
+
schemaWithCustomFields: Table[];
|
|
9
|
+
};
|
|
10
|
+
export type CustomField = {
|
|
11
|
+
viewName: string;
|
|
12
|
+
refTable: string;
|
|
13
|
+
field: string;
|
|
14
|
+
refColumn?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
refField?: string;
|
|
6
17
|
};
|
|
7
18
|
//# sourceMappingURL=Schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/models/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5D,sBAAsB,EAAE,KAAK,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoolOperator, DateOperator, FieldType,
|
|
1
|
+
import { BoolOperator, DateOperator, FieldType, InternalFilterType, NullOperator, NumberOperator, StringOperator, TimeUnit, } from '../models/Filter';
|
|
2
2
|
import { format, isValid, parse, subDays, subHours, subMonths, subWeeks, subYears, } from 'date-fns';
|
|
3
3
|
import { isBoolType, isDateType, isNumberType, isStringType, } from './columnProcessing';
|
|
4
4
|
// Map SQL string operators to corresponding StringOperator enums
|
|
@@ -93,34 +93,34 @@ function mapOperatorToFilterName(operator, fieldType) {
|
|
|
93
93
|
case FieldType.Date:
|
|
94
94
|
switch (operator) {
|
|
95
95
|
case DateOperator.Custom:
|
|
96
|
-
return
|
|
96
|
+
return InternalFilterType.DateCustomFilter;
|
|
97
97
|
case DateOperator.EqualTo:
|
|
98
98
|
case DateOperator.GreaterThan:
|
|
99
99
|
case DateOperator.GreaterThanOrEqualTo:
|
|
100
100
|
case DateOperator.LessThan:
|
|
101
101
|
case DateOperator.LessThanOrEqualTo:
|
|
102
102
|
case DateOperator.NotEqualTo:
|
|
103
|
-
return
|
|
103
|
+
return InternalFilterType.DateComparisonFilter;
|
|
104
104
|
case DateOperator.InTheCurrent:
|
|
105
105
|
case DateOperator.InTheLast:
|
|
106
106
|
case DateOperator.InThePrevious:
|
|
107
|
-
return
|
|
107
|
+
return InternalFilterType.DateFilter;
|
|
108
108
|
}
|
|
109
109
|
// fallthrough
|
|
110
110
|
case FieldType.String:
|
|
111
111
|
switch (operator) {
|
|
112
112
|
case StringOperator.Is:
|
|
113
113
|
case StringOperator.IsNot:
|
|
114
|
-
return
|
|
114
|
+
return InternalFilterType.StringInFilter;
|
|
115
115
|
default:
|
|
116
|
-
return
|
|
116
|
+
return InternalFilterType.StringFilter;
|
|
117
117
|
}
|
|
118
118
|
case FieldType.Number:
|
|
119
|
-
return
|
|
119
|
+
return InternalFilterType.NumericFilter;
|
|
120
120
|
case FieldType.Null:
|
|
121
|
-
return
|
|
121
|
+
return InternalFilterType.NullFilter;
|
|
122
122
|
case FieldType.Boolean:
|
|
123
|
-
return
|
|
123
|
+
return InternalFilterType.BooleanFilter;
|
|
124
124
|
default:
|
|
125
125
|
console.error(`Could not determine filter name: {operator: ${operator}, fieldType: ${fieldType}}`);
|
|
126
126
|
return null;
|
|
@@ -8700,7 +8700,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8700
8700
|
}
|
|
8701
8701
|
// Finally, with the operator, field, and filter name, return the corresponding Filter object
|
|
8702
8702
|
switch (filterName) {
|
|
8703
|
-
case
|
|
8703
|
+
case InternalFilterType.StringFilter:
|
|
8704
8704
|
return {
|
|
8705
8705
|
field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
|
|
8706
8706
|
filterType: filterName,
|
|
@@ -8708,7 +8708,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8708
8708
|
operator: mappedOperator,
|
|
8709
8709
|
value: (lowerFunctionToField(right, db) ?? '').replaceAll('%', ''),
|
|
8710
8710
|
};
|
|
8711
|
-
case
|
|
8711
|
+
case InternalFilterType.StringInFilter:
|
|
8712
8712
|
return {
|
|
8713
8713
|
field: (lowerFunctionToField(field, db) ?? '').replaceAll('%', ''),
|
|
8714
8714
|
filterType: filterName,
|
|
@@ -8716,7 +8716,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8716
8716
|
operator: mappedOperator,
|
|
8717
8717
|
value: right.value.map((v) => (lowerFunctionToField(v, db) ?? '').replaceAll('%', '')),
|
|
8718
8718
|
};
|
|
8719
|
-
case
|
|
8719
|
+
case InternalFilterType.NumericFilter:
|
|
8720
8720
|
return {
|
|
8721
8721
|
field: field,
|
|
8722
8722
|
filterType: filterName,
|
|
@@ -8724,7 +8724,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8724
8724
|
operator: mappedOperator,
|
|
8725
8725
|
value: Number(right.value),
|
|
8726
8726
|
};
|
|
8727
|
-
case
|
|
8727
|
+
case InternalFilterType.NullFilter:
|
|
8728
8728
|
return {
|
|
8729
8729
|
field: field,
|
|
8730
8730
|
filterType: filterName,
|
|
@@ -8732,7 +8732,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8732
8732
|
operator: mappedOperator,
|
|
8733
8733
|
value: null,
|
|
8734
8734
|
};
|
|
8735
|
-
case
|
|
8735
|
+
case InternalFilterType.DateCustomFilter: {
|
|
8736
8736
|
const rightExprList = right;
|
|
8737
8737
|
const values = parseBetweenDates(rightExprList.value);
|
|
8738
8738
|
if (!values) {
|
|
@@ -8747,7 +8747,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8747
8747
|
value: values,
|
|
8748
8748
|
};
|
|
8749
8749
|
}
|
|
8750
|
-
case
|
|
8750
|
+
case InternalFilterType.DateComparisonFilter: {
|
|
8751
8751
|
const numericDateComparison = reverseOperatorMap(operator, FieldType.Number);
|
|
8752
8752
|
if (numericDateComparison) {
|
|
8753
8753
|
if (!right.value ||
|
|
@@ -8759,7 +8759,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8759
8759
|
if (numericDateComparison === NumberOperator.EqualTo) {
|
|
8760
8760
|
return {
|
|
8761
8761
|
field: field,
|
|
8762
|
-
filterType:
|
|
8762
|
+
filterType: InternalFilterType.DateCustomFilter,
|
|
8763
8763
|
fieldType: FieldType.Date,
|
|
8764
8764
|
operator: DateOperator.Custom,
|
|
8765
8765
|
value: { startDate: right.value, endDate: right.value },
|
|
@@ -8767,7 +8767,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8767
8767
|
}
|
|
8768
8768
|
return {
|
|
8769
8769
|
field: field,
|
|
8770
|
-
filterType:
|
|
8770
|
+
filterType: InternalFilterType.DateComparisonFilter,
|
|
8771
8771
|
fieldType: FieldType.Date,
|
|
8772
8772
|
operator: numericDateComparison,
|
|
8773
8773
|
value: right.value,
|
|
@@ -8776,7 +8776,7 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8776
8776
|
}
|
|
8777
8777
|
}
|
|
8778
8778
|
// fallthrough
|
|
8779
|
-
case
|
|
8779
|
+
case InternalFilterType.DateFilter: {
|
|
8780
8780
|
const { operator: dateOperator, value } = parseDateOperatorAndValue(ast, db);
|
|
8781
8781
|
if (!value) {
|
|
8782
8782
|
return null;
|
|
@@ -8793,14 +8793,14 @@ export const astToFilter = (ast, db, columns) => {
|
|
|
8793
8793
|
else {
|
|
8794
8794
|
return {
|
|
8795
8795
|
field: field,
|
|
8796
|
-
filterType:
|
|
8796
|
+
filterType: InternalFilterType.DateCustomFilter,
|
|
8797
8797
|
fieldType: FieldType.Date,
|
|
8798
8798
|
operator: DateOperator.Custom,
|
|
8799
8799
|
value: value.value,
|
|
8800
8800
|
};
|
|
8801
8801
|
}
|
|
8802
8802
|
}
|
|
8803
|
-
case
|
|
8803
|
+
case InternalFilterType.BooleanFilter: {
|
|
8804
8804
|
const value = right.value !== undefined &&
|
|
8805
8805
|
['boolean', 'string'].includes(typeof right.value)
|
|
8806
8806
|
? Boolean(right.value)
|
|
@@ -8925,7 +8925,7 @@ export const filterToAst = (filter, db) => {
|
|
|
8925
8925
|
}
|
|
8926
8926
|
case FieldType.Date:
|
|
8927
8927
|
switch (filter.filterType) {
|
|
8928
|
-
case
|
|
8928
|
+
case InternalFilterType.DateCustomFilter:
|
|
8929
8929
|
return {
|
|
8930
8930
|
type: 'binary_expr',
|
|
8931
8931
|
operator: mappedOperator,
|
|
@@ -8950,7 +8950,7 @@ export const filterToAst = (filter, db) => {
|
|
|
8950
8950
|
],
|
|
8951
8951
|
},
|
|
8952
8952
|
};
|
|
8953
|
-
case
|
|
8953
|
+
case InternalFilterType.DateFilter:
|
|
8954
8954
|
switch (filter.operator) {
|
|
8955
8955
|
case DateOperator.InTheLast:
|
|
8956
8956
|
switch (db) {
|
|
@@ -10796,7 +10796,7 @@ export const filterToAst = (filter, db) => {
|
|
|
10796
10796
|
default:
|
|
10797
10797
|
return null;
|
|
10798
10798
|
}
|
|
10799
|
-
case
|
|
10799
|
+
case InternalFilterType.DateComparisonFilter:
|
|
10800
10800
|
switch (filter.operator) {
|
|
10801
10801
|
case DateOperator.EqualTo:
|
|
10802
10802
|
return {
|
|
@@ -24,7 +24,7 @@ export declare function getColumnAndTableInfo(tableAliasMap: {
|
|
|
24
24
|
tableName: string;
|
|
25
25
|
columnName: string;
|
|
26
26
|
} | undefined;
|
|
27
|
-
export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any): {
|
|
27
|
+
export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any, skipStar?: boolean): {
|
|
28
28
|
[table: string]: string[];
|
|
29
29
|
};
|
|
30
30
|
export declare const isSubquery: (node: any) => boolean;
|
|
@@ -69,7 +69,7 @@ export declare const fetchASTFromQuillReport: (report: QuillReportInternal, clie
|
|
|
69
69
|
schema?: Table[];
|
|
70
70
|
error?: string;
|
|
71
71
|
}>;
|
|
72
|
-
export declare function getTablesHelper(ast: any, allTables: Table[]): {
|
|
72
|
+
export declare function getTablesHelper(ast: any, allTables: Table[], skipStar?: boolean): {
|
|
73
73
|
referencedTablesAndColumns: {
|
|
74
74
|
name: string;
|
|
75
75
|
columns: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"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"}
|