@quillsql/react 2.12.40 → 2.12.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.js +1 -1
- package/dist/cjs/ChartBuilder.d.ts +1 -1
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +6 -6
- package/dist/cjs/Dashboard.js +5 -5
- package/dist/cjs/ReportBuilder.d.ts +1 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +111 -1588
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +0 -9
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +1 -11
- package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +32 -32
- package/dist/cjs/components/ReportBuilder/convert.d.ts +5 -31
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +1 -1
- package/dist/cjs/hooks/useAskQuill.d.ts +27 -0
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -0
- package/dist/cjs/hooks/useAskQuill.js +177 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -3
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -15
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +24 -24
- package/dist/cjs/models/Filter.d.ts +25 -19
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Filter.js +2 -2
- package/dist/cjs/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
- package/dist/cjs/models/Pivot.d.ts.map +1 -0
- package/dist/cjs/models/Report.d.ts +1 -1
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/models/Tables.d.ts +16 -0
- package/dist/cjs/models/Tables.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +27 -27
- package/dist/cjs/utils/astProcessing.d.ts +42 -0
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +210 -1
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dataFetcher.d.ts +4 -0
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +24 -1
- package/dist/cjs/utils/dates.d.ts +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts +2 -2
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +6 -6
- package/dist/cjs/utils/pivotConstructor.d.ts +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +7 -4
- package/dist/cjs/utils/pivotProcessing.d.ts +4 -4
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +21 -2
- package/dist/cjs/utils/queryConstructor.d.ts +1 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +3 -3
- package/dist/cjs/utils/report.d.ts +25 -0
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +114 -2
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/tableProcessing.d.ts +18 -0
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +94 -1
- package/dist/esm/Chart.js +1 -1
- package/dist/esm/ChartBuilder.d.ts +1 -1
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +6 -6
- package/dist/esm/Dashboard.js +5 -5
- package/dist/esm/ReportBuilder.d.ts +1 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +121 -1598
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +0 -9
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +1 -11
- package/dist/esm/components/Dashboard/DataLoader.js +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +32 -32
- package/dist/esm/components/ReportBuilder/convert.d.ts +5 -31
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +1 -1
- package/dist/esm/hooks/useAskQuill.d.ts +27 -0
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -0
- package/dist/esm/hooks/useAskQuill.js +173 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -3
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -15
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +24 -24
- package/dist/esm/models/Filter.d.ts +25 -19
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Filter.js +2 -2
- package/dist/esm/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
- package/dist/esm/models/Pivot.d.ts.map +1 -0
- package/dist/esm/models/Report.d.ts +1 -1
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/models/Tables.d.ts +16 -0
- package/dist/esm/models/Tables.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +27 -27
- package/dist/esm/utils/astProcessing.d.ts +42 -0
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +204 -0
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dataFetcher.d.ts +4 -0
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +22 -0
- package/dist/esm/utils/dates.d.ts +1 -1
- package/dist/esm/utils/filterProcessing.d.ts +2 -2
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +7 -7
- package/dist/esm/utils/pivotConstructor.d.ts +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +7 -4
- package/dist/esm/utils/pivotProcessing.d.ts +4 -4
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +19 -1
- package/dist/esm/utils/queryConstructor.d.ts +1 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +3 -3
- package/dist/esm/utils/report.d.ts +25 -0
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +114 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/tableProcessing.d.ts +18 -0
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +91 -1
- package/package.json +1 -1
- package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +0 -1
- package/dist/cjs/models/Pivots.d.ts +0 -2
- package/dist/cjs/models/Pivots.d.ts.map +0 -1
- package/dist/cjs/models/Pivots.js +0 -2
- package/dist/esm/components/ReportBuilder/pivot.d.ts.map +0 -1
- package/dist/esm/models/Pivots.d.ts +0 -2
- package/dist/esm/models/Pivots.d.ts.map +0 -1
- package/dist/esm/models/Pivots.js +0 -1
- /package/dist/cjs/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
- /package/dist/esm/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/BarChart.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,SAAS,EACT,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,mBAAmB,EACnB,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,
|
|
1
|
+
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/BarChart.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,SAAS,EACT,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,mBAAmB,EACnB,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CA6MA"}
|
|
@@ -29,15 +29,6 @@ function BarChart({ colors, colorMap, yAxisFields, data, containerStyle, classNa
|
|
|
29
29
|
setFormattedData(barChartData);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
const curData = data.map((d) => {
|
|
33
|
-
const formatted = { ...d };
|
|
34
|
-
// NEED TO FORMAT FOR BIG QUERY
|
|
35
|
-
if (d[xAxisField] && typeof d[xAxisField] === 'object') {
|
|
36
|
-
formatted[xAxisField] = d[xAxisField].value;
|
|
37
|
-
}
|
|
38
|
-
return formatted;
|
|
39
|
-
});
|
|
40
|
-
setFormattedData(curData);
|
|
41
32
|
}, [data]);
|
|
42
33
|
const getCustomColor = (field) => {
|
|
43
34
|
const key = field.startsWith('comparison_') ? 'comparison' : 'primary';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,
|
|
1
|
+
{"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/LineChart.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAgC7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,MAAM,EACN,QAAa,EACb,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,iBAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,mBAA6B,EAC7B,sBAAsB,EACtB,mBAA8B,EAC9B,UAAU,GACX,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,EAAE,OAAO,CAAC;IACrC,yBAAyB,EAAE,OAAO,CAAC;IACnC,wBAAwB,EAAE,OAAO,CAAC;IAClC,sBAAsB,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;CAClB,2CA4PA"}
|
|
@@ -42,17 +42,7 @@ function LineChart({ colors, colorMap = {}, yAxisFields, data, containerStyle, c
|
|
|
42
42
|
setFormattedData(createLineForEmptyChart(yAxisFields, dateFilter, xAxisField, xAxisFormat));
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
if (typeof data[0][xAxisField] === 'object') {
|
|
47
|
-
newData = data.map((d) => {
|
|
48
|
-
const formatted = { ...d };
|
|
49
|
-
// NEED TO FORMAT FOR BIG QUERY
|
|
50
|
-
if (d[xAxisField] && typeof d[xAxisField] === 'object') {
|
|
51
|
-
formatted[xAxisField] = d[xAxisField].value;
|
|
52
|
-
}
|
|
53
|
-
return formatted;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
45
|
+
const newData = [...data];
|
|
56
46
|
if (newData.length === 1) {
|
|
57
47
|
const point = { ...newData[0] };
|
|
58
48
|
newData.push(point);
|
|
@@ -11,7 +11,7 @@ const tableProcessing_1 = require("../../utils/tableProcessing");
|
|
|
11
11
|
const constructReportFromItem = (item) => {
|
|
12
12
|
return {
|
|
13
13
|
...report_1.EMPTY_REPORT,
|
|
14
|
-
id: item._id,
|
|
14
|
+
id: item._id ?? '',
|
|
15
15
|
name: item.name,
|
|
16
16
|
dashboardName: item.dashboardName,
|
|
17
17
|
rows: [],
|
|
@@ -16,20 +16,20 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
16
16
|
const [field, setField] = (0, react_1.useState)(filter ? filter.field : '');
|
|
17
17
|
const [fieldOptions, setFieldOptions] = (0, react_1.useState)([]);
|
|
18
18
|
const [fieldValues, setFieldValues] = (0, react_1.useState)([]);
|
|
19
|
-
const [type, setType] = (0, react_1.useState)(filter ? filter.
|
|
19
|
+
const [type, setType] = (0, react_1.useState)(filter ? filter.filterType : '');
|
|
20
20
|
const [value, setValue] = (0, react_1.useState)(filter
|
|
21
|
-
? filter.
|
|
21
|
+
? filter.filterType === 'date-filter'
|
|
22
22
|
? filter.value.value
|
|
23
23
|
: filter.value
|
|
24
24
|
: undefined);
|
|
25
|
-
const [selectedOptions, setSelectedOptions] = (0, react_1.useState)(filter && filter.
|
|
25
|
+
const [selectedOptions, setSelectedOptions] = (0, react_1.useState)(filter && filter.filterType === 'string-in-filter'
|
|
26
26
|
? filter.value.map((val) => {
|
|
27
27
|
return { label: val, value: val };
|
|
28
28
|
})
|
|
29
29
|
: []);
|
|
30
30
|
const [operator, setOperator] = (0, react_1.useState)(filter ? filter.operator : '');
|
|
31
31
|
const [operatorOptions, setOperatorOptions] = (0, react_1.useState)([]);
|
|
32
|
-
const [unit, setUnit] = (0, react_1.useState)(filter && filter.
|
|
32
|
+
const [unit, setUnit] = (0, react_1.useState)(filter && filter.filterType === 'date-filter' ? filter.value.unit : '');
|
|
33
33
|
const [unitOptions, setUnitOptions] = (0, react_1.useState)([]);
|
|
34
34
|
const [startDate, setStartDate] = (0, react_1.useState)(filter && filter.value?.startDate
|
|
35
35
|
? filter.value.startDate.substring(0, 10)
|
|
@@ -41,7 +41,7 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
41
41
|
const [table, setTable] = (0, react_1.useState)('');
|
|
42
42
|
// Define all supported operator options for each field type
|
|
43
43
|
const allOperatorOptions = {
|
|
44
|
-
[Filter_1.FieldTypes.
|
|
44
|
+
[Filter_1.FieldTypes.Number]: [
|
|
45
45
|
Filter_1.NumberOperator.EqualTo,
|
|
46
46
|
Filter_1.NumberOperator.NotEqualTo,
|
|
47
47
|
Filter_1.NumberOperator.GreaterThan,
|
|
@@ -82,7 +82,7 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
82
82
|
// Effect hook to initialize or update fieldValues based on selected field
|
|
83
83
|
(0, react_1.useEffect)(() => {
|
|
84
84
|
if (filter) {
|
|
85
|
-
if (filter.
|
|
85
|
+
if (filter.filterType === 'string-in-filter') {
|
|
86
86
|
setSelectedOptions(filter.value.map((val) => {
|
|
87
87
|
return { label: val, value: val };
|
|
88
88
|
}));
|
|
@@ -143,7 +143,7 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
143
143
|
setOperator(Filter_1.DateOperator.InTheLast);
|
|
144
144
|
setValue('90');
|
|
145
145
|
break;
|
|
146
|
-
case '
|
|
146
|
+
case 'number':
|
|
147
147
|
setOperator(Filter_1.NumberOperator.EqualTo);
|
|
148
148
|
setValue('0');
|
|
149
149
|
break;
|
|
@@ -270,8 +270,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
270
270
|
}
|
|
271
271
|
onSubmitFilter({
|
|
272
272
|
field,
|
|
273
|
-
|
|
274
|
-
|
|
273
|
+
filterType: Filter_1.FilterNames.DateFilter,
|
|
274
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
275
275
|
operator: operator,
|
|
276
276
|
value: { value: value, unit: unit },
|
|
277
277
|
table,
|
|
@@ -284,8 +284,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
284
284
|
}
|
|
285
285
|
onSubmitFilter({
|
|
286
286
|
field,
|
|
287
|
-
|
|
288
|
-
|
|
287
|
+
filterType: Filter_1.FilterNames.DateFilter,
|
|
288
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
289
289
|
operator: operator,
|
|
290
290
|
value: { value: 0, unit: unit },
|
|
291
291
|
table,
|
|
@@ -298,8 +298,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
298
298
|
}
|
|
299
299
|
onSubmitFilter({
|
|
300
300
|
field,
|
|
301
|
-
|
|
302
|
-
|
|
301
|
+
filterType: Filter_1.FilterNames.DateCustomFilter,
|
|
302
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
303
303
|
operator: operator,
|
|
304
304
|
value: { startDate, endDate },
|
|
305
305
|
table,
|
|
@@ -319,8 +319,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
319
319
|
}
|
|
320
320
|
onSubmitFilter({
|
|
321
321
|
field,
|
|
322
|
-
|
|
323
|
-
|
|
322
|
+
filterType: Filter_1.FilterNames.DateComparisonFilter,
|
|
323
|
+
fieldType: Filter_1.FieldTypes.Date,
|
|
324
324
|
operator: operator,
|
|
325
325
|
value,
|
|
326
326
|
table,
|
|
@@ -330,8 +330,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
330
330
|
case Filter_1.NullOperator.IsNull:
|
|
331
331
|
onSubmitFilter({
|
|
332
332
|
field,
|
|
333
|
-
|
|
334
|
-
|
|
333
|
+
filterType: Filter_1.FilterNames.NullFilter,
|
|
334
|
+
fieldType: Filter_1.FieldTypes.Null,
|
|
335
335
|
operator: operator,
|
|
336
336
|
value: null,
|
|
337
337
|
table,
|
|
@@ -349,8 +349,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
349
349
|
}
|
|
350
350
|
onSubmitFilter({
|
|
351
351
|
field,
|
|
352
|
-
|
|
353
|
-
|
|
352
|
+
filterType: Filter_1.FilterNames.StringInFilter,
|
|
353
|
+
fieldType: Filter_1.FieldTypes.String,
|
|
354
354
|
operator: operator,
|
|
355
355
|
value: selectedOptions.map((val) => val.label),
|
|
356
356
|
table,
|
|
@@ -360,8 +360,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
360
360
|
case Filter_1.NullOperator.IsNull:
|
|
361
361
|
onSubmitFilter({
|
|
362
362
|
field,
|
|
363
|
-
|
|
364
|
-
|
|
363
|
+
filterType: Filter_1.FilterNames.NullFilter,
|
|
364
|
+
fieldType: Filter_1.FieldTypes.Null,
|
|
365
365
|
operator: operator,
|
|
366
366
|
value: null,
|
|
367
367
|
table,
|
|
@@ -374,22 +374,22 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
374
374
|
}
|
|
375
375
|
onSubmitFilter({
|
|
376
376
|
field,
|
|
377
|
-
|
|
378
|
-
|
|
377
|
+
filterType: Filter_1.FilterNames.StringFilter,
|
|
378
|
+
fieldType: Filter_1.FieldTypes.String,
|
|
379
379
|
operator: operator,
|
|
380
380
|
value,
|
|
381
381
|
table,
|
|
382
382
|
});
|
|
383
383
|
}
|
|
384
384
|
break;
|
|
385
|
-
case '
|
|
385
|
+
case 'number':
|
|
386
386
|
switch (operator) {
|
|
387
387
|
case Filter_1.NullOperator.IsNotNull:
|
|
388
388
|
case Filter_1.NullOperator.IsNull:
|
|
389
389
|
onSubmitFilter({
|
|
390
390
|
field,
|
|
391
|
-
|
|
392
|
-
|
|
391
|
+
filterType: Filter_1.FilterNames.NullFilter,
|
|
392
|
+
fieldType: Filter_1.FieldTypes.Null,
|
|
393
393
|
operator: operator,
|
|
394
394
|
value: null,
|
|
395
395
|
table,
|
|
@@ -404,8 +404,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
404
404
|
}
|
|
405
405
|
onSubmitFilter({
|
|
406
406
|
field,
|
|
407
|
-
|
|
408
|
-
|
|
407
|
+
filterType: Filter_1.FilterNames.NumericFilter,
|
|
408
|
+
fieldType: Filter_1.FieldTypes.Number,
|
|
409
409
|
operator: operator,
|
|
410
410
|
value,
|
|
411
411
|
table,
|
|
@@ -418,8 +418,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
418
418
|
case Filter_1.NullOperator.IsNull:
|
|
419
419
|
onSubmitFilter({
|
|
420
420
|
field,
|
|
421
|
-
|
|
422
|
-
|
|
421
|
+
filterType: Filter_1.FilterNames.NullFilter,
|
|
422
|
+
fieldType: Filter_1.FieldTypes.Null,
|
|
423
423
|
operator: operator,
|
|
424
424
|
value: null,
|
|
425
425
|
table,
|
|
@@ -429,8 +429,8 @@ function FilterModal({ schema, filter, fieldValuesMap, customOperatorOptions, on
|
|
|
429
429
|
case Filter_1.BoolOperator.NotEqualTo:
|
|
430
430
|
onSubmitFilter({
|
|
431
431
|
field,
|
|
432
|
-
|
|
433
|
-
|
|
432
|
+
filterType: Filter_1.FilterNames.BooleanFilter,
|
|
433
|
+
fieldType: Filter_1.FieldTypes.Boolean,
|
|
434
434
|
operator: operator,
|
|
435
435
|
value: value,
|
|
436
436
|
table,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { NodeSQLParser as NSP, AST } from './ast';
|
|
2
|
-
import { Pivot } from './pivot';
|
|
3
2
|
import { TableInfo } from './schema';
|
|
4
3
|
import { ColumnInternal } from '../../models/Columns';
|
|
4
|
+
import { Pivot } from '../../models/Pivot';
|
|
5
5
|
export declare function convertDateComparison(node: NSP.Select): NSP.Select;
|
|
6
6
|
export declare function recursiveSearchAndReplace(node: any, search: string, replace: string): void;
|
|
7
7
|
export declare function recursiveSearchAndReplaceByKey(node: any, search: string, replace: string, searchKey: string): void;
|
|
@@ -22,37 +22,11 @@ export declare function convertASTToPivotData(ast: NSP.Select, columnInfo: Colum
|
|
|
22
22
|
* Processes the AST and builds up a new pivot, given the old AST, the old pivot
|
|
23
23
|
* and a list of tables in the schema.
|
|
24
24
|
*/
|
|
25
|
-
export declare function convertGroupBy(ast: AST,
|
|
26
|
-
ast: NSP.
|
|
27
|
-
pivot: Pivot;
|
|
25
|
+
export declare function convertGroupBy(ast: AST, schemaTables: TableInfo[], prevPivot?: Pivot): {
|
|
26
|
+
ast: NSP.Use | NSP.Create | NSP.Update | NSP.Insert_Replace | NSP.Alter | NSP.Delete | NSP.Drop | NSP.BigQuery;
|
|
27
|
+
pivot: Pivot | undefined;
|
|
28
28
|
} | {
|
|
29
|
-
pivot:
|
|
30
|
-
aggregationType: "count" | "average" | "avg" | "min" | "max" | "sum";
|
|
31
|
-
valueField: string;
|
|
32
|
-
valueFieldType?: string | undefined;
|
|
33
|
-
rowField?: string | undefined;
|
|
34
|
-
rowFieldType?: string | undefined;
|
|
35
|
-
columnField?: string | undefined;
|
|
36
|
-
sort: boolean;
|
|
37
|
-
sortDirection: "ASC" | "DESC";
|
|
38
|
-
sortField?: string | undefined;
|
|
39
|
-
sortFieldType?: string | undefined;
|
|
40
|
-
} | null;
|
|
41
|
-
ast: Partial<NSP.Select>;
|
|
42
|
-
} | {
|
|
43
|
-
pivot: {
|
|
44
|
-
title: string;
|
|
45
|
-
aggregationType: "count" | "average" | "avg" | "min" | "max" | "sum";
|
|
46
|
-
valueField: string;
|
|
47
|
-
valueFieldType?: string | undefined;
|
|
48
|
-
rowField?: string | undefined;
|
|
49
|
-
rowFieldType?: string | undefined;
|
|
50
|
-
columnField?: string | undefined;
|
|
51
|
-
sort: boolean;
|
|
52
|
-
sortDirection: "ASC" | "DESC";
|
|
53
|
-
sortField?: string | undefined;
|
|
54
|
-
sortFieldType?: string | undefined;
|
|
55
|
-
};
|
|
29
|
+
pivot: Pivot | null;
|
|
56
30
|
ast: Partial<NSP.Select>;
|
|
57
31
|
};
|
|
58
32
|
export declare function convertStringComparison(node: any, databaseType: string): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAOJ,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,IAAI,GAAG,EACpB,GAAG,EAOJ,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAQ3C,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAuBlE;AAGD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,QAahB;AAGD,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,GAAG,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,QAalB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,CAoDpD;AAUD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,YAAY,EAAE,SAAS,EAAE,GACxB,GAAG,CAAC,MAAM,CA8BZ;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAkBrE;AAmID,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EACf,UAAU,EAAE,cAAc,EAAE,GAC3B,KAAK,GAAG,IAAI,CAmFd;AA+BD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,SAAS,EAAE,EACzB,SAAS,CAAC,EAAE,KAAK;;;;;;EA2FlB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,OAyNtE;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAY1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,OA+C5C"}
|
|
@@ -376,7 +376,7 @@ function addValueFieldToPivot(newAst, pivot, columns) {
|
|
|
376
376
|
* Processes the AST and builds up a new pivot, given the old AST, the old pivot
|
|
377
377
|
* and a list of tables in the schema.
|
|
378
378
|
*/
|
|
379
|
-
function convertGroupBy(ast,
|
|
379
|
+
function convertGroupBy(ast, schemaTables, prevPivot) {
|
|
380
380
|
if (!(0, ast_1.isSelect)(ast))
|
|
381
381
|
return { ast, pivot: prevPivot };
|
|
382
382
|
let newAst = {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Pivot } from '../models/Pivot';
|
|
2
|
+
import { FilterTreeNode as FilterTree } from '../utils/astFilterProcessing';
|
|
3
|
+
import { FieldTypes } from '../models/Filter';
|
|
4
|
+
interface Column {
|
|
5
|
+
label: string;
|
|
6
|
+
field: string;
|
|
7
|
+
format: string;
|
|
8
|
+
fieldType: FieldTypes;
|
|
9
|
+
}
|
|
10
|
+
export declare const useAskQuill: () => {
|
|
11
|
+
data: {
|
|
12
|
+
rows: any[];
|
|
13
|
+
columns: Column[];
|
|
14
|
+
pivot: Pivot | null;
|
|
15
|
+
pivotRowFields: string[];
|
|
16
|
+
pivotColumnFields: string[];
|
|
17
|
+
pivotValueFields: string[];
|
|
18
|
+
filterTree: FilterTree | null;
|
|
19
|
+
};
|
|
20
|
+
loading: boolean;
|
|
21
|
+
error: string | undefined;
|
|
22
|
+
ask: (query: string) => Promise<any | undefined>;
|
|
23
|
+
onChangePivot: (pivot: Pivot) => void;
|
|
24
|
+
onChangeFilterTree: (filterTree: FilterTree) => void;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=useAskQuill.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAskQuill.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAskQuill.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAEL,cAAc,IAAI,UAAU,EAE7B,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,UAAU,MAAM;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,UAAU,CAAC;CACvB;AA6BD,eAAO,MAAM,WAAW;UAChB;QACJ,IAAI,EAAE,GAAG,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;KAE/B;aACQ,OAAO;WACT,MAAM,GAAG,SAAS;iBACZ,MAAM,KAAK,QAAQ,GAAG,GAAG,SAAS,CAAC;2BACzB,KAAK,KAAK,IAAI;qCACJ,UAAU,KAAK,IAAI;CA+LrD,CAAC"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useAskQuill = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const Context_1 = require("../Context");
|
|
6
|
+
const astProcessing_1 = require("../utils/astProcessing");
|
|
7
|
+
const report_1 = require("../utils/report");
|
|
8
|
+
const astFilterProcessing_1 = require("../utils/astFilterProcessing");
|
|
9
|
+
const pivotProcessing_1 = require("../utils/pivotProcessing");
|
|
10
|
+
const columnProcessing_1 = require("../utils/columnProcessing");
|
|
11
|
+
const Filter_1 = require("../models/Filter");
|
|
12
|
+
function convertColumnInternalToAboveType(columns) {
|
|
13
|
+
return columns.map((column) => {
|
|
14
|
+
let convertedFieldType = Filter_1.FieldTypes.String;
|
|
15
|
+
if (column.jsType === Filter_1.FieldTypes.Date) {
|
|
16
|
+
convertedFieldType = Filter_1.FieldTypes.Date;
|
|
17
|
+
}
|
|
18
|
+
else if (column.jsType === Filter_1.FieldTypes.Number) {
|
|
19
|
+
convertedFieldType = Filter_1.FieldTypes.Number;
|
|
20
|
+
}
|
|
21
|
+
else if (column.jsType === Filter_1.FieldTypes.String) {
|
|
22
|
+
convertedFieldType = Filter_1.FieldTypes.String;
|
|
23
|
+
}
|
|
24
|
+
else if (column.jsType === Filter_1.FieldTypes.Boolean ||
|
|
25
|
+
column.jsType === 'bool') {
|
|
26
|
+
convertedFieldType = Filter_1.FieldTypes.Boolean;
|
|
27
|
+
}
|
|
28
|
+
else if (column.jsType === Filter_1.FieldTypes.Null) {
|
|
29
|
+
convertedFieldType = Filter_1.FieldTypes.Null;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
label: column.label,
|
|
33
|
+
field: column.field,
|
|
34
|
+
format: column.format,
|
|
35
|
+
fieldType: convertedFieldType,
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const useAskQuill = () => {
|
|
40
|
+
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
41
|
+
const [schema] = (0, react_1.useContext)(Context_1.SchemaContext);
|
|
42
|
+
const [astInfo, setAstInfo] = (0, react_1.useState)(undefined);
|
|
43
|
+
const [data, setData] = (0, react_1.useState)({
|
|
44
|
+
rows: [],
|
|
45
|
+
columns: [],
|
|
46
|
+
pivot: null,
|
|
47
|
+
filterTree: null,
|
|
48
|
+
// uniqueValues: {},
|
|
49
|
+
pivotRowFields: [],
|
|
50
|
+
pivotColumnFields: [],
|
|
51
|
+
pivotValueFields: [],
|
|
52
|
+
});
|
|
53
|
+
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
54
|
+
const [error, setError] = (0, react_1.useState)(undefined);
|
|
55
|
+
const [ask, setAsk] = (0, react_1.useState)(async () => undefined);
|
|
56
|
+
const askHelper = async (query) => {
|
|
57
|
+
if (!query) {
|
|
58
|
+
setLoading(false);
|
|
59
|
+
setError('Please supply a prompt.');
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
let astInfo = {};
|
|
63
|
+
let reportBuilderInfo = undefined;
|
|
64
|
+
let possibleColumns = { rowFields: [], columnFields: [], valueFields: [] };
|
|
65
|
+
let curFilterTree = null;
|
|
66
|
+
setLoading(true);
|
|
67
|
+
try {
|
|
68
|
+
setLoading(true);
|
|
69
|
+
astInfo = await (0, astProcessing_1.fetchAndProcessASTFromPrompt)(query, schema, client);
|
|
70
|
+
if (astInfo.error) {
|
|
71
|
+
throw new Error(astInfo.error);
|
|
72
|
+
}
|
|
73
|
+
reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)(astInfo.ast, astInfo.whereAST, schema, client, astInfo.pivot);
|
|
74
|
+
if (!reportBuilderInfo) {
|
|
75
|
+
throw new Error('Error fetching report');
|
|
76
|
+
}
|
|
77
|
+
const tableName = reportBuilderInfo.table;
|
|
78
|
+
const tableInfo = schema.find((table) => table.name === tableName);
|
|
79
|
+
if (!tableInfo) {
|
|
80
|
+
throw new Error('Table not found');
|
|
81
|
+
}
|
|
82
|
+
const columnInternal = tableInfo.columns.map((column) => (0, columnProcessing_1.convertColumnInfoToColumnInternal)(column));
|
|
83
|
+
possibleColumns = (0, pivotProcessing_1.getPossiblePivotFieldOptions)(columnInternal, reportBuilderInfo.uniqueValues[reportBuilderInfo.table] || {});
|
|
84
|
+
curFilterTree = (0, astFilterProcessing_1.astToFilterTree)(astInfo.whereAST, client.databaseType.toLowerCase());
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
if (err instanceof Error) {
|
|
88
|
+
setError(err.message);
|
|
89
|
+
setLoading(false);
|
|
90
|
+
}
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const convertedColumns = convertColumnInternalToAboveType(reportBuilderInfo?.pivotData?.columns || reportBuilderInfo?.columns || []);
|
|
94
|
+
setData({
|
|
95
|
+
rows: reportBuilderInfo?.pivotData?.rows || reportBuilderInfo?.rows || [],
|
|
96
|
+
columns: convertedColumns,
|
|
97
|
+
pivot: astInfo.pivot,
|
|
98
|
+
pivotRowFields: possibleColumns.rowFields || [],
|
|
99
|
+
pivotColumnFields: possibleColumns.columnFields || [],
|
|
100
|
+
pivotValueFields: possibleColumns.valueFields || [],
|
|
101
|
+
filterTree: curFilterTree,
|
|
102
|
+
});
|
|
103
|
+
setAstInfo(astInfo);
|
|
104
|
+
setLoading(false);
|
|
105
|
+
};
|
|
106
|
+
const onChangePivot = async (newPivot) => {
|
|
107
|
+
if (!data) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
let reportBuilderInfo = undefined;
|
|
111
|
+
try {
|
|
112
|
+
setLoading(true);
|
|
113
|
+
reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)(astInfo.ast, astInfo.whereAST, schema, client, newPivot);
|
|
114
|
+
setLoading(false);
|
|
115
|
+
if (!reportBuilderInfo) {
|
|
116
|
+
throw new Error('Error fetching report builder data');
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
if (err instanceof Error) {
|
|
121
|
+
setError(err.message);
|
|
122
|
+
setLoading(false);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const convertedColumns = convertColumnInternalToAboveType(reportBuilderInfo?.pivotData?.columns || reportBuilderInfo?.columns || []);
|
|
126
|
+
setData({
|
|
127
|
+
...data,
|
|
128
|
+
rows: reportBuilderInfo?.pivotData?.rows || reportBuilderInfo?.rows || [],
|
|
129
|
+
columns: convertedColumns,
|
|
130
|
+
pivot: newPivot,
|
|
131
|
+
pivotRowFields: data?.pivotRowFields || [],
|
|
132
|
+
pivotColumnFields: data?.pivotColumnFields || [],
|
|
133
|
+
pivotValueFields: data?.pivotValueFields || [],
|
|
134
|
+
});
|
|
135
|
+
setAstInfo({ ...astInfo, pivot: newPivot });
|
|
136
|
+
setLoading(false);
|
|
137
|
+
};
|
|
138
|
+
const onChangeFilterTree = async (filterTree) => {
|
|
139
|
+
if (!data) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
let reportBuilderInfo = {};
|
|
143
|
+
try {
|
|
144
|
+
const filterAst = (0, astFilterProcessing_1.filterTreeToAst)(filterTree, client.databaseType.toLowerCase());
|
|
145
|
+
setLoading(true);
|
|
146
|
+
reportBuilderInfo = await (0, report_1.fetchReportBuilderDataFromAST)(astInfo.ast, filterAst, schema, client, data.pivot || undefined);
|
|
147
|
+
setLoading(false);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
if (err instanceof Error) {
|
|
151
|
+
setError(err.message);
|
|
152
|
+
setLoading(false);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
setData({
|
|
156
|
+
...data,
|
|
157
|
+
rows: reportBuilderInfo?.pivotData?.rows || reportBuilderInfo?.rows || [],
|
|
158
|
+
columns: reportBuilderInfo?.pivotData?.columns ||
|
|
159
|
+
reportBuilderInfo?.columns ||
|
|
160
|
+
[],
|
|
161
|
+
filterTree,
|
|
162
|
+
});
|
|
163
|
+
setLoading(false);
|
|
164
|
+
};
|
|
165
|
+
(0, react_1.useEffect)(() => {
|
|
166
|
+
setAsk(() => askHelper);
|
|
167
|
+
}, [schema]);
|
|
168
|
+
return {
|
|
169
|
+
data,
|
|
170
|
+
loading,
|
|
171
|
+
error,
|
|
172
|
+
ask,
|
|
173
|
+
onChangePivot,
|
|
174
|
+
onChangeFilterTree,
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
exports.useAskQuill = useAskQuill;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export { useDashboard } from './hooks/useDashboard';
|
|
|
18
18
|
export { useQuill, usePivot } from './hooks/useQuill';
|
|
19
19
|
export { useExport } from './hooks/useExport';
|
|
20
20
|
export { useMemoizedRows } from './hooks/useFormat';
|
|
21
|
+
export { useAskQuill } from './hooks/useAskQuill';
|
|
21
22
|
export { downloadCSV } from './utils/csv';
|
|
22
23
|
export { ThemeContext } from './Context';
|
|
23
24
|
export type { TextInputComponentProps, ButtonComponentProps, DeleteButtonComponentProps, SelectComponentProps, PopoverComponentProps, TabsComponentProps, CheckboxComponentProps, SidebarComponentProps, ContainerComponentProps, HeaderComponentProps, LabelComponentProps, TextComponentProps, Option, ModalComponentProps, HeaderProps, } from './components/UiComponents';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,GACV,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useMemoizedRows = exports.useExport = exports.usePivot = exports.useQuill = exports.useDashboard = exports.format = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
|
|
6
|
+
exports.Calculation = exports.ThemeContext = exports.downloadCSV = exports.useAskQuill = exports.useMemoizedRows = exports.useExport = exports.usePivot = exports.useQuill = exports.useDashboard = exports.format = exports.ChartEditor = exports.ReportBuilder = exports.SchemaListComponent = exports.SQLEditor = exports.Table = exports.Chart = exports.QuillProvider = exports.Dashboard = void 0;
|
|
7
7
|
// src/index.ts
|
|
8
8
|
var Dashboard_1 = require("./Dashboard");
|
|
9
9
|
Object.defineProperty(exports, "Dashboard", { enumerable: true, get: function () { return __importDefault(Dashboard_1).default; } });
|
|
@@ -31,6 +31,8 @@ var useExport_1 = require("./hooks/useExport");
|
|
|
31
31
|
Object.defineProperty(exports, "useExport", { enumerable: true, get: function () { return useExport_1.useExport; } });
|
|
32
32
|
var useFormat_1 = require("./hooks/useFormat");
|
|
33
33
|
Object.defineProperty(exports, "useMemoizedRows", { enumerable: true, get: function () { return useFormat_1.useMemoizedRows; } });
|
|
34
|
+
var useAskQuill_1 = require("./hooks/useAskQuill");
|
|
35
|
+
Object.defineProperty(exports, "useAskQuill", { enumerable: true, get: function () { return useAskQuill_1.useAskQuill; } });
|
|
34
36
|
var csv_1 = require("./utils/csv");
|
|
35
37
|
Object.defineProperty(exports, "downloadCSV", { enumerable: true, get: function () { return csv_1.downloadCSV; } });
|
|
36
38
|
var Context_1 = require("./Context");
|
|
@@ -11,14 +11,14 @@ interface PivotFormProps {
|
|
|
11
11
|
setPivotAggregation: any;
|
|
12
12
|
columns: ColumnInternal[];
|
|
13
13
|
uniqueValues?: any;
|
|
14
|
-
onDelete
|
|
15
|
-
SecondaryButtonComponent
|
|
14
|
+
onDelete?: any;
|
|
15
|
+
SecondaryButtonComponent?: (props: {
|
|
16
16
|
onClick: () => void;
|
|
17
17
|
label: string;
|
|
18
18
|
disabled?: boolean;
|
|
19
19
|
icon?: ReactNode;
|
|
20
20
|
}) => JSX.Element;
|
|
21
|
-
SelectComponent
|
|
21
|
+
SelectComponent?: any;
|
|
22
22
|
PivotColumnContainer?: (props: {
|
|
23
23
|
children: ReactNode;
|
|
24
24
|
}) => JSX.Element;
|
|
@@ -1 +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;AAG9D,OAAO,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PivotForm.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotForm.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAU,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM9D,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,cAAc,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,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,CAAC,EAAE,GAAG,CAAC;IACtB,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,wBAA+C,EAC/C,eAA+C,EAC/C,oBAAgD,GACjD,EAAE,cAAc,2CA4GhB"}
|
|
@@ -6,7 +6,9 @@ const UiComponents_1 = require("../../components/UiComponents");
|
|
|
6
6
|
const textProcessing_1 = require("../../utils/textProcessing");
|
|
7
7
|
const ChartBuilder_1 = require("../../ChartBuilder");
|
|
8
8
|
const pivotProcessing_1 = require("../../utils/pivotProcessing");
|
|
9
|
-
|
|
9
|
+
const ui_1 = require("../../components/ReportBuilder/ui");
|
|
10
|
+
const QuillSelectWithCombo_1 = require("../../components/QuillSelectWithCombo");
|
|
11
|
+
function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivotColumnField, pivotValueField, setPivotValueField, pivotAggregation, setPivotAggregation, columns, uniqueValues, onDelete, SecondaryButtonComponent = ui_1.QuillSecondaryButton, SelectComponent = QuillSelectWithCombo_1.QuillSelectComponentWithCombo, PivotColumnContainer = UiComponents_1.QuillPivotColumnContainer, }) {
|
|
10
12
|
const [allowedColumnFields, setAllowedColumnFields] = (0, react_1.useState)([]);
|
|
11
13
|
const [allowedRowFields, setAllowedRowFields] = (0, react_1.useState)([]);
|
|
12
14
|
const [allowedValueFields, setAllowedValueFields] = (0, react_1.useState)([]);
|
|
@@ -60,6 +62,6 @@ function PivotForm({ pivotRowField, setPivotRowField, pivotColumnField, setPivot
|
|
|
60
62
|
display: 'flex',
|
|
61
63
|
alignItems: 'flex-start',
|
|
62
64
|
flexDirection: 'column',
|
|
63
|
-
}, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDelete, label: "Delete Pivot" }) })] }));
|
|
65
|
+
}, children: onDelete && ((0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: onDelete, label: "Delete Pivot" })) })] }));
|
|
64
66
|
}
|
|
65
67
|
exports.default = PivotForm;
|
|
@@ -2,21 +2,7 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { ButtonComponentProps } from '../../components/UiComponents';
|
|
3
3
|
import { ColumnInternal } from '../../models/Columns';
|
|
4
4
|
import { AxisFormat } from '../../Dashboard';
|
|
5
|
-
|
|
6
|
-
rowField: string;
|
|
7
|
-
rowFieldType: string;
|
|
8
|
-
columnField?: string;
|
|
9
|
-
columnFieldType?: string;
|
|
10
|
-
valueField: string;
|
|
11
|
-
valueFieldType?: string;
|
|
12
|
-
aggregationType: string;
|
|
13
|
-
title?: string;
|
|
14
|
-
triggerButtonText?: string;
|
|
15
|
-
sort?: string;
|
|
16
|
-
sortDirection?: string;
|
|
17
|
-
sortField?: string;
|
|
18
|
-
sortFieldType?: string;
|
|
19
|
-
}
|
|
5
|
+
import { Pivot } from '../../models/Pivot';
|
|
20
6
|
export interface PivotModalProps {
|
|
21
7
|
pivotRowField: any;
|
|
22
8
|
setPivotRowField: any;
|