@quillsql/react 2.13.24 → 2.13.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.
- package/dist/cjs/Chart.d.ts +0 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +28 -16
- package/dist/cjs/ChartBuilder.d.ts +8 -37
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +402 -189
- package/dist/cjs/ChartEditor.d.ts +1 -1
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +31 -167
- package/dist/cjs/Context.d.ts +13 -2
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +32 -12
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +3 -6
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +7 -3
- package/dist/cjs/ReportBuilder.d.ts +1 -3
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +120 -137
- package/dist/cjs/SQLEditor.d.ts +2 -2
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +47 -24
- package/dist/cjs/components/Chart/BarChart.js +1 -1
- package/dist/cjs/components/Chart/InternalChart.d.ts +25 -0
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -0
- package/dist/cjs/components/Chart/InternalChart.js +385 -0
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +3 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +7 -4
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +8 -5
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +3 -3
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +23 -9
- package/dist/cjs/components/Dashboard/MetricComponent.js +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +1 -1
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +54 -8
- package/dist/cjs/components/ReportBuilder/util.d.ts +1 -0
- package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/util.js +48 -0
- package/dist/cjs/components/UiComponents.d.ts +3 -1
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +4 -4
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +13 -0
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +6 -1
- package/dist/cjs/hooks/useQuill.js +9 -9
- package/dist/cjs/internals/ReportBuilder/PivotList.js +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +3 -8
- package/dist/cjs/models/Report.d.ts +9 -2
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Report.js +2 -0
- package/dist/cjs/models/Tables.d.ts +5 -6
- package/dist/cjs/models/Tables.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +1 -0
- package/dist/cjs/utils/columnProcessing.d.ts +1 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +4 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +6 -2
- package/dist/cjs/utils/dashboard.d.ts +1 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +13 -18
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +2 -2
- package/dist/cjs/utils/filterProcessing.d.ts +5 -2
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +5 -2
- package/dist/cjs/utils/merge.d.ts.map +1 -1
- package/dist/cjs/utils/merge.js +0 -4
- package/dist/cjs/utils/paginationProcessing.d.ts +1 -1
- package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/paginationProcessing.js +1 -4
- package/dist/cjs/utils/pivotConstructor.d.ts +3 -2
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +20 -8
- package/dist/cjs/utils/pivotProcessing.d.ts +5 -2
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- 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 +4 -4
- package/dist/cjs/utils/report.d.ts +2 -1
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +23 -24
- package/dist/cjs/utils/tableProcessing.d.ts +18 -5
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +14 -7
- package/dist/cjs/utils/validation.js +1 -1
- package/dist/esm/Chart.d.ts +0 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +28 -16
- package/dist/esm/ChartBuilder.d.ts +8 -37
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +408 -192
- package/dist/esm/ChartEditor.d.ts +1 -1
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +33 -169
- package/dist/esm/Context.d.ts +13 -2
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +32 -12
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +5 -8
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +7 -3
- package/dist/esm/ReportBuilder.d.ts +1 -3
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +120 -137
- package/dist/esm/SQLEditor.d.ts +2 -2
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +48 -25
- package/dist/esm/components/Chart/BarChart.js +1 -1
- package/dist/esm/components/Chart/InternalChart.d.ts +25 -0
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -0
- package/dist/esm/components/Chart/InternalChart.js +379 -0
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +4 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +7 -4
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +8 -5
- package/dist/esm/components/Dashboard/DataLoader.d.ts +3 -3
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +23 -9
- package/dist/esm/components/Dashboard/MetricComponent.js +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +1 -1
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +54 -8
- package/dist/esm/components/ReportBuilder/util.d.ts +1 -0
- package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/util.js +47 -0
- package/dist/esm/components/UiComponents.d.ts +3 -1
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +4 -4
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +14 -1
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +6 -1
- package/dist/esm/hooks/useQuill.js +9 -9
- package/dist/esm/internals/ReportBuilder/PivotList.js +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +3 -8
- package/dist/esm/models/Report.d.ts +9 -2
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Report.js +1 -1
- package/dist/esm/models/Tables.d.ts +5 -6
- package/dist/esm/models/Tables.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +2 -1
- package/dist/esm/utils/columnProcessing.d.ts +1 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +3 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +6 -2
- package/dist/esm/utils/dashboard.d.ts +1 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +13 -18
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +2 -2
- package/dist/esm/utils/filterProcessing.d.ts +5 -2
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +5 -2
- package/dist/esm/utils/merge.d.ts.map +1 -1
- package/dist/esm/utils/merge.js +0 -4
- package/dist/esm/utils/paginationProcessing.d.ts +1 -1
- package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
- package/dist/esm/utils/paginationProcessing.js +1 -4
- package/dist/esm/utils/pivotConstructor.d.ts +3 -2
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +20 -8
- package/dist/esm/utils/pivotProcessing.d.ts +5 -2
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -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 +2 -1
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +24 -25
- package/dist/esm/utils/tableProcessing.d.ts +18 -5
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +15 -8
- package/dist/esm/utils/validation.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAYrB;AAiDD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAYrB;AAiDD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAgCpB"}
|
|
@@ -181,9 +181,9 @@ function generateDistinctQuerySnowflake(stringFields, query) {
|
|
|
181
181
|
const distinctQuery = distinctQueries.join(' UNION ALL ');
|
|
182
182
|
return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
|
|
183
183
|
}
|
|
184
|
-
export function
|
|
185
|
-
const max =
|
|
186
|
-
const min =
|
|
184
|
+
export function generateMinMaxDateRangeQueries(columnFields, query, databaseType) {
|
|
185
|
+
const max = 'MAX';
|
|
186
|
+
const min = 'MIN';
|
|
187
187
|
const distinctQueries = columnFields.map((field) => {
|
|
188
188
|
const wrappedField = ['postgresql'].includes(databaseType.toLowerCase())
|
|
189
189
|
? `"${field}"`
|
|
@@ -21,6 +21,7 @@ export type ReportBuilderInfo = {
|
|
|
21
21
|
dateRanges: DateRangesByColumn;
|
|
22
22
|
query: string;
|
|
23
23
|
error?: string;
|
|
24
|
+
itemQuery?: string[];
|
|
24
25
|
};
|
|
25
26
|
export declare const EMPTY_REPORT: QuillReport;
|
|
26
27
|
export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
|
|
@@ -45,7 +46,7 @@ export declare function saveReport({ report, dashboardItemId, client, }: {
|
|
|
45
46
|
dashboardItemId?: string;
|
|
46
47
|
client: QuillProviderClient;
|
|
47
48
|
}): Promise<any>;
|
|
48
|
-
export declare const formatRowsFromReport: (report: any) => any;
|
|
49
|
+
export declare const formatRowsFromReport: (report: any, xAxisField?: string, xAxisFormat?: string) => any;
|
|
49
50
|
export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: DashboardFilter[], initiator?: string): QuillReport;
|
|
50
51
|
export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: QuillProviderClient, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
|
|
51
52
|
uniqueStrings: UniqueValuesByTable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/utils/report.js
CHANGED
|
@@ -9,10 +9,9 @@ import { fetchSqlQuery, getData } from './dataFetcher';
|
|
|
9
9
|
import { parseValueFromBigQueryDates } from './dataProcessing';
|
|
10
10
|
import { getDateBucketFromRange } from './dates';
|
|
11
11
|
import { DataLoadError } from './error';
|
|
12
|
-
import { internalLog } from './logging';
|
|
13
12
|
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
14
13
|
import { isPivotPossible, isValidPivot } from './pivotProcessing';
|
|
15
|
-
import { fetchTableByAST, getQueryDateRangeByColumns, getRelevantInfoFromQuery, } from './tableProcessing';
|
|
14
|
+
import { fetchTableByAST, getQueryDateRangeByColumns, getRelevantInfoFromQuery, getUniqueStringValues, } from './tableProcessing';
|
|
16
15
|
import { snakeAndCamelCaseToTitleCase } from './textProcessing';
|
|
17
16
|
import { quillFormat } from './valueFormatter';
|
|
18
17
|
export const EMPTY_REPORT = {
|
|
@@ -22,7 +21,6 @@ export const EMPTY_REPORT = {
|
|
|
22
21
|
rows: [],
|
|
23
22
|
columns: [],
|
|
24
23
|
chartType: '',
|
|
25
|
-
dateField: null,
|
|
26
24
|
pivot: null,
|
|
27
25
|
xAxisLabel: '',
|
|
28
26
|
xAxisField: '',
|
|
@@ -102,26 +100,18 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
102
100
|
throw error;
|
|
103
101
|
}
|
|
104
102
|
if (error instanceof DataLoadError) {
|
|
105
|
-
if (
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
reportInfo = report;
|
|
109
|
-
errorMessage = error;
|
|
103
|
+
if (!error.data.data) {
|
|
104
|
+
errorMessage = error.message ?? 'Failed to fetch chart';
|
|
105
|
+
reportInfo = EMPTY_INTERNAL_REPORT;
|
|
110
106
|
}
|
|
111
107
|
else {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
id: error.data.data._id,
|
|
120
|
-
error: error.message,
|
|
121
|
-
adminError: error.data.adminErrorMessage,
|
|
122
|
-
};
|
|
123
|
-
errorMessage = error.message;
|
|
124
|
-
}
|
|
108
|
+
reportInfo = {
|
|
109
|
+
...error.data.data,
|
|
110
|
+
id: error.data.data._id,
|
|
111
|
+
error: error.message,
|
|
112
|
+
adminError: error.data.adminErrorMessage,
|
|
113
|
+
};
|
|
114
|
+
errorMessage = error.message;
|
|
125
115
|
}
|
|
126
116
|
}
|
|
127
117
|
else {
|
|
@@ -256,7 +246,7 @@ export async function saveReport({ report, dashboardItemId, client, }) {
|
|
|
256
246
|
: { clientId: publicKey }).toString();
|
|
257
247
|
return await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
|
|
258
248
|
}
|
|
259
|
-
export const formatRowsFromReport = (report) => {
|
|
249
|
+
export const formatRowsFromReport = (report, xAxisField, xAxisFormat) => {
|
|
260
250
|
if (!report.rows || !report.columns) {
|
|
261
251
|
return [];
|
|
262
252
|
}
|
|
@@ -265,7 +255,9 @@ export const formatRowsFromReport = (report) => {
|
|
|
265
255
|
// Apply the format function to each field in the row
|
|
266
256
|
const formattedValue = quillFormat({
|
|
267
257
|
value: row[column.field],
|
|
268
|
-
format: column.
|
|
258
|
+
format: column.field === xAxisField && xAxisFormat
|
|
259
|
+
? xAxisFormat
|
|
260
|
+
: column.format,
|
|
269
261
|
});
|
|
270
262
|
formattedRow[column.field] = formattedValue;
|
|
271
263
|
return formattedRow;
|
|
@@ -274,7 +266,7 @@ export const formatRowsFromReport = (report) => {
|
|
|
274
266
|
};
|
|
275
267
|
export function convertInternalReportToReport(report, dashboardFilters, initiator) {
|
|
276
268
|
try {
|
|
277
|
-
if (!report
|
|
269
|
+
if (!report) {
|
|
278
270
|
return EMPTY_REPORT;
|
|
279
271
|
}
|
|
280
272
|
const formattedReport = {
|
|
@@ -317,7 +309,10 @@ export function convertInternalReportToReport(report, dashboardFilters, initiato
|
|
|
317
309
|
};
|
|
318
310
|
}
|
|
319
311
|
let rows = report.rows;
|
|
320
|
-
if (report.chartType === 'metric'
|
|
312
|
+
if (report.chartType === 'metric') {
|
|
313
|
+
rows = formatRowsFromReport(report, report.xAxisField, report.xAxisFormat);
|
|
314
|
+
}
|
|
315
|
+
else if (report.chartType === 'table') {
|
|
321
316
|
rows = formatRowsFromReport(report);
|
|
322
317
|
}
|
|
323
318
|
return {
|
|
@@ -415,6 +410,9 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
415
410
|
if (rowFieldDateRange) {
|
|
416
411
|
dateBucket = getDateBucketFromRange(rowFieldDateRange.dateRange);
|
|
417
412
|
}
|
|
413
|
+
if (!Object.values(relevantInfo.uniqueStrings[table] ?? {}).length) {
|
|
414
|
+
relevantInfo.uniqueStrings[table] = await getUniqueStringValues(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, customFields, undefined, undefined, report?.queryString ?? '');
|
|
415
|
+
}
|
|
418
416
|
newPivotData = await generatePivotTable({
|
|
419
417
|
pivot,
|
|
420
418
|
dateBucket,
|
|
@@ -464,5 +462,6 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
464
462
|
dateRanges: relevantInfo.dateRanges,
|
|
465
463
|
query,
|
|
466
464
|
error: error,
|
|
465
|
+
itemQuery: curReport?.itemQuery,
|
|
467
466
|
};
|
|
468
467
|
};
|
|
@@ -3,7 +3,7 @@ import { QuillProviderClient } from '../models/Client';
|
|
|
3
3
|
import { Column, ColumnInternal } from '../models/Columns';
|
|
4
4
|
import { DashboardFilter } from '../models/Filter';
|
|
5
5
|
import { Pagination } from '../models/Pagination';
|
|
6
|
-
import { DateRangesByColumn
|
|
6
|
+
import { DateRangesByColumn } from '../models/Tables';
|
|
7
7
|
export interface AdditionalProcessing {
|
|
8
8
|
sort?: {
|
|
9
9
|
field: string;
|
|
@@ -13,14 +13,18 @@ export interface AdditionalProcessing {
|
|
|
13
13
|
last?: number;
|
|
14
14
|
}
|
|
15
15
|
export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
|
|
16
|
-
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: QuillProviderClient, customFields: any[]) => Promise<{
|
|
16
|
+
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: QuillProviderClient, customFields: any[], filters?: DashboardFilter[]) => Promise<{
|
|
17
17
|
[column: string]: {
|
|
18
18
|
[value: string]: boolean;
|
|
19
19
|
};
|
|
20
20
|
} | null>;
|
|
21
21
|
export declare const getUniqueStringValues: (columns: ColumnInternal[], tableName: string, client: any, customFields?: any, previousUniqueValues?: any, withExceededColumns?: boolean, query?: string) => Promise<any>;
|
|
22
22
|
export declare const getRelevantInfoFromQuery: (columns: ColumnInternal[], client: QuillProviderClient, query: string, customFields?: any) => Promise<{
|
|
23
|
-
uniqueStrings?:
|
|
23
|
+
uniqueStrings?: {
|
|
24
|
+
[column: string]: {
|
|
25
|
+
[value: string]: boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
24
28
|
dateRanges?: DateRangesByColumn;
|
|
25
29
|
error?: string;
|
|
26
30
|
}>;
|
|
@@ -45,7 +49,12 @@ export declare const getPaginatedRows: (client: QuillProviderClient, query?: str
|
|
|
45
49
|
export declare const fetchResultsByQuery: (query: string, client: QuillProviderClient, processing?: AdditionalProcessing, customFields?: any, filters?: DashboardFilter[], dateField?: {
|
|
46
50
|
field: string;
|
|
47
51
|
table: string;
|
|
48
|
-
} | null, rowsOnly?: boolean, rowCountOnly?: boolean
|
|
52
|
+
} | null, rowsOnly?: boolean, rowCountOnly?: boolean, filterMap?: {
|
|
53
|
+
[key: string]: {
|
|
54
|
+
field: string;
|
|
55
|
+
table: string;
|
|
56
|
+
};
|
|
57
|
+
}) => Promise<{
|
|
49
58
|
columns: ColumnInternal[];
|
|
50
59
|
rows: any[];
|
|
51
60
|
rowCount?: number;
|
|
@@ -65,7 +74,11 @@ export declare const fetchTableByAST: (ast: NodeSQLParser.Select, client: QuillP
|
|
|
65
74
|
error?: string;
|
|
66
75
|
itemQuery?: string[];
|
|
67
76
|
}>;
|
|
68
|
-
export declare const convertUniqueValuesByColumnToUniqueValueStrings: (uniqueValuesByColumns:
|
|
77
|
+
export declare const convertUniqueValuesByColumnToUniqueValueStrings: (uniqueValuesByColumns: {
|
|
78
|
+
[column: string]: {
|
|
79
|
+
[value: string]: boolean;
|
|
80
|
+
};
|
|
81
|
+
}) => {
|
|
69
82
|
[columnName: string]: string[];
|
|
70
83
|
};
|
|
71
84
|
//# sourceMappingURL=tableProcessing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { parseValueFromBigQueryDates } from './dataProcessing';
|
|
|
7
7
|
import { parseQueryDateRangeByDatabaseType } from './dates';
|
|
8
8
|
import { processFilterErrorList } from './errorProcessing';
|
|
9
9
|
import { DEFAULT_PAGINATION } from './paginationProcessing';
|
|
10
|
-
import { generateCountQuery, generateDistinctQuery,
|
|
10
|
+
import { generateCountQuery, generateDistinctQuery, generateMinMaxDateRangeQueries, processColumnReference, } from './queryConstructor';
|
|
11
11
|
export const hasColumnAlias = (columns, referencedColumns) => {
|
|
12
12
|
if (!referencedColumns) {
|
|
13
13
|
return true;
|
|
@@ -19,9 +19,10 @@ export const hasColumnAlias = (columns, referencedColumns) => {
|
|
|
19
19
|
}
|
|
20
20
|
return false;
|
|
21
21
|
};
|
|
22
|
-
export const getUniqueValuesByColumns = async (columns, query, rows, client, customFields) => {
|
|
22
|
+
export const getUniqueValuesByColumns = async (columns, query, rows, client, customFields, filters) => {
|
|
23
23
|
const stringNames = columns.map((column) => column.field);
|
|
24
24
|
const uniqueValues = {};
|
|
25
|
+
//TODO: this bigquery case is wack, we should be able to generate a distinct query for bigquery
|
|
25
26
|
if (!client.databaseType ||
|
|
26
27
|
client.databaseType.toLowerCase() === 'bigquery') {
|
|
27
28
|
if (rows.length === 0) {
|
|
@@ -34,6 +35,8 @@ export const getUniqueValuesByColumns = async (columns, query, rows, client, cus
|
|
|
34
35
|
databaseType: client?.databaseType,
|
|
35
36
|
customFieldsByTable: customFields,
|
|
36
37
|
useNewNodeSql: true,
|
|
38
|
+
dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
|
|
39
|
+
filters,
|
|
37
40
|
},
|
|
38
41
|
};
|
|
39
42
|
const cloudBody = { query };
|
|
@@ -56,7 +59,7 @@ export const getUniqueValuesByColumns = async (columns, query, rows, client, cus
|
|
|
56
59
|
}
|
|
57
60
|
else {
|
|
58
61
|
const distinctValueQuery = generateDistinctQuery(stringNames, query, client.databaseType);
|
|
59
|
-
const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields);
|
|
62
|
+
const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields, filters);
|
|
60
63
|
if (!distinctStrings) {
|
|
61
64
|
return {};
|
|
62
65
|
}
|
|
@@ -170,7 +173,7 @@ export const getCountsByColumns = async (columns, query, client, customFields) =
|
|
|
170
173
|
return { filteredColumns: columns, exceededColumns: undefined };
|
|
171
174
|
}
|
|
172
175
|
};
|
|
173
|
-
const fetchDistinctStrings = async (query, client, customFields) => {
|
|
176
|
+
const fetchDistinctStrings = async (query, client, customFields, filters) => {
|
|
174
177
|
try {
|
|
175
178
|
const hostedBody = {
|
|
176
179
|
metadata: {
|
|
@@ -181,6 +184,9 @@ const fetchDistinctStrings = async (query, client, customFields) => {
|
|
|
181
184
|
databaseType: client?.databaseType,
|
|
182
185
|
customFieldsByTable: customFields,
|
|
183
186
|
useNewNodeSql: true,
|
|
187
|
+
filters,
|
|
188
|
+
// @ts-ignore
|
|
189
|
+
dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
|
|
184
190
|
},
|
|
185
191
|
};
|
|
186
192
|
const cloudBody = { query };
|
|
@@ -198,7 +204,7 @@ const fetchDistinctStrings = async (query, client, customFields) => {
|
|
|
198
204
|
// out null values.
|
|
199
205
|
const values = columnInfo.string_values.reduce((result, value) => {
|
|
200
206
|
if (value !== null && value !== undefined) {
|
|
201
|
-
//
|
|
207
|
+
// TODO: handle null values rather than filtering out
|
|
202
208
|
result[value] = false;
|
|
203
209
|
}
|
|
204
210
|
return result;
|
|
@@ -215,7 +221,7 @@ export const getQueryDateRangeByColumns = async (columns, query, client, customF
|
|
|
215
221
|
const columnNames = columns.map(
|
|
216
222
|
// @ts-ignore
|
|
217
223
|
(column) => column.field || column.name);
|
|
218
|
-
const distinctValueQuery =
|
|
224
|
+
const distinctValueQuery = generateMinMaxDateRangeQueries(columnNames, query, client.databaseType || 'postgresql');
|
|
219
225
|
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
|
|
220
226
|
return dateRanges;
|
|
221
227
|
};
|
|
@@ -258,7 +264,7 @@ export const getPaginatedRows = async (client, query, reportId, processing, filt
|
|
|
258
264
|
}
|
|
259
265
|
return { rows: [], columns: [] };
|
|
260
266
|
};
|
|
261
|
-
export const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly) => {
|
|
267
|
+
export const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap) => {
|
|
262
268
|
let rows = [];
|
|
263
269
|
let columns = [];
|
|
264
270
|
let error = undefined;
|
|
@@ -269,6 +275,7 @@ export const fetchResultsByQuery = async (query, client, processing, customField
|
|
|
269
275
|
metadata: {
|
|
270
276
|
query,
|
|
271
277
|
task: 'query',
|
|
278
|
+
filterMap,
|
|
272
279
|
orgId: client.organizationId || '*',
|
|
273
280
|
clientId: client.publicKey,
|
|
274
281
|
databaseType: client?.databaseType,
|
|
@@ -279,7 +286,7 @@ export const fetchResultsByQuery = async (query, client, processing, customField
|
|
|
279
286
|
additionalProcessing: processing,
|
|
280
287
|
useUpdatedDataGathering: processing ? true : false,
|
|
281
288
|
useNewNodeSql: true,
|
|
282
|
-
filters,
|
|
289
|
+
filters: filters?.map((filter) => ({ ...filter, options: undefined })),
|
|
283
290
|
dateField: dateField ?? undefined,
|
|
284
291
|
rowsOnly,
|
|
285
292
|
rowCountOnly,
|
|
@@ -10,7 +10,7 @@ export const validateReport = (formData, dashboardData, defaultDateFilter, allTa
|
|
|
10
10
|
}
|
|
11
11
|
if (dateFilter &&
|
|
12
12
|
((!defaultDateFilter.table && !defaultDateFilter.field) ||
|
|
13
|
-
(!formData.dateField
|
|
13
|
+
(!formData.dateField?.field && !formData.dateField?.table))) {
|
|
14
14
|
issues.push(`Delete the date filter "${formData.dashboardName}" or add to another dashboard.`);
|
|
15
15
|
}
|
|
16
16
|
filters.forEach((filter) => {
|