@quillsql/react 2.11.28 → 2.11.29
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/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +81 -48
- package/dist/cjs/ReportBuilder.d.ts +22 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +562 -527
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +0 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +28 -0
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -0
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +58 -0
- package/dist/cjs/utils/astProcessing.d.ts +23 -0
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +241 -1
- package/dist/cjs/utils/tableProcessing.d.ts +1 -0
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +13 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +81 -48
- package/dist/esm/ReportBuilder.d.ts +22 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +563 -528
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +0 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +28 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.js +55 -0
- package/dist/esm/utils/astProcessing.d.ts +23 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +231 -0
- package/dist/esm/utils/tableProcessing.d.ts +1 -0
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +11 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components/UiComponents.tsx"],"names":[],"mappings":"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"}
|
|
@@ -410,7 +410,6 @@ export const QuillColumnSearchEmptyState = () => {
|
|
|
410
410
|
export const QuillLoadingComponent = () => {
|
|
411
411
|
const theme = useTheme();
|
|
412
412
|
return (_jsxs("div", { style: {
|
|
413
|
-
background: theme.backgroundColor,
|
|
414
413
|
width: 250,
|
|
415
414
|
minWidth: 250,
|
|
416
415
|
height: '100%',
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Column } from '../../models/Columns';
|
|
3
|
+
interface PivotFormProps {
|
|
4
|
+
pivotRowField: any;
|
|
5
|
+
setPivotRowField: any;
|
|
6
|
+
pivotColumnField: any;
|
|
7
|
+
setPivotColumnField: any;
|
|
8
|
+
pivotValueField: any;
|
|
9
|
+
setPivotValueField: any;
|
|
10
|
+
pivotAggregation: any;
|
|
11
|
+
setPivotAggregation: any;
|
|
12
|
+
columns: Column[];
|
|
13
|
+
uniqueValues?: any;
|
|
14
|
+
onDelete: any;
|
|
15
|
+
SecondaryButtonComponent: (props: {
|
|
16
|
+
onClick: () => void;
|
|
17
|
+
label: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
icon?: ReactNode;
|
|
20
|
+
}) => JSX.Element;
|
|
21
|
+
SelectComponent: any;
|
|
22
|
+
PivotColumnContainer?: (props: {
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
}) => JSX.Element;
|
|
25
|
+
}
|
|
26
|
+
export default function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotAggregation, setPivotAggregation, columns, uniqueValues, onDelete, SecondaryButtonComponent, SelectComponent, PivotColumnContainer, }: PivotFormProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=PivotForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PivotForm.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotForm.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAQ9D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,UAAU,cAAc;IACtB,aAAa,EAAE,GAAG,CAAC;IACnB,gBAAgB,EAAE,GAAG,CAAC;IACtB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,gBAAgB,EAAE,GAAG,CAAC;IACtB,mBAAmB,EAAE,GAAG,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC;IACd,wBAAwB,EAAE,CAAC,KAAK,EAAE;QAChC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;CACxE;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,eAAe,EACf,oBAAgD,GACjD,EAAE,cAAc,2CAmGhB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { QuillPivotColumnContainer, } from '../../components/UiComponents';
|
|
4
|
+
import { snakeCaseToTitleCase } from '../../utils/textProcessing';
|
|
5
|
+
import { numberFormatOptions } from '../../ChartBuilder';
|
|
6
|
+
import { getPossiblePivotFieldOptions } from '../../utils/pivotProcessing';
|
|
7
|
+
export default function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotAggregation, setPivotAggregation, columns, uniqueValues, onDelete, SecondaryButtonComponent, SelectComponent, PivotColumnContainer = QuillPivotColumnContainer, }) {
|
|
8
|
+
const [allowedColumnFields, setAllowedColumnFields] = useState([]);
|
|
9
|
+
const [allowedRowFields, setAllowedRowFields] = useState([]);
|
|
10
|
+
const [allowedValueFields, setAllowedValueFields] = useState([]);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const possibleColumns = getPossiblePivotFieldOptions(columns, uniqueValues);
|
|
13
|
+
setAllowedRowFields(possibleColumns.rowFields);
|
|
14
|
+
setAllowedColumnFields(possibleColumns.columnFields);
|
|
15
|
+
setAllowedValueFields(possibleColumns.valueFields);
|
|
16
|
+
}, [columns, uniqueValues]);
|
|
17
|
+
return (_jsxs(PivotColumnContainer, { children: [_jsx(SelectComponent, { id: "pivot-row-field", label: "Row field", value: pivotRowField, onChange: (e) => {
|
|
18
|
+
setPivotRowField(e.target.value === '' ? undefined : e.target.value);
|
|
19
|
+
}, options: allowedRowFields.map((field) => {
|
|
20
|
+
return {
|
|
21
|
+
label: snakeCaseToTitleCase(field),
|
|
22
|
+
value: field,
|
|
23
|
+
};
|
|
24
|
+
}), width: 200 }), _jsx(SelectComponent, { id: "pivot-row-field", label: "Column field", value: pivotColumnField, onChange: (e) => {
|
|
25
|
+
setPivotColumnField(e.target.value === '' ? undefined : e.target.value);
|
|
26
|
+
}, options: allowedColumnFields.map((field) => {
|
|
27
|
+
return {
|
|
28
|
+
label: snakeCaseToTitleCase(field),
|
|
29
|
+
value: field,
|
|
30
|
+
};
|
|
31
|
+
}), width: 200 }), _jsx(SelectComponent, { id: "pivot-row-field", label: "Value field", value: pivotValueField, onChange: (e) => {
|
|
32
|
+
setPivotValueField(e.target.value === '' ? undefined : e.target.value);
|
|
33
|
+
}, options: allowedValueFields.map((field) => {
|
|
34
|
+
return {
|
|
35
|
+
label: snakeCaseToTitleCase(field),
|
|
36
|
+
value: field,
|
|
37
|
+
};
|
|
38
|
+
}), width: 200 }), _jsx(SelectComponent, { id: "pivot-row-field", label: "Aggregation type", value: pivotAggregation, onChange: (e) => {
|
|
39
|
+
if (e.target.value !== 'count' &&
|
|
40
|
+
pivotValueField &&
|
|
41
|
+
!numberFormatOptions.includes(columns.find((col) => col.field === pivotValueField)
|
|
42
|
+
.format)) {
|
|
43
|
+
setPivotValueField(null);
|
|
44
|
+
}
|
|
45
|
+
setPivotAggregation(e.target.value === '' ? undefined : e.target.value);
|
|
46
|
+
}, options: [
|
|
47
|
+
...['sum', 'average', 'count', 'max', 'min'].map((option) => {
|
|
48
|
+
return { label: option, value: option };
|
|
49
|
+
}),
|
|
50
|
+
], width: 200 }), _jsx("div", { style: {
|
|
51
|
+
display: 'flex',
|
|
52
|
+
alignItems: 'flex-start',
|
|
53
|
+
flexDirection: 'column',
|
|
54
|
+
}, children: _jsx(SecondaryButtonComponent, { onClick: onDelete, label: "Delete Pivot" }) })] }));
|
|
55
|
+
}
|
|
@@ -1,3 +1,26 @@
|
|
|
1
1
|
import { Column } from '../models/Columns';
|
|
2
|
+
export declare function getSelectFromAST(ast: any): any;
|
|
2
3
|
export declare function processStarColumn(ast: any, columns: Column[]): any;
|
|
4
|
+
export declare function recursiveSearchByKey(node: any, searchKey: string): any;
|
|
5
|
+
export declare function recursiveSearchByKeys(node: any, searchKeys: string[]): any;
|
|
6
|
+
export declare function createTableNameToTableAliasMap(ast: any): {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function getColumnsByTableName(ast: any, tableName: string): {
|
|
10
|
+
columns: {
|
|
11
|
+
field: string;
|
|
12
|
+
}[];
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function processApostrophe(node: any, searchKeys: string[]): any;
|
|
16
|
+
export declare function recursiveSearchByKeysFindAllOccurances(node: any, searchKeys: string[], results: any[]): any;
|
|
17
|
+
export declare function getColumnAndTableInfo(tableAliasMap: {
|
|
18
|
+
[alias: string]: string;
|
|
19
|
+
}, column: any, schemaInfo: any): {
|
|
20
|
+
tableName: string;
|
|
21
|
+
columnName: string;
|
|
22
|
+
} | undefined;
|
|
23
|
+
export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: any, tableAliasMap: any): {
|
|
24
|
+
[table: string]: string[];
|
|
25
|
+
};
|
|
3
26
|
//# sourceMappingURL=astProcessing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D"}
|
|
1
|
+
{"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA2BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAoG/B"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
export function getSelectFromAST(ast) {
|
|
2
|
+
if (Array.isArray(ast)) {
|
|
3
|
+
return ast[0];
|
|
4
|
+
}
|
|
5
|
+
else if (ast.select) {
|
|
6
|
+
return ast.select;
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
return ast;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
1
12
|
export function processStarColumn(ast, columns) {
|
|
2
13
|
if (ast.columns === '*') {
|
|
3
14
|
ast.columns = columns.map((column) => {
|
|
@@ -14,3 +25,223 @@ export function processStarColumn(ast, columns) {
|
|
|
14
25
|
}
|
|
15
26
|
return ast;
|
|
16
27
|
}
|
|
28
|
+
// a useful function to search for a specific keywork and return the value
|
|
29
|
+
export function recursiveSearchByKey(node, searchKey) {
|
|
30
|
+
let result = undefined;
|
|
31
|
+
if (!node || typeof node !== 'object') {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
if (node[searchKey]) {
|
|
35
|
+
return node[searchKey];
|
|
36
|
+
}
|
|
37
|
+
const keys = Object.keys(node);
|
|
38
|
+
for (const key of keys) {
|
|
39
|
+
result = recursiveSearchByKey(node[key], searchKey);
|
|
40
|
+
if (result) {
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
// If the object has all the requested keys, return the object
|
|
47
|
+
export function recursiveSearchByKeys(node, searchKeys) {
|
|
48
|
+
let result = undefined;
|
|
49
|
+
if (!node || typeof node !== 'object') {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
const nodeKeys = Object.keys(node);
|
|
53
|
+
if (searchKeys.every((key) => nodeKeys.includes(key))) {
|
|
54
|
+
return node;
|
|
55
|
+
}
|
|
56
|
+
for (const key of nodeKeys) {
|
|
57
|
+
result = recursiveSearchByKeys(node[key], searchKeys);
|
|
58
|
+
if (result) {
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
export function createTableNameToTableAliasMap(ast) {
|
|
65
|
+
const tableNameToTableAliasMap = {};
|
|
66
|
+
if (ast.from) {
|
|
67
|
+
for (const table of ast.from) {
|
|
68
|
+
const tableObject = recursiveSearchByKeys(table, ['table', 'as']);
|
|
69
|
+
if (tableObject.as) {
|
|
70
|
+
tableNameToTableAliasMap[tableObject.as] = tableObject.table;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
tableNameToTableAliasMap[tableObject.table] = tableObject.table;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (ast.with) {
|
|
78
|
+
for (const withStmt of ast.with) {
|
|
79
|
+
if (withStmt.stmt.ast.from) {
|
|
80
|
+
for (const table of withStmt.stmt.ast.from) {
|
|
81
|
+
const tableObject = recursiveSearchByKeys(table, ['table', 'as']);
|
|
82
|
+
if (tableObject.as) {
|
|
83
|
+
tableNameToTableAliasMap[tableObject.as] = tableObject.table;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
tableNameToTableAliasMap[tableObject.table] = tableObject.table;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return tableNameToTableAliasMap;
|
|
93
|
+
}
|
|
94
|
+
export function getColumnsByTableName(ast, tableName) {
|
|
95
|
+
const tableNameToTableAliasMap = createTableNameToTableAliasMap(ast);
|
|
96
|
+
const columns = [];
|
|
97
|
+
ast.columns.forEach((col) => {
|
|
98
|
+
const columnInfo = recursiveSearchByKeys(col, ['table', 'column']);
|
|
99
|
+
if (columnInfo.table === tableName ||
|
|
100
|
+
columnInfo.table === tableNameToTableAliasMap[tableName]) {
|
|
101
|
+
columns.push({ field: columnInfo.column });
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
return { columns, name: tableName };
|
|
105
|
+
}
|
|
106
|
+
export function processApostrophe(node, searchKeys) {
|
|
107
|
+
if (!node || typeof node !== 'object') {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const nodeKeys = Object.keys(node);
|
|
111
|
+
if (searchKeys.every((key) => nodeKeys.includes(key))) {
|
|
112
|
+
if (node.type === 'single_quote_string') {
|
|
113
|
+
node.value = node.value.replace("''", "'").replace("\\'", "'");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
for (const key of nodeKeys) {
|
|
117
|
+
processApostrophe(node[key], searchKeys);
|
|
118
|
+
}
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
export function recursiveSearchByKeysFindAllOccurances(node, searchKeys, results) {
|
|
122
|
+
if (!node || typeof node !== 'object') {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const nodeKeys = Object.keys(node);
|
|
126
|
+
if (searchKeys.every((key) => nodeKeys.includes(key))) {
|
|
127
|
+
return results.push(node);
|
|
128
|
+
}
|
|
129
|
+
for (const key of nodeKeys) {
|
|
130
|
+
recursiveSearchByKeysFindAllOccurances(node[key], searchKeys, results);
|
|
131
|
+
}
|
|
132
|
+
return results;
|
|
133
|
+
}
|
|
134
|
+
export function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
|
|
135
|
+
let columnsInfo = recursiveSearchByKeys(column, ['table', 'column']);
|
|
136
|
+
if (!columnsInfo) {
|
|
137
|
+
const quoteStringColumn = recursiveSearchByKeys(column, ['type', 'value']);
|
|
138
|
+
columnsInfo = { table: null, column: quoteStringColumn.value };
|
|
139
|
+
}
|
|
140
|
+
let columnName = columnsInfo.column;
|
|
141
|
+
if (typeof columnsInfo.column !== 'string') {
|
|
142
|
+
columnName = columnsInfo.column.expr.value;
|
|
143
|
+
}
|
|
144
|
+
let tableName = '';
|
|
145
|
+
if (columnsInfo.table) {
|
|
146
|
+
tableName = tableAliasMap[columnsInfo.table];
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// If there is no column name search through the schemaInfo to find an accurate table name
|
|
150
|
+
const tableNames = Object.values(tableAliasMap);
|
|
151
|
+
for (const table of tableNames) {
|
|
152
|
+
const tableInfo = schemaInfo.find((tableInfo) => tableInfo.name === table);
|
|
153
|
+
const columnNames = tableInfo.columns.map((column) => column.name);
|
|
154
|
+
if (columnNames.includes(columnName)) {
|
|
155
|
+
tableName = table;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// const tableName = columnsInfo.table
|
|
161
|
+
// ? tableAliasMap[columnsInfo.table]
|
|
162
|
+
// : //@ts-ignore
|
|
163
|
+
// tableAliasMap[Object.keys(tableAliasMap)[0]];
|
|
164
|
+
return { tableName, columnName };
|
|
165
|
+
}
|
|
166
|
+
export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
|
|
167
|
+
let referencedColumns = {};
|
|
168
|
+
if (ast.columns === '*' || ast.columns[0].expr.column === '*') {
|
|
169
|
+
// Be sure to select everything from stars
|
|
170
|
+
const tableList = ast.from.map((table) => recursiveSearchByKey(table, 'table'));
|
|
171
|
+
tableList.forEach((table) => {
|
|
172
|
+
const tableInfo = tables.find((tableInfo) => tableInfo.name === table);
|
|
173
|
+
if (tableInfo) {
|
|
174
|
+
if (!referencedColumns[table]) {
|
|
175
|
+
referencedColumns[table] = [];
|
|
176
|
+
}
|
|
177
|
+
referencedColumns[table] = tableInfo.columns.map((column) => column.name || '');
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// look through all the columns
|
|
183
|
+
ast.columns.forEach((column) => {
|
|
184
|
+
const result = getColumnAndTableInfo(tableAliasMap, column, tables);
|
|
185
|
+
if (!result || !result.tableName)
|
|
186
|
+
return;
|
|
187
|
+
if (!referencedColumns[result.tableName]) {
|
|
188
|
+
referencedColumns[result.tableName] = [];
|
|
189
|
+
}
|
|
190
|
+
// @ts-ignore
|
|
191
|
+
referencedColumns[result.tableName].push(result.columnName);
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
// Look through every join reference
|
|
195
|
+
if (ast.from) {
|
|
196
|
+
const allColumnReferncesInFrom = recursiveSearchByKeysFindAllOccurances(ast.from, ['column', 'table'], []);
|
|
197
|
+
allColumnReferncesInFrom.forEach((column) => {
|
|
198
|
+
const result = getColumnAndTableInfo(tableAliasMap, column, tables);
|
|
199
|
+
if (!result || !result.tableName)
|
|
200
|
+
return;
|
|
201
|
+
if (!referencedColumns[result.tableName]) {
|
|
202
|
+
referencedColumns[result.tableName] = [];
|
|
203
|
+
}
|
|
204
|
+
// @ts-ignore
|
|
205
|
+
referencedColumns[result.tableName].push(result.columnName);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
// Look through the where's
|
|
209
|
+
if (ast.where) {
|
|
210
|
+
let allColumnReferncesInWhere = recursiveSearchByKeysFindAllOccurances(ast.where, ['column', 'table'], []);
|
|
211
|
+
allColumnReferncesInWhere.forEach((column) => {
|
|
212
|
+
const result = getColumnAndTableInfo(tableAliasMap, column, tables);
|
|
213
|
+
if (!result || !result.tableName || !result.columnName)
|
|
214
|
+
return;
|
|
215
|
+
if (!referencedColumns[result.tableName]) {
|
|
216
|
+
referencedColumns[result.tableName] = [];
|
|
217
|
+
}
|
|
218
|
+
// @ts-ignore
|
|
219
|
+
referencedColumns[result.tableName].push(result.columnName);
|
|
220
|
+
});
|
|
221
|
+
// NEED TO SEARCH FOR ALL DOUBLE QUOTE STRINGS AS WELL
|
|
222
|
+
allColumnReferncesInWhere = recursiveSearchByKeysFindAllOccurances(ast.where, ['type', 'value'], []);
|
|
223
|
+
allColumnReferncesInWhere.forEach((column) => {
|
|
224
|
+
if (column.type === 'double_quote_string') {
|
|
225
|
+
let tableName = '';
|
|
226
|
+
const tableNames = Object.values(tableAliasMap);
|
|
227
|
+
for (const table of tableNames) {
|
|
228
|
+
const tableInfo = tables.find((tableInfo) => tableInfo.name === table);
|
|
229
|
+
const columnNames = tableInfo.columns.map((column) => column.name);
|
|
230
|
+
if (columnNames.includes(column.value)) {
|
|
231
|
+
tableName = table;
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
if (!referencedColumns[tableName]) {
|
|
236
|
+
referencedColumns[tableName] = [];
|
|
237
|
+
}
|
|
238
|
+
// @ts-ignore
|
|
239
|
+
referencedColumns[tableName].push(column.value);
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
for (const table in referencedColumns) {
|
|
244
|
+
referencedColumns[table] = Array.from(new Set(referencedColumns[table]));
|
|
245
|
+
}
|
|
246
|
+
return referencedColumns;
|
|
247
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Column } from '../models/Columns';
|
|
2
|
+
export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
|
|
2
3
|
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: any) => Promise<{
|
|
3
4
|
[column: string]: {
|
|
4
5
|
[value: string]: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,eAAO,MAAM,wBAAwB,YAC1B,MAAM,EAAE,SACV,MAAM,QACP,GAAG,UACD,GAAG;;;;SAwDZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,eAAO,MAAM,cAAc,YAChB,MAAM,EAAE,qBACE,MAAM,EAAE,KAC1B,OAUF,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,MAAM,EAAE,SACV,MAAM,QACP,GAAG,UACD,GAAG;;;;SAwDZ,CAAC"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { getData } from './dataFetcher';
|
|
2
2
|
import { generateDistinctQuery } from './queryConstructor';
|
|
3
|
+
export const hasColumnAlias = (columns, referencedColumns) => {
|
|
4
|
+
if (!referencedColumns) {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
for (const column of columns) {
|
|
8
|
+
if (!referencedColumns.includes(column.field)) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
};
|
|
3
14
|
export const getUniqueValuesByColumns = async (columns, query, rows, client) => {
|
|
4
15
|
const stringNames = columns.map((column) => column.field);
|
|
5
16
|
const uniqueValues = {};
|