@quillsql/react 2.14.14 → 2.14.16
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.map +1 -1
- package/dist/cjs/Chart.js +0 -12
- package/dist/cjs/ChartBuilder.d.ts +2 -3
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +23 -107
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +0 -2
- package/dist/cjs/Context.d.ts +2 -6
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +32 -159
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +16 -93
- package/dist/cjs/QuillProvider.d.ts +1 -38
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts +1 -4
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +1270 -103
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +6 -50
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +0 -12
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +1 -24
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +1 -2
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +2 -73
- package/dist/cjs/components/Dashboard/util.d.ts +1 -2
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +1 -12
- package/dist/cjs/components/QuillTable.d.ts +1 -2
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +2 -2
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +1 -7
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +1 -3
- package/dist/cjs/components/UiComponents.d.ts +2 -5
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +5 -6
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +0 -38
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +4 -60
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +2 -5
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +1 -25
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +2 -27
- package/dist/cjs/index.d.ts +0 -11
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -17
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +1 -14
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -87
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -18
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +141 -420
- package/dist/cjs/utils/astProcessing.d.ts +2 -4
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +2 -25
- package/dist/cjs/utils/client.d.ts +1 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +1 -12
- package/dist/cjs/utils/dashboard.d.ts +1 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +3 -44
- package/dist/cjs/utils/filterProcessing.d.ts +1 -2
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +1 -12
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +21 -15
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +3 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +19 -11
- package/dist/cjs/utils/report.d.ts +5 -10
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +7 -51
- package/dist/cjs/utils/reportBuilder.d.ts.map +1 -1
- package/dist/cjs/utils/reportBuilder.js +2 -5
- package/dist/cjs/utils/schema.d.ts +2 -5
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +2 -14
- package/dist/cjs/utils/tableProcessing.d.ts +10 -17
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +17 -99
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +1 -13
- package/dist/esm/ChartBuilder.d.ts +2 -3
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +25 -109
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +1 -3
- package/dist/esm/Context.d.ts +2 -6
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +31 -158
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +17 -94
- package/dist/esm/QuillProvider.d.ts +1 -38
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts +1 -4
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +1270 -106
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +7 -51
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +1 -13
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +2 -25
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.js +2 -3
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +3 -74
- package/dist/esm/components/Dashboard/util.d.ts +1 -2
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +1 -12
- package/dist/esm/components/QuillTable.d.ts +1 -2
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +2 -2
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +1 -7
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +2 -4
- package/dist/esm/components/UiComponents.d.ts +2 -5
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +5 -6
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +1 -39
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +5 -61
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +3 -6
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +2 -26
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +3 -28
- package/dist/esm/index.d.ts +0 -11
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -8
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +1 -14
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +5 -88
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -18
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +143 -422
- package/dist/esm/utils/astProcessing.d.ts +2 -4
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +2 -25
- package/dist/esm/utils/client.d.ts +1 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +1 -12
- package/dist/esm/utils/dashboard.d.ts +1 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +3 -44
- package/dist/esm/utils/filterProcessing.d.ts +1 -2
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +1 -12
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +21 -15
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +3 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +19 -11
- package/dist/esm/utils/report.d.ts +5 -10
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +7 -51
- package/dist/esm/utils/reportBuilder.d.ts.map +1 -1
- package/dist/esm/utils/reportBuilder.js +2 -5
- package/dist/esm/utils/schema.d.ts +2 -5
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +2 -14
- package/dist/esm/utils/tableProcessing.d.ts +10 -17
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +17 -99
- package/package.json +1 -1
- package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts +0 -48
- package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/ColumnComponent.js +0 -46
- package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts +0 -65
- package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/FilterComponent.js +0 -51
- package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts +0 -42
- package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/LimitComponent.js +0 -50
- package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts +0 -66
- package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/PivotComponent.js +0 -47
- package/dist/cjs/components/ReportBuilder/SaveReport.d.ts +0 -162
- package/dist/cjs/components/ReportBuilder/SaveReport.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/SaveReport.js +0 -31
- package/dist/cjs/components/ReportBuilder/SortComponent.d.ts +0 -42
- package/dist/cjs/components/ReportBuilder/SortComponent.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/SortComponent.js +0 -50
- package/dist/cjs/components/ReportBuilder/TableComponent.d.ts +0 -28
- package/dist/cjs/components/ReportBuilder/TableComponent.d.ts.map +0 -1
- package/dist/cjs/components/ReportBuilder/TableComponent.js +0 -24
- package/dist/cjs/hooks/useLongLoading.d.ts +0 -13
- package/dist/cjs/hooks/useLongLoading.d.ts.map +0 -1
- package/dist/cjs/hooks/useLongLoading.js +0 -67
- package/dist/cjs/hooks/useReportBuilder.d.ts +0 -178
- package/dist/cjs/hooks/useReportBuilder.d.ts.map +0 -1
- package/dist/cjs/hooks/useReportBuilder.js +0 -1476
- package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts +0 -48
- package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/ColumnComponent.js +0 -39
- package/dist/esm/components/ReportBuilder/FilterComponent.d.ts +0 -65
- package/dist/esm/components/ReportBuilder/FilterComponent.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/FilterComponent.js +0 -44
- package/dist/esm/components/ReportBuilder/LimitComponent.d.ts +0 -42
- package/dist/esm/components/ReportBuilder/LimitComponent.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/LimitComponent.js +0 -46
- package/dist/esm/components/ReportBuilder/PivotComponent.d.ts +0 -66
- package/dist/esm/components/ReportBuilder/PivotComponent.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/PivotComponent.js +0 -40
- package/dist/esm/components/ReportBuilder/SaveReport.d.ts +0 -162
- package/dist/esm/components/ReportBuilder/SaveReport.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/SaveReport.js +0 -31
- package/dist/esm/components/ReportBuilder/SortComponent.d.ts +0 -42
- package/dist/esm/components/ReportBuilder/SortComponent.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/SortComponent.js +0 -46
- package/dist/esm/components/ReportBuilder/TableComponent.d.ts +0 -28
- package/dist/esm/components/ReportBuilder/TableComponent.d.ts.map +0 -1
- package/dist/esm/components/ReportBuilder/TableComponent.js +0 -20
- package/dist/esm/hooks/useLongLoading.d.ts +0 -13
- package/dist/esm/hooks/useLongLoading.d.ts.map +0 -1
- package/dist/esm/hooks/useLongLoading.js +0 -64
- package/dist/esm/hooks/useReportBuilder.d.ts +0 -178
- package/dist/esm/hooks/useReportBuilder.d.ts.map +0 -1
- package/dist/esm/hooks/useReportBuilder.js +0 -1471
|
@@ -3,7 +3,6 @@ import { Column, ColumnInternal } from '../models/Columns';
|
|
|
3
3
|
import { Pivot } from '../models/Pivot';
|
|
4
4
|
import { QuillReportInternal } from '../models/Report';
|
|
5
5
|
import { Table } from '../models/Tables';
|
|
6
|
-
import { EventTracking } from '../QuillProvider';
|
|
7
6
|
export declare function getSelectFromAST(ast: any): any;
|
|
8
7
|
export declare function processStarColumn(ast: any, columns: Column[]): any;
|
|
9
8
|
export declare function recursiveSearchByKey(node: any, searchKey: string): any;
|
|
@@ -56,7 +55,7 @@ export declare const createBasicSelectASTFromColumns: (columns: ColumnInternal[]
|
|
|
56
55
|
limit: null;
|
|
57
56
|
};
|
|
58
57
|
export declare const createSelectStarFromAst: (ast: any) => any;
|
|
59
|
-
export declare const fetchAndProcessASTFromPrompt: ({ aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName, tenants, getToken,
|
|
58
|
+
export declare const fetchAndProcessASTFromPrompt: ({ aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName, tenants, getToken, }: {
|
|
60
59
|
aiPrompt: string;
|
|
61
60
|
schema: Table[];
|
|
62
61
|
client: QuillProviderClient;
|
|
@@ -69,14 +68,13 @@ export declare const fetchAndProcessASTFromPrompt: ({ aiPrompt, schema, client,
|
|
|
69
68
|
tenantIds: (string | number)[];
|
|
70
69
|
}[] | (string | number)[];
|
|
71
70
|
getToken: () => Promise<string>;
|
|
72
|
-
eventTracking: EventTracking | null;
|
|
73
71
|
}) => Promise<{
|
|
74
72
|
ast: any;
|
|
75
73
|
pivot: Pivot | null | undefined;
|
|
76
74
|
whereAST: any;
|
|
77
75
|
error?: string;
|
|
78
76
|
}>;
|
|
79
|
-
export declare const fetchASTFromQuillReport: (report: QuillReportInternal, client: QuillProviderClient, schema: Table[], getToken: () => Promise<string
|
|
77
|
+
export declare const fetchASTFromQuillReport: (report: QuillReportInternal, client: QuillProviderClient, schema: Table[], getToken: () => Promise<string>) => Promise<{
|
|
80
78
|
ast: any;
|
|
81
79
|
pivot: Pivot | undefined | null;
|
|
82
80
|
schema?: Table[];
|
|
@@ -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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"}
|
|
@@ -381,7 +381,7 @@ const createSelectStarFromAst = (ast) => {
|
|
|
381
381
|
};
|
|
382
382
|
};
|
|
383
383
|
exports.createSelectStarFromAst = createSelectStarFromAst;
|
|
384
|
-
const fetchAndProcessASTFromPrompt = async ({ aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName, tenants, getToken,
|
|
384
|
+
const fetchAndProcessASTFromPrompt = async ({ aiPrompt, schema, client, prevPivot, currentQuery, prevTable, dashboardName, tenants, getToken, }) => {
|
|
385
385
|
let res, data, ast, newAst, pivot;
|
|
386
386
|
let numRetries = 0;
|
|
387
387
|
let whereAST;
|
|
@@ -450,7 +450,6 @@ const fetchAndProcessASTFromPrompt = async ({ aiPrompt, schema, client, prevPivo
|
|
|
450
450
|
tableName: processedName,
|
|
451
451
|
client,
|
|
452
452
|
getToken,
|
|
453
|
-
eventTracking,
|
|
454
453
|
tenants,
|
|
455
454
|
dashboardName,
|
|
456
455
|
});
|
|
@@ -472,17 +471,6 @@ const fetchAndProcessASTFromPrompt = async ({ aiPrompt, schema, client, prevPivo
|
|
|
472
471
|
}
|
|
473
472
|
catch (e) {
|
|
474
473
|
console.log(e);
|
|
475
|
-
eventTracking?.logError?.({
|
|
476
|
-
type: 'bug', // TODO: determine type
|
|
477
|
-
severity: 'high',
|
|
478
|
-
message: 'Error fetching and processing AST from prompt',
|
|
479
|
-
errorMessage: e.message,
|
|
480
|
-
errorStack: e.stack,
|
|
481
|
-
errorData: {
|
|
482
|
-
caller: 'fetchAndProcessASTFromPrompt',
|
|
483
|
-
function: 'fetchAndProcessASTFromPrompt',
|
|
484
|
-
},
|
|
485
|
-
});
|
|
486
474
|
if (e instanceof Error) {
|
|
487
475
|
return {
|
|
488
476
|
ast: null,
|
|
@@ -495,7 +483,7 @@ const fetchAndProcessASTFromPrompt = async ({ aiPrompt, schema, client, prevPivo
|
|
|
495
483
|
return { ast: newAst, pivot, whereAST };
|
|
496
484
|
};
|
|
497
485
|
exports.fetchAndProcessASTFromPrompt = fetchAndProcessASTFromPrompt;
|
|
498
|
-
const fetchASTFromQuillReport = async (report, client, schema, getToken
|
|
486
|
+
const fetchASTFromQuillReport = async (report, client, schema, getToken) => {
|
|
499
487
|
let newAst;
|
|
500
488
|
let groupByPivot = null;
|
|
501
489
|
let schemaInfo = [];
|
|
@@ -528,17 +516,6 @@ const fetchASTFromQuillReport = async (report, client, schema, getToken, eventTr
|
|
|
528
516
|
}
|
|
529
517
|
catch (e) {
|
|
530
518
|
console.log(e);
|
|
531
|
-
eventTracking?.logError?.({
|
|
532
|
-
type: 'bug', // TODO: determine type
|
|
533
|
-
severity: 'high',
|
|
534
|
-
message: 'Error fetching AST from report',
|
|
535
|
-
errorMessage: e.message,
|
|
536
|
-
errorStack: e.stack,
|
|
537
|
-
errorData: {
|
|
538
|
-
caller: 'fetchASTFromQuillReport',
|
|
539
|
-
function: 'fetchASTFromQuillReport',
|
|
540
|
-
},
|
|
541
|
-
});
|
|
542
519
|
if (e instanceof Error) {
|
|
543
520
|
return {
|
|
544
521
|
error: e.message,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Client, QuillTenant } from '../models/Client';
|
|
2
|
-
import { EventTracking } from '../QuillProvider';
|
|
3
2
|
export declare const EMPTY_CLIENT: Client;
|
|
4
|
-
export declare function fetchClient(publicKey: string, queryEndpoint: string, withCredentials: boolean | undefined, getToken: () => Promise<string>,
|
|
3
|
+
export declare function fetchClient(publicKey: string, queryEndpoint: string, withCredentials: boolean | undefined, getToken: () => Promise<string>, queryHeaders?: HeadersInit, includeTenants?: boolean): Promise<Client & {
|
|
5
4
|
allTenantTypes?: QuillTenant[];
|
|
6
5
|
}>;
|
|
7
6
|
export declare function getClientTenantIds({ queryEndpoint, queryHeaders, withCredentials, tenant, clientId, getToken, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,YAAY,EAAE,MAK1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,qBAAQ,EACvB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,YAAY,CAAC,EAAE,WAAW,EAC1B,cAAc,UAAQ,GACrB,OAAO,CAAC,MAAM,GAAG;IAAE,cAAc,CAAC,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAoDtD;AAED,wBAAsB,kBAAkB,CAAC,EACvC,aAAa,EACb,YAAY,EACZ,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,WAAW,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC;;;GAuCA"}
|
package/dist/cjs/utils/client.js
CHANGED
|
@@ -10,7 +10,7 @@ exports.EMPTY_CLIENT = {
|
|
|
10
10
|
databaseType: '',
|
|
11
11
|
clerkOrgId: '',
|
|
12
12
|
};
|
|
13
|
-
async function fetchClient(publicKey, queryEndpoint, withCredentials = false, getToken,
|
|
13
|
+
async function fetchClient(publicKey, queryEndpoint, withCredentials = false, getToken, queryHeaders, includeTenants = false) {
|
|
14
14
|
let result = exports.EMPTY_CLIENT;
|
|
15
15
|
let clientTenantIds = [];
|
|
16
16
|
try {
|
|
@@ -46,17 +46,6 @@ async function fetchClient(publicKey, queryEndpoint, withCredentials = false, ge
|
|
|
46
46
|
}
|
|
47
47
|
catch (error) {
|
|
48
48
|
console.error('ERROR:', error);
|
|
49
|
-
eventTracking?.logError?.({
|
|
50
|
-
type: 'bug', // TODO: determine type
|
|
51
|
-
severity: 'high',
|
|
52
|
-
message: 'Error fetching client',
|
|
53
|
-
errorMessage: error.message,
|
|
54
|
-
errorStack: error.stack,
|
|
55
|
-
errorData: {
|
|
56
|
-
caller: 'fetchClient',
|
|
57
|
-
function: 'fetchClient',
|
|
58
|
-
},
|
|
59
|
-
});
|
|
60
49
|
throw error;
|
|
61
50
|
}
|
|
62
51
|
return {
|
|
@@ -2,7 +2,6 @@ import { QuillReportInternal } from '../models/Report';
|
|
|
2
2
|
import { QuillProviderClient } from '../models/Client';
|
|
3
3
|
import { AdditionalProcessing } from './tableProcessing';
|
|
4
4
|
import { CustomField } from '../models/Schema';
|
|
5
|
-
import { EventTracking } from '../QuillProvider';
|
|
6
5
|
/**
|
|
7
6
|
* Returns a cleaned version of the dashboard item we store in state. We clean
|
|
8
7
|
* the dashboard item so that we aren't exposing unnecessary details to the
|
|
@@ -10,13 +9,12 @@ import { EventTracking } from '../QuillProvider';
|
|
|
10
9
|
* interface to build amazing dashboards on top of.
|
|
11
10
|
* @param item
|
|
12
11
|
*/
|
|
13
|
-
export declare function cleanDashboardItem({ item, dashboardFilters, getToken,
|
|
12
|
+
export declare function cleanDashboardItem({ item, dashboardFilters, getToken, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, tenants, }: {
|
|
14
13
|
item: {
|
|
15
14
|
[key: string]: any;
|
|
16
15
|
} | undefined;
|
|
17
16
|
dashboardFilters: any;
|
|
18
17
|
getToken: () => Promise<string>;
|
|
19
|
-
eventTracking: EventTracking | null;
|
|
20
18
|
client: QuillProviderClient;
|
|
21
19
|
dateBucket?: string;
|
|
22
20
|
additionalProcessing?: AdditionalProcessing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACL,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EACL,oBAAoB,EAErB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuB/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,OAAO,GACR,EAAE;IACD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC;IACtB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACzB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyL/B;AAoKD,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Cd"}
|
|
@@ -35,7 +35,7 @@ const defaultDashboardItem = {
|
|
|
35
35
|
* interface to build amazing dashboards on top of.
|
|
36
36
|
* @param item
|
|
37
37
|
*/
|
|
38
|
-
async function cleanDashboardItem({ item, dashboardFilters, getToken,
|
|
38
|
+
async function cleanDashboardItem({ item, dashboardFilters, getToken, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, tenants, }) {
|
|
39
39
|
if (!item)
|
|
40
40
|
return defaultDashboardItem;
|
|
41
41
|
if (!item.rows) {
|
|
@@ -103,21 +103,10 @@ async function cleanDashboardItem({ item, dashboardFilters, getToken, eventTrack
|
|
|
103
103
|
],
|
|
104
104
|
}
|
|
105
105
|
: undefined,
|
|
106
|
-
}, dashboardFilters, item.dashboardName, getToken, client,
|
|
106
|
+
}, dashboardFilters, item.dashboardName, getToken, client, dateBucket, additionalProcessing, tenants, customFields);
|
|
107
107
|
}
|
|
108
108
|
catch (e) {
|
|
109
109
|
pivotTable = undefined;
|
|
110
|
-
eventTracking?.logError?.({
|
|
111
|
-
type: 'bug', // TODO: determine type
|
|
112
|
-
severity: 'high',
|
|
113
|
-
message: 'Error fetching pivot table',
|
|
114
|
-
errorMessage: e.message,
|
|
115
|
-
errorStack: e.stack,
|
|
116
|
-
errorData: {
|
|
117
|
-
caller: 'cleanDashboardItem',
|
|
118
|
-
function: 'cleanDashboardItem',
|
|
119
|
-
},
|
|
120
|
-
});
|
|
121
110
|
console.error('Error fetching pivot table', e);
|
|
122
111
|
pivotError = 'Error fetching pivot table';
|
|
123
112
|
}
|
|
@@ -217,7 +206,7 @@ async function cleanDashboardItem({ item, dashboardFilters, getToken, eventTrack
|
|
|
217
206
|
/**
|
|
218
207
|
* Extract and transform the data from itemInfo.
|
|
219
208
|
*/
|
|
220
|
-
async function getPivotTable(report, dashboardFilters, dashboardName, getToken, client,
|
|
209
|
+
async function getPivotTable(report, dashboardFilters, dashboardName, getToken, client, dateBucketInitial, additionalProcessing, tenants, customFields) {
|
|
221
210
|
if (!report)
|
|
222
211
|
return undefined;
|
|
223
212
|
const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.operator === 'BETWEEN');
|
|
@@ -289,24 +278,6 @@ async function getPivotTable(report, dashboardFilters, dashboardName, getToken,
|
|
|
289
278
|
dashboardName: dashboardName,
|
|
290
279
|
tenants,
|
|
291
280
|
customFields: customFields ?? {},
|
|
292
|
-
eventTracking,
|
|
293
|
-
});
|
|
294
|
-
report.distinctStrings = unique?.[pivot.columnField] ?? [];
|
|
295
|
-
}
|
|
296
|
-
if (pivot.columnField && !report.distinctStrings) {
|
|
297
|
-
const columnFieldColumn = (report.columnsWithCustomFields ?? report.columns).find((col) => col.field === pivot.columnField);
|
|
298
|
-
if (!columnFieldColumn) {
|
|
299
|
-
console.error('could not find pivot column field on report', pivot.columnField);
|
|
300
|
-
}
|
|
301
|
-
const unique = await (0, tableProcessing_1.getUniqueValuesByQuery)({
|
|
302
|
-
columns: [columnFieldColumn],
|
|
303
|
-
query: report.queryString,
|
|
304
|
-
client,
|
|
305
|
-
getToken,
|
|
306
|
-
dashboardName: dashboardName,
|
|
307
|
-
tenants,
|
|
308
|
-
customFields: customFields ?? {},
|
|
309
|
-
eventTracking,
|
|
310
281
|
});
|
|
311
282
|
report.distinctStrings = unique?.[pivot.columnField] ?? [];
|
|
312
283
|
}
|
|
@@ -325,17 +296,6 @@ async function getPivotTable(report, dashboardFilters, dashboardName, getToken,
|
|
|
325
296
|
return pivotTable;
|
|
326
297
|
}
|
|
327
298
|
catch (e) {
|
|
328
|
-
eventTracking?.logError?.({
|
|
329
|
-
type: 'bug', // TODO: determine type
|
|
330
|
-
severity: 'high',
|
|
331
|
-
message: 'Error fetching pivot table',
|
|
332
|
-
errorMessage: e.message,
|
|
333
|
-
errorStack: e.stack,
|
|
334
|
-
errorData: {
|
|
335
|
-
caller: 'getPivotTable',
|
|
336
|
-
function: 'getPivotTable',
|
|
337
|
-
},
|
|
338
|
-
});
|
|
339
299
|
console.error('Error fetching pivot table', e);
|
|
340
300
|
throw e;
|
|
341
301
|
}
|
|
@@ -351,7 +311,6 @@ async function getPivotTable(report, dashboardFilters, dashboardName, getToken,
|
|
|
351
311
|
dateFilter,
|
|
352
312
|
additionalProcessing,
|
|
353
313
|
getToken,
|
|
354
|
-
eventTracking,
|
|
355
314
|
})
|
|
356
315
|
: undefined;
|
|
357
316
|
}
|
|
@@ -3,7 +3,6 @@ import { QuillReport } from '../models/Report';
|
|
|
3
3
|
import { FilterTreeNode } from './astFilterProcessing';
|
|
4
4
|
import { ReportBuilderState } from '../models/ReportBuilder';
|
|
5
5
|
import { QuillProviderClient } from '../models/Client';
|
|
6
|
-
import { EventTracking } from '../QuillProvider';
|
|
7
6
|
export declare function findAndProcessDateFilter(filters: any[]): any;
|
|
8
7
|
export declare function processFilterFromBackend(filter: any): any;
|
|
9
8
|
export declare function updateFilter(filter: any, value: any | undefined, comparison: any | undefined, dashboardName: string): any;
|
|
@@ -24,7 +23,7 @@ export declare function filterStackToFilterTree(stack: any[]): FilterTreeNode |
|
|
|
24
23
|
/**
|
|
25
24
|
* This function uses the baseAst and forms a SQL query using the a filters array
|
|
26
25
|
*/
|
|
27
|
-
export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], client: QuillProviderClient, getToken: () => Promise<string
|
|
26
|
+
export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], client: QuillProviderClient, getToken: () => Promise<string>): Promise<{
|
|
28
27
|
success: boolean;
|
|
29
28
|
query?: string;
|
|
30
29
|
error?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,2BAA2B,IAAI,mBAAmB,EAClD,MAAM,EAEN,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,2BAA2B,IAAI,mBAAmB,EAClD,MAAM,EAEN,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,EACtB,aAAa,EAAE,MAAM,OAqFtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,cA0DhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,cAAc,EAAE,EACzB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkKrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,EAAE,EAClC,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAgDP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAkDpD,CAAC"}
|
|
@@ -305,7 +305,7 @@ function filterStackToFilterTree(stack) {
|
|
|
305
305
|
/**
|
|
306
306
|
* This function uses the baseAst and forms a SQL query using the a filters array
|
|
307
307
|
*/
|
|
308
|
-
async function buildQueryFromFilters(reportBuilderState, filters, client, getToken
|
|
308
|
+
async function buildQueryFromFilters(reportBuilderState, filters, client, getToken) {
|
|
309
309
|
const subTree = filterStackToFilterTree(filters);
|
|
310
310
|
let whereNode = null;
|
|
311
311
|
if (subTree) {
|
|
@@ -328,17 +328,6 @@ async function buildQueryFromFilters(reportBuilderState, filters, client, getTok
|
|
|
328
328
|
return { success: true, query };
|
|
329
329
|
}
|
|
330
330
|
catch (error) {
|
|
331
|
-
eventTracking?.logError?.({
|
|
332
|
-
type: 'bug', // TODO: determine type
|
|
333
|
-
severity: 'high',
|
|
334
|
-
message: 'Error building query from filters',
|
|
335
|
-
errorMessage: error.message,
|
|
336
|
-
errorStack: error.stack,
|
|
337
|
-
errorData: {
|
|
338
|
-
caller: 'buildQueryFromFilters',
|
|
339
|
-
function: 'buildQueryFromFilters',
|
|
340
|
-
},
|
|
341
|
-
});
|
|
342
331
|
return { success: false, error: `error: ${error.message}` };
|
|
343
332
|
}
|
|
344
333
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CAkXrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAYnD"}
|
|
@@ -147,16 +147,24 @@ async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFil
|
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
149
|
const columns = responseFields
|
|
150
|
-
?.map((field
|
|
150
|
+
?.map((field) => ({
|
|
151
151
|
field: (0, columnProcessing_1.processColumnName)(field.name),
|
|
152
152
|
label: (0, textProcessing_1.snakeCaseToTitleCase)((0, columnProcessing_1.processColumnName)(field.name.replace('comparison_', 'comparison '))),
|
|
153
153
|
format: field.name === pivot.rowField
|
|
154
154
|
? 'string'
|
|
155
155
|
: // This scary equation is calculating which aggregation a column is associated with.
|
|
156
156
|
// Eg you have 7 columns and 2 aggregations, you can assume column 0 is the row field, 1-3 is aggregation 0, and 4-6 is aggregation 1.
|
|
157
|
-
pivot.aggregations?.[
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
// pivot.aggregations?.[
|
|
158
|
+
// Math.floor(
|
|
159
|
+
// (index - 1) /
|
|
160
|
+
// Math.floor(
|
|
161
|
+
// (responseFields.length - 1) /
|
|
162
|
+
// (pivot.aggregations?.length ?? 1),
|
|
163
|
+
// ),
|
|
164
|
+
// )
|
|
165
|
+
// ]?.aggregationType === 'percentage'
|
|
166
|
+
pivot.aggregations?.find((agg) => agg.valueField === field.name ||
|
|
167
|
+
`${agg.valueField}_percentage` === field.name)?.aggregationType === 'percentage'
|
|
160
168
|
? 'percent'
|
|
161
169
|
: 'whole_number',
|
|
162
170
|
fieldType: field.fieldType,
|
|
@@ -219,17 +227,15 @@ async function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFil
|
|
|
219
227
|
}
|
|
220
228
|
}
|
|
221
229
|
// sort the rows by date
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
});
|
|
232
|
-
}
|
|
230
|
+
rows.sort((a, b) => {
|
|
231
|
+
if (a.__quillRawDate < b.__quillRawDate) {
|
|
232
|
+
return -1;
|
|
233
|
+
}
|
|
234
|
+
if (a.__quillRawDate > b.__quillRawDate) {
|
|
235
|
+
return 1;
|
|
236
|
+
}
|
|
237
|
+
return 0;
|
|
238
|
+
});
|
|
233
239
|
// remove the raw date field
|
|
234
240
|
// rows.forEach((row: any) => {
|
|
235
241
|
// delete row.__quillRawDate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAWxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAWxD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA2B7E;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;EAqDnC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAsCP;AAED,eAAO,MAAM,eAAe,WAAY,GAAG,SAAS,KAAK,YA8BxD,CAAC;AAEF,eAAO,MAAM,aAAa,UACjB,KAAK,WACH,cAAc,EAAE,WAChB,mBAAmB,kBACZ,MAAM,cACV,SAAS;;;;;;;;;;;CAuDtB,CAAC"}
|
|
@@ -11,7 +11,9 @@ const constants_1 = require("./constants");
|
|
|
11
11
|
const pivotConstructor_1 = require("./pivotConstructor");
|
|
12
12
|
const valueFormatter_1 = require("./valueFormatter");
|
|
13
13
|
function isValidPivot(pivot) {
|
|
14
|
-
if (!pivot.rowField &&
|
|
14
|
+
if (!pivot.rowField &&
|
|
15
|
+
!pivot.aggregations?.[0]?.valueField &&
|
|
16
|
+
pivot.aggregations?.[0]?.aggregationType !== 'count') {
|
|
15
17
|
return {
|
|
16
18
|
valid: false,
|
|
17
19
|
reason: 'Row field cannot be empty without a value field',
|
|
@@ -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;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAStE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,UAGrE;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,iBAAiB,CAAC,EAAE,OAAO,UAqH5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAmBD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,UAiC5B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,UAYnB;AAED,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,UAmBrB;AA6GD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAkBrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAkBpB;
|
|
1
|
+
{"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAStE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,UAGrE;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,iBAAiB,CAAC,EAAE,OAAO,UAqH5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAmBD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,UAiC5B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,UAYnB;AAED,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,UAmBrB;AA6GD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAkBrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAkBpB;AAg3BD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,SAAe,sBA2E5B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,sBAqB1E"}
|
|
@@ -403,7 +403,7 @@ function create2DStringPivotQuery(pivot, itemQuery, columnFieldValues, databaseT
|
|
|
403
403
|
caseWhens = [
|
|
404
404
|
...caseWhens,
|
|
405
405
|
...columnFieldValues.map((column) => {
|
|
406
|
-
return `sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) / GREATEST(sum(${value2Expr}), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
406
|
+
return `CAST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) AS FLOAT) / GREATEST(sum(${value2Expr}), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
407
407
|
}),
|
|
408
408
|
];
|
|
409
409
|
}
|
|
@@ -412,7 +412,7 @@ function create2DStringPivotQuery(pivot, itemQuery, columnFieldValues, databaseT
|
|
|
412
412
|
caseWhens = [
|
|
413
413
|
...caseWhens,
|
|
414
414
|
...columnFieldValues.map((column) => {
|
|
415
|
-
return `sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) / GREATEST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${value2Expr} END), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
415
|
+
return `CAST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) AS FLOAT) / GREATEST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${value2Expr} END), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
416
416
|
}),
|
|
417
417
|
];
|
|
418
418
|
}
|
|
@@ -524,7 +524,7 @@ function create2DDatePivotQuery(pivot, itemQuery, columnFieldValues, databaseTyp
|
|
|
524
524
|
caseWhens = [
|
|
525
525
|
...caseWhens,
|
|
526
526
|
...columnFieldValues.map((column) => {
|
|
527
|
-
return `sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) / GREATEST(sum(${value2Expr}), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
527
|
+
return `CAST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) AS FLOAT) / GREATEST(sum(${value2Expr}), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
528
528
|
}),
|
|
529
529
|
];
|
|
530
530
|
}
|
|
@@ -533,7 +533,7 @@ function create2DDatePivotQuery(pivot, itemQuery, columnFieldValues, databaseTyp
|
|
|
533
533
|
caseWhens = [
|
|
534
534
|
...caseWhens,
|
|
535
535
|
...columnFieldValues.map((column) => {
|
|
536
|
-
return `sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) / GREATEST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${value2Expr} END), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
536
|
+
return `CAST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) AS FLOAT) / GREATEST(sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${value2Expr} END), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
|
|
537
537
|
}),
|
|
538
538
|
];
|
|
539
539
|
}
|
|
@@ -635,8 +635,8 @@ function create1DStringPivotQuery(pivot, itemQuery, databaseType) {
|
|
|
635
635
|
: '';
|
|
636
636
|
const percentageExpr = currentAgg.valueField === currentAgg.valueField2 ||
|
|
637
637
|
!currentAgg.valueField2
|
|
638
|
-
? `sum(${valueExpr}) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
|
|
639
|
-
: `sum(${valueExpr}) / GREATEST(sum(${value2Expr}), 1)`;
|
|
638
|
+
? `CAST(sum(${valueExpr}) AS FLOAT) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
|
|
639
|
+
: `CAST(sum(${valueExpr}) AS FLOAT) / GREATEST(sum(${value2Expr}), 1)`;
|
|
640
640
|
quillAggSelects = [
|
|
641
641
|
...quillAggSelects,
|
|
642
642
|
`${percentageExpr} as ${processColumnReference(`${currentAgg.valueField ?? ''}${disambiguation}`, databaseType, undefined, false, true)}`,
|
|
@@ -730,8 +730,8 @@ function create1DDatePivotQuery(pivot, itemQuery, dateBucket = 'month', database
|
|
|
730
730
|
}
|
|
731
731
|
const percentageExpr = currentAgg.valueField === currentAgg.valueField2 ||
|
|
732
732
|
!currentAgg.valueField2
|
|
733
|
-
? `sum(${valueExpr}) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
|
|
734
|
-
: `sum(${valueExpr}) / GREATEST(sum(${value2Expr}), 1)`;
|
|
733
|
+
? `CAST(sum(${valueExpr}) AS FLOAT) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
|
|
734
|
+
: `CAST(sum(${valueExpr}) AS FLOAT) / GREATEST(sum(${value2Expr}), 1)`;
|
|
735
735
|
quillAggSelects = [
|
|
736
736
|
...quillAggSelects,
|
|
737
737
|
`${percentageExpr} as ${processColumnReference(`${currentAgg.valueField}${disambiguation}`, databaseType, undefined, false, true)}`,
|
|
@@ -815,8 +815,8 @@ function createAggregationValuePivot(pivot, itemQuery, databaseType) {
|
|
|
815
815
|
: '';
|
|
816
816
|
const percentageExpr = currentAgg.valueField === currentAgg.valueField2 ||
|
|
817
817
|
!currentAgg.valueField2
|
|
818
|
-
? `sum(${valueExpr}) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
|
|
819
|
-
: `sum(${valueExpr}) / GREATEST(sum(${value2Expr}), 1)`;
|
|
818
|
+
? `CAST(sum(${valueExpr}) AS FLOAT) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
|
|
819
|
+
: `CAST(sum(${valueExpr}) AS FLOAT) / GREATEST(sum(${value2Expr}), 1)`;
|
|
820
820
|
quillAggSelects = [
|
|
821
821
|
...quillAggSelects,
|
|
822
822
|
`${percentageExpr} as ${processColumnReference(`${currentAgg.valueField ?? ''}${disambiguation}`, databaseType, undefined, false, true)}`,
|
|
@@ -834,6 +834,9 @@ function createAggregationValuePivot(pivot, itemQuery, databaseType) {
|
|
|
834
834
|
valueFieldAliases.push(value2AliasSubstring);
|
|
835
835
|
});
|
|
836
836
|
valueFieldAliases = Array.from(new Set(valueFieldAliases));
|
|
837
|
+
if (valueFieldAliases.length === 0) {
|
|
838
|
+
valueFieldAliases = ['*'];
|
|
839
|
+
}
|
|
837
840
|
const sortQuery = pivot.sort && pivot.sortField && pivot.rowLimit
|
|
838
841
|
? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType, undefined, true)} ${pivot.sortDirection || ''} `
|
|
839
842
|
: '';
|
|
@@ -901,7 +904,12 @@ function additionalProcessingOnPivotQuery(pivot, query, additionalProcessing, da
|
|
|
901
904
|
const valueFieldAlias = processColumnReference((pivot.aggregations?.[0]?.valueField ?? '') + disambiguation, databaseType, undefined, false, true);
|
|
902
905
|
const defaultSortField = pivot.sortField || pivot.rowField || valueFieldAlias;
|
|
903
906
|
const defaultSortDirection = pivot.sortDirection || '';
|
|
904
|
-
|
|
907
|
+
if (defaultSortField !== `"_"`) {
|
|
908
|
+
sortQuery = `ORDER BY ${processColumnReference(defaultSortField, databaseType, undefined, true)} ${defaultSortDirection}`;
|
|
909
|
+
}
|
|
910
|
+
else {
|
|
911
|
+
sortQuery = '';
|
|
912
|
+
}
|
|
905
913
|
}
|
|
906
914
|
const additionalProcessingQuery = `
|
|
907
915
|
SELECT *
|
|
@@ -7,7 +7,6 @@ import { DateRangesByColumn, UniqueValuesByTable, Table, UniqueValuesByColumn }
|
|
|
7
7
|
import { AdditionalProcessing } from './tableProcessing';
|
|
8
8
|
import { CustomField } from '../models/Schema';
|
|
9
9
|
import { ReportBuilderColumn } from '../models/ReportBuilder';
|
|
10
|
-
import { EventTracking } from '../QuillProvider';
|
|
11
10
|
export type ReportBuilderInfo = {
|
|
12
11
|
rows: any[];
|
|
13
12
|
columns: ColumnInternal[];
|
|
@@ -28,7 +27,7 @@ export type ReportBuilderInfo = {
|
|
|
28
27
|
};
|
|
29
28
|
export declare const EMPTY_REPORT: QuillReport;
|
|
30
29
|
export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
|
|
31
|
-
export declare function fetchReport({ reportId, client, tenants, flags, useReportTask, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getToken,
|
|
30
|
+
export declare function fetchReport({ reportId, client, tenants, flags, useReportTask, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getToken, }: {
|
|
32
31
|
reportId: string;
|
|
33
32
|
client: QuillProviderClient;
|
|
34
33
|
tenants?: {
|
|
@@ -45,12 +44,11 @@ export declare function fetchReport({ reportId, client, tenants, flags, useRepor
|
|
|
45
44
|
rowCountOnly?: boolean;
|
|
46
45
|
abortSignal?: AbortSignal;
|
|
47
46
|
getToken: () => Promise<string>;
|
|
48
|
-
eventTracking: EventTracking | null;
|
|
49
47
|
}): Promise<{
|
|
50
48
|
report: QuillReportInternal;
|
|
51
49
|
error?: string;
|
|
52
50
|
}>;
|
|
53
|
-
export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, customFields, getToken,
|
|
51
|
+
export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, customFields, getToken, tenants, }: {
|
|
54
52
|
resp: any;
|
|
55
53
|
client: QuillProviderClient;
|
|
56
54
|
filters?: (InternalDashboardFilter | InternalFilter)[];
|
|
@@ -60,7 +58,6 @@ export declare function processReportResponse({ resp, client, filters, dateBucke
|
|
|
60
58
|
[tableName: string]: CustomField[];
|
|
61
59
|
} | null;
|
|
62
60
|
getToken: () => Promise<string>;
|
|
63
|
-
eventTracking: EventTracking | null;
|
|
64
61
|
tenants?: {
|
|
65
62
|
tenantField: string;
|
|
66
63
|
tenantIds: (string | number)[];
|
|
@@ -77,12 +74,11 @@ export declare function fetchReportRowCount(reportId: string, client: QuillProvi
|
|
|
77
74
|
tenantField: string;
|
|
78
75
|
tenantIds: (string | number)[];
|
|
79
76
|
}[] | (string | number)[], flags?: string[], useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any, abortSignal?: AbortSignal): Promise<number | undefined>;
|
|
80
|
-
export declare function saveReport({ report, dashboardItemId, client, getToken,
|
|
77
|
+
export declare function saveReport({ report, dashboardItemId, client, getToken, }: {
|
|
81
78
|
report: any;
|
|
82
79
|
dashboardItemId?: string;
|
|
83
80
|
client: QuillProviderClient;
|
|
84
81
|
getToken: () => Promise<string>;
|
|
85
|
-
eventTracking: EventTracking | null;
|
|
86
82
|
}): Promise<any>;
|
|
87
83
|
export declare const formatRowsFromReport: (report: any, xAxisField?: string, xAxisFormat?: string) => any;
|
|
88
84
|
export declare function formattedPivotRowsAndColumns(report: QuillReport): {
|
|
@@ -92,8 +88,8 @@ export declare function formattedPivotRowsAndColumns(report: QuillReport): {
|
|
|
92
88
|
columns: Column[];
|
|
93
89
|
rowCount: number;
|
|
94
90
|
};
|
|
95
|
-
export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: InternalDashboardFilter[],
|
|
96
|
-
export declare const fetchReportBuilderDataFromAST: ({ baseAst, schema, client, tenants, pivot, skipPivotColumnFetch, previousRelevant, requiresNewFilteredUniqueValues, report, customFields, skipUniqueValues, skipRowCount, processing, dashboardName, getToken,
|
|
91
|
+
export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: InternalDashboardFilter[], initiator?: string): QuillReport;
|
|
92
|
+
export declare const fetchReportBuilderDataFromAST: ({ baseAst, schema, client, tenants, pivot, skipPivotColumnFetch, previousRelevant, requiresNewFilteredUniqueValues, report, customFields, skipUniqueValues, skipRowCount, processing, dashboardName, getToken, }: {
|
|
97
93
|
baseAst: any;
|
|
98
94
|
schema: Table[];
|
|
99
95
|
client: QuillProviderClient;
|
|
@@ -116,6 +112,5 @@ export declare const fetchReportBuilderDataFromAST: ({ baseAst, schema, client,
|
|
|
116
112
|
processing?: AdditionalProcessing;
|
|
117
113
|
dashboardName: string;
|
|
118
114
|
getToken: () => Promise<string>;
|
|
119
|
-
eventTracking: EventTracking | null;
|
|
120
115
|
}) => Promise<ReportBuilderInfo>;
|
|
121
116
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -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,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EAEvB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,KAAK,EACL,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACL,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"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"}
|