@quillsql/react 2.12.39 → 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.d.ts +35 -3
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +72 -74
- 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/ChartComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/ChartComponent.js +1 -0
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +12 -0
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +69 -0
- package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
- package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +4 -0
- package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/TemplateChartComponent.js +23 -0
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +23 -0
- package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +15 -0
- package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/TemplateTableComponent.js +23 -0
- package/dist/cjs/components/Dashboard/util.d.ts +6 -0
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -0
- package/dist/cjs/components/Dashboard/util.js +85 -0
- 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/components/UiComponents.d.ts +1 -23
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +67 -25
- 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/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +7 -5
- 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 +5 -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/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +2 -0
- 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.d.ts +35 -3
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +73 -75
- 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/ChartComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/ChartComponent.js +1 -0
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +12 -0
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/DashboardTemplate.js +63 -0
- package/dist/esm/components/Dashboard/DataLoader.js +1 -1
- package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TemplateChartComponent.js +17 -0
- package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
- package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TemplateMetricComponent.js +17 -0
- package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +15 -0
- package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/TemplateTableComponent.js +17 -0
- package/dist/esm/components/Dashboard/util.d.ts +6 -0
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -0
- package/dist/esm/components/Dashboard/util.js +80 -0
- 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/components/UiComponents.d.ts +1 -23
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +65 -23
- 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/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +7 -5
- 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 +5 -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/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +2 -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"}
|
|
@@ -24,15 +24,6 @@ export default function BarChart({ colors, colorMap, yAxisFields, data, containe
|
|
|
24
24
|
setFormattedData(barChartData);
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
const curData = data.map((d) => {
|
|
28
|
-
const formatted = { ...d };
|
|
29
|
-
// NEED TO FORMAT FOR BIG QUERY
|
|
30
|
-
if (d[xAxisField] && typeof d[xAxisField] === 'object') {
|
|
31
|
-
formatted[xAxisField] = d[xAxisField].value;
|
|
32
|
-
}
|
|
33
|
-
return formatted;
|
|
34
|
-
});
|
|
35
|
-
setFormattedData(curData);
|
|
36
27
|
}, [data]);
|
|
37
28
|
const getCustomColor = (field) => {
|
|
38
29
|
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"}
|
|
@@ -37,17 +37,7 @@ export default function LineChart({ colors, colorMap = {}, yAxisFields, data, co
|
|
|
37
37
|
setFormattedData(createLineForEmptyChart(yAxisFields, dateFilter, xAxisField, xAxisFormat));
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
|
|
41
|
-
if (typeof data[0][xAxisField] === 'object') {
|
|
42
|
-
newData = data.map((d) => {
|
|
43
|
-
const formatted = { ...d };
|
|
44
|
-
// NEED TO FORMAT FOR BIG QUERY
|
|
45
|
-
if (d[xAxisField] && typeof d[xAxisField] === 'object') {
|
|
46
|
-
formatted[xAxisField] = d[xAxisField].value;
|
|
47
|
-
}
|
|
48
|
-
return formatted;
|
|
49
|
-
});
|
|
50
|
-
}
|
|
40
|
+
const newData = [...data];
|
|
51
41
|
if (newData.length === 1) {
|
|
52
42
|
const point = { ...newData[0] };
|
|
53
43
|
newData.push(point);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/ChartComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"ChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/ChartComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAuGhC"}
|
|
@@ -6,6 +6,7 @@ export default function QuillChartComponent({ report, onClick, children, isLoadi
|
|
|
6
6
|
return (_jsx("div", { onClick: () => onClick && onClick(report), style: {
|
|
7
7
|
cursor: 'pointer',
|
|
8
8
|
boxSizing: 'content-box',
|
|
9
|
+
height: '100%',
|
|
9
10
|
minHeight: 400,
|
|
10
11
|
borderRadius: 8,
|
|
11
12
|
}, children: _jsx("div", { style: {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }: {
|
|
2
|
+
name: string;
|
|
3
|
+
originDashboard: string;
|
|
4
|
+
client: any;
|
|
5
|
+
appliedFilters: any;
|
|
6
|
+
ModalComponent: any;
|
|
7
|
+
TemplateChartComponent: any;
|
|
8
|
+
TemplateMetricComponent: any;
|
|
9
|
+
TemplateTableComponent: any;
|
|
10
|
+
ButtonComponent: any;
|
|
11
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
//# sourceMappingURL=DashboardTemplate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,IAAI,EACJ,eAAe,EACf,MAAM,EACN,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,sBAAsB,EAAE,GAAG,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC;CACtB,kDAyGA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useContext, useState } from 'react';
|
|
3
|
+
import { addTemplatesToDashboard, validateTemplatesAgainstFilters, } from './util';
|
|
4
|
+
import { useDashboard } from '../../hooks/useDashboard';
|
|
5
|
+
import { DashboardDataContext } from '../../Context';
|
|
6
|
+
import Dashboard from '../../Dashboard';
|
|
7
|
+
export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }) {
|
|
8
|
+
const { isLoading, data } = useDashboard(name ?? '');
|
|
9
|
+
const { dashboardData, dashboardDataDispatch } = useContext(DashboardDataContext);
|
|
10
|
+
const [addItemModalIsOpen, setAddItemModalIsOpen] = useState(false);
|
|
11
|
+
const [selectedTemplates, setSelectedTemplates] = useState([]);
|
|
12
|
+
const [selectingTemplate, setSelectingTemplate] = useState(false);
|
|
13
|
+
const [submittingTemplate, setSubmittingTemplate] = useState(false);
|
|
14
|
+
const templateSections = data?.sections;
|
|
15
|
+
const onSubmitTemplates = async () => {
|
|
16
|
+
setSubmittingTemplate(true);
|
|
17
|
+
// validate that filters don't conflict
|
|
18
|
+
const { valid, error } = validateTemplatesAgainstFilters(appliedFilters, selectedTemplates);
|
|
19
|
+
if (!valid) {
|
|
20
|
+
alert(error);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
setAddItemModalIsOpen(false);
|
|
24
|
+
const newTemplates = selectedTemplates;
|
|
25
|
+
setSelectedTemplates([]);
|
|
26
|
+
const newData = await addTemplatesToDashboard(originDashboard, newTemplates, client, dashboardData);
|
|
27
|
+
console.log('updating context with', newData);
|
|
28
|
+
if (newData) {
|
|
29
|
+
// Dispatch the action to update the dashboard state
|
|
30
|
+
dashboardDataDispatch({
|
|
31
|
+
type: 'UPDATE_DASHBOARD',
|
|
32
|
+
id: originDashboard,
|
|
33
|
+
data: newData,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
setSubmittingTemplate(false);
|
|
38
|
+
};
|
|
39
|
+
return data ? (_jsxs(ModalComponent, { isOpen: addItemModalIsOpen, setIsOpen: setAddItemModalIsOpen, triggerLabel: "Add Items To Dashboard", title: "Add Items To Dashboard", children: [_jsx("div", { style: {
|
|
40
|
+
overflow: 'scroll',
|
|
41
|
+
}, children: _jsx(Dashboard, { name: name, ChartComponent: TemplateChartComponent, TableComponent: TemplateTableComponent, MetricComponent: TemplateMetricComponent, onClickReport: (report) => {
|
|
42
|
+
if (!selectingTemplate) {
|
|
43
|
+
setSelectingTemplate(true);
|
|
44
|
+
if (selectedTemplates.some((template) => template._id === report._id)) {
|
|
45
|
+
setSelectedTemplates(selectedTemplates.filter((template) => template._id !== report._id));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
setSelectedTemplates([...selectedTemplates, report]);
|
|
49
|
+
}
|
|
50
|
+
setSelectingTemplate(false);
|
|
51
|
+
}
|
|
52
|
+
}, hideFilters: true }) }), _jsx("div", { style: {
|
|
53
|
+
display: 'flex',
|
|
54
|
+
justifyContent: 'flex-end',
|
|
55
|
+
flexDirection: 'row',
|
|
56
|
+
marginTop: '20px',
|
|
57
|
+
width: '100%',
|
|
58
|
+
}, children: _jsx(ButtonComponent, { disabled: isLoading || !templateSections, label: 'Add to dashboard', onClick: () => {
|
|
59
|
+
if (!submittingTemplate) {
|
|
60
|
+
onSubmitTemplates();
|
|
61
|
+
}
|
|
62
|
+
} }) })] })) : null;
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateChartComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateChartComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import QuillChartComponent from './ChartComponent';
|
|
4
|
+
export default function QuillTemplateChartComponent({ report, onClick, children, isLoading, }) {
|
|
5
|
+
const [isSelected, setIsSelected] = useState(false);
|
|
6
|
+
return (_jsx("div", { onClick: () => {
|
|
7
|
+
if (onClick) {
|
|
8
|
+
setIsSelected(!isSelected);
|
|
9
|
+
onClick(report);
|
|
10
|
+
}
|
|
11
|
+
}, style: {
|
|
12
|
+
backgroundColor: isSelected ? 'lightgrey' : 'white',
|
|
13
|
+
borderRadius: '15px',
|
|
14
|
+
padding: '10px',
|
|
15
|
+
cursor: 'pointer',
|
|
16
|
+
}, children: _jsx(QuillChartComponent, { report: report, children: children, isLoading: isLoading }) }));
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateMetricComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateMetricComponent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAyBhC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import QuillMetricComponent from './MetricComponent';
|
|
4
|
+
export default function QuillTemplateMetricComponent({ report, onClick, children, isLoading, }) {
|
|
5
|
+
const [isSelected, setIsSelected] = useState(false);
|
|
6
|
+
return (_jsx("div", { onClick: () => {
|
|
7
|
+
if (onClick) {
|
|
8
|
+
setIsSelected(!isSelected);
|
|
9
|
+
onClick(report);
|
|
10
|
+
}
|
|
11
|
+
}, style: {
|
|
12
|
+
backgroundColor: isSelected ? 'lightgrey' : 'white',
|
|
13
|
+
borderRadius: '15px',
|
|
14
|
+
padding: '10px',
|
|
15
|
+
cursor: 'pointer',
|
|
16
|
+
}, children: _jsx(QuillMetricComponent, { report: report, children: children, isLoading: isLoading }) }));
|
|
17
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { QuillReport } from '../../models/Report';
|
|
3
|
+
export default function QuillTemplateTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }: {
|
|
4
|
+
report: QuillReport;
|
|
5
|
+
onClick?: (report: QuillReport) => void;
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
error?: string;
|
|
8
|
+
rowCount?: number;
|
|
9
|
+
onPageChange?: (page: number) => void;
|
|
10
|
+
onSortChange?: (sort: {
|
|
11
|
+
field: string;
|
|
12
|
+
direction: string;
|
|
13
|
+
}) => void;
|
|
14
|
+
}): JSX.Element;
|
|
15
|
+
//# sourceMappingURL=TemplateTableComponent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateTableComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/TemplateTableComponent.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE,GAAG,GAAG,CAAC,OAAO,CA4Bd"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import QuillTableComponent from './TableComponent';
|
|
4
|
+
export default function QuillTemplateTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }) {
|
|
5
|
+
const [isSelected, setIsSelected] = useState(false);
|
|
6
|
+
return (_jsx("div", { onClick: () => {
|
|
7
|
+
if (onClick) {
|
|
8
|
+
setIsSelected(!isSelected);
|
|
9
|
+
onClick(report);
|
|
10
|
+
}
|
|
11
|
+
}, style: {
|
|
12
|
+
backgroundColor: isSelected ? 'lightgrey' : 'white',
|
|
13
|
+
borderRadius: '15px',
|
|
14
|
+
padding: '10px',
|
|
15
|
+
cursor: 'pointer',
|
|
16
|
+
}, children: _jsx(QuillTableComponent, { report: report, isLoading: isLoading, error: error, rowCount: rowCount, onPageChange: onPageChange, onSortChange: onSortChange }) }));
|
|
17
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function validateTemplatesAgainstFilters(filters: any[], templates: any[]): {
|
|
2
|
+
valid: boolean;
|
|
3
|
+
error: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function addTemplatesToDashboard(name: any, newTemplates: any[], client: any, dashboardData: any): Promise<any>;
|
|
6
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/util.ts"],"names":[],"mappings":"AAEA,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,GAAG,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,GACf;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiCnC;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,EAAE,EACnB,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB,OAAO,CAAC,GAAG,CAAC,CAiDd"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { getData } from '../../utils/dataFetcher';
|
|
2
|
+
export function validateTemplatesAgainstFilters(filters, templates) {
|
|
3
|
+
let error = '';
|
|
4
|
+
filters.every((filter) => {
|
|
5
|
+
if (filter.filterType === 'date_range') {
|
|
6
|
+
templates.every((template) => {
|
|
7
|
+
if (!template.dateField?.field) {
|
|
8
|
+
error = `Please remove the date filter or unselect ${template.name}`;
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return true;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
templates.every((template) => {
|
|
16
|
+
if (!template.referencedTables?.includes(filter.table)) {
|
|
17
|
+
error = `Please remove filters on ${filter.table} or unselect ${template.name}`;
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (error !== '') {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
if (error === '') {
|
|
31
|
+
return { valid: true, error };
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return { valid: false, error };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export async function addTemplatesToDashboard(name, newTemplates, client, dashboardData) {
|
|
38
|
+
try {
|
|
39
|
+
const { publicKey, customerId } = client;
|
|
40
|
+
const hostedBody = {
|
|
41
|
+
metadata: {
|
|
42
|
+
dashboardName: name,
|
|
43
|
+
task: 'add-from-template',
|
|
44
|
+
clientId: publicKey,
|
|
45
|
+
orgId: customerId || '*',
|
|
46
|
+
templateReportIds: newTemplates.map((template) => template._id),
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
const resp = await getData(client, ``, // no cloud fallback
|
|
50
|
+
'omit', hostedBody, null);
|
|
51
|
+
if (resp.success && resp.newItems && resp.newItems.length > 0) {
|
|
52
|
+
const newData = {
|
|
53
|
+
newQueries: {
|
|
54
|
+
...(dashboardData[name]?.newQueries ?? []),
|
|
55
|
+
...resp.newItems.reduce((acc, item) => {
|
|
56
|
+
acc[item._id] = item;
|
|
57
|
+
return acc;
|
|
58
|
+
}, {}),
|
|
59
|
+
},
|
|
60
|
+
sections: {
|
|
61
|
+
...dashboardData[name].sections,
|
|
62
|
+
'': [
|
|
63
|
+
...(dashboardData[name]?.sections?.[''] ?? []),
|
|
64
|
+
...resp.newItems.map((item) => ({
|
|
65
|
+
...item,
|
|
66
|
+
id: item._id,
|
|
67
|
+
})),
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
return newData;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error('Error while updating dashboard:', error);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -14,20 +14,20 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
14
14
|
const [field, setField] = useState(filter ? filter.field : '');
|
|
15
15
|
const [fieldOptions, setFieldOptions] = useState([]);
|
|
16
16
|
const [fieldValues, setFieldValues] = useState([]);
|
|
17
|
-
const [type, setType] = useState(filter ? filter.
|
|
17
|
+
const [type, setType] = useState(filter ? filter.filterType : '');
|
|
18
18
|
const [value, setValue] = useState(filter
|
|
19
|
-
? filter.
|
|
19
|
+
? filter.filterType === 'date-filter'
|
|
20
20
|
? filter.value.value
|
|
21
21
|
: filter.value
|
|
22
22
|
: undefined);
|
|
23
|
-
const [selectedOptions, setSelectedOptions] = useState(filter && filter.
|
|
23
|
+
const [selectedOptions, setSelectedOptions] = useState(filter && filter.filterType === 'string-in-filter'
|
|
24
24
|
? filter.value.map((val) => {
|
|
25
25
|
return { label: val, value: val };
|
|
26
26
|
})
|
|
27
27
|
: []);
|
|
28
28
|
const [operator, setOperator] = useState(filter ? filter.operator : '');
|
|
29
29
|
const [operatorOptions, setOperatorOptions] = useState([]);
|
|
30
|
-
const [unit, setUnit] = useState(filter && filter.
|
|
30
|
+
const [unit, setUnit] = useState(filter && filter.filterType === 'date-filter' ? filter.value.unit : '');
|
|
31
31
|
const [unitOptions, setUnitOptions] = useState([]);
|
|
32
32
|
const [startDate, setStartDate] = useState(filter && filter.value?.startDate
|
|
33
33
|
? filter.value.startDate.substring(0, 10)
|
|
@@ -39,7 +39,7 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
39
39
|
const [table, setTable] = useState('');
|
|
40
40
|
// Define all supported operator options for each field type
|
|
41
41
|
const allOperatorOptions = {
|
|
42
|
-
[FieldTypes.
|
|
42
|
+
[FieldTypes.Number]: [
|
|
43
43
|
NumberOperator.EqualTo,
|
|
44
44
|
NumberOperator.NotEqualTo,
|
|
45
45
|
NumberOperator.GreaterThan,
|
|
@@ -80,7 +80,7 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
80
80
|
// Effect hook to initialize or update fieldValues based on selected field
|
|
81
81
|
useEffect(() => {
|
|
82
82
|
if (filter) {
|
|
83
|
-
if (filter.
|
|
83
|
+
if (filter.filterType === 'string-in-filter') {
|
|
84
84
|
setSelectedOptions(filter.value.map((val) => {
|
|
85
85
|
return { label: val, value: val };
|
|
86
86
|
}));
|
|
@@ -141,7 +141,7 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
141
141
|
setOperator(DateOperator.InTheLast);
|
|
142
142
|
setValue('90');
|
|
143
143
|
break;
|
|
144
|
-
case '
|
|
144
|
+
case 'number':
|
|
145
145
|
setOperator(NumberOperator.EqualTo);
|
|
146
146
|
setValue('0');
|
|
147
147
|
break;
|
|
@@ -268,8 +268,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
268
268
|
}
|
|
269
269
|
onSubmitFilter({
|
|
270
270
|
field,
|
|
271
|
-
|
|
272
|
-
|
|
271
|
+
filterType: FilterNames.DateFilter,
|
|
272
|
+
fieldType: FieldTypes.Date,
|
|
273
273
|
operator: operator,
|
|
274
274
|
value: { value: value, unit: unit },
|
|
275
275
|
table,
|
|
@@ -282,8 +282,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
282
282
|
}
|
|
283
283
|
onSubmitFilter({
|
|
284
284
|
field,
|
|
285
|
-
|
|
286
|
-
|
|
285
|
+
filterType: FilterNames.DateFilter,
|
|
286
|
+
fieldType: FieldTypes.Date,
|
|
287
287
|
operator: operator,
|
|
288
288
|
value: { value: 0, unit: unit },
|
|
289
289
|
table,
|
|
@@ -296,8 +296,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
296
296
|
}
|
|
297
297
|
onSubmitFilter({
|
|
298
298
|
field,
|
|
299
|
-
|
|
300
|
-
|
|
299
|
+
filterType: FilterNames.DateCustomFilter,
|
|
300
|
+
fieldType: FieldTypes.Date,
|
|
301
301
|
operator: operator,
|
|
302
302
|
value: { startDate, endDate },
|
|
303
303
|
table,
|
|
@@ -317,8 +317,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
317
317
|
}
|
|
318
318
|
onSubmitFilter({
|
|
319
319
|
field,
|
|
320
|
-
|
|
321
|
-
|
|
320
|
+
filterType: FilterNames.DateComparisonFilter,
|
|
321
|
+
fieldType: FieldTypes.Date,
|
|
322
322
|
operator: operator,
|
|
323
323
|
value,
|
|
324
324
|
table,
|
|
@@ -328,8 +328,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
328
328
|
case NullOperator.IsNull:
|
|
329
329
|
onSubmitFilter({
|
|
330
330
|
field,
|
|
331
|
-
|
|
332
|
-
|
|
331
|
+
filterType: FilterNames.NullFilter,
|
|
332
|
+
fieldType: FieldTypes.Null,
|
|
333
333
|
operator: operator,
|
|
334
334
|
value: null,
|
|
335
335
|
table,
|
|
@@ -347,8 +347,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
347
347
|
}
|
|
348
348
|
onSubmitFilter({
|
|
349
349
|
field,
|
|
350
|
-
|
|
351
|
-
|
|
350
|
+
filterType: FilterNames.StringInFilter,
|
|
351
|
+
fieldType: FieldTypes.String,
|
|
352
352
|
operator: operator,
|
|
353
353
|
value: selectedOptions.map((val) => val.label),
|
|
354
354
|
table,
|
|
@@ -358,8 +358,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
358
358
|
case NullOperator.IsNull:
|
|
359
359
|
onSubmitFilter({
|
|
360
360
|
field,
|
|
361
|
-
|
|
362
|
-
|
|
361
|
+
filterType: FilterNames.NullFilter,
|
|
362
|
+
fieldType: FieldTypes.Null,
|
|
363
363
|
operator: operator,
|
|
364
364
|
value: null,
|
|
365
365
|
table,
|
|
@@ -372,22 +372,22 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
372
372
|
}
|
|
373
373
|
onSubmitFilter({
|
|
374
374
|
field,
|
|
375
|
-
|
|
376
|
-
|
|
375
|
+
filterType: FilterNames.StringFilter,
|
|
376
|
+
fieldType: FieldTypes.String,
|
|
377
377
|
operator: operator,
|
|
378
378
|
value,
|
|
379
379
|
table,
|
|
380
380
|
});
|
|
381
381
|
}
|
|
382
382
|
break;
|
|
383
|
-
case '
|
|
383
|
+
case 'number':
|
|
384
384
|
switch (operator) {
|
|
385
385
|
case NullOperator.IsNotNull:
|
|
386
386
|
case NullOperator.IsNull:
|
|
387
387
|
onSubmitFilter({
|
|
388
388
|
field,
|
|
389
|
-
|
|
390
|
-
|
|
389
|
+
filterType: FilterNames.NullFilter,
|
|
390
|
+
fieldType: FieldTypes.Null,
|
|
391
391
|
operator: operator,
|
|
392
392
|
value: null,
|
|
393
393
|
table,
|
|
@@ -402,8 +402,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
402
402
|
}
|
|
403
403
|
onSubmitFilter({
|
|
404
404
|
field,
|
|
405
|
-
|
|
406
|
-
|
|
405
|
+
filterType: FilterNames.NumericFilter,
|
|
406
|
+
fieldType: FieldTypes.Number,
|
|
407
407
|
operator: operator,
|
|
408
408
|
value,
|
|
409
409
|
table,
|
|
@@ -416,8 +416,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
416
416
|
case NullOperator.IsNull:
|
|
417
417
|
onSubmitFilter({
|
|
418
418
|
field,
|
|
419
|
-
|
|
420
|
-
|
|
419
|
+
filterType: FilterNames.NullFilter,
|
|
420
|
+
fieldType: FieldTypes.Null,
|
|
421
421
|
operator: operator,
|
|
422
422
|
value: null,
|
|
423
423
|
table,
|
|
@@ -427,8 +427,8 @@ export default function FilterModal({ schema, filter, fieldValuesMap, customOper
|
|
|
427
427
|
case BoolOperator.NotEqualTo:
|
|
428
428
|
onSubmitFilter({
|
|
429
429
|
field,
|
|
430
|
-
|
|
431
|
-
|
|
430
|
+
filterType: FilterNames.BooleanFilter,
|
|
431
|
+
fieldType: FieldTypes.Boolean,
|
|
432
432
|
operator: operator,
|
|
433
433
|
value: value,
|
|
434
434
|
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"}
|
|
@@ -366,7 +366,7 @@ function addValueFieldToPivot(newAst, pivot, columns) {
|
|
|
366
366
|
* Processes the AST and builds up a new pivot, given the old AST, the old pivot
|
|
367
367
|
* and a list of tables in the schema.
|
|
368
368
|
*/
|
|
369
|
-
export function convertGroupBy(ast,
|
|
369
|
+
export function convertGroupBy(ast, schemaTables, prevPivot) {
|
|
370
370
|
if (!isSelect(ast))
|
|
371
371
|
return { ast, pivot: prevPivot };
|
|
372
372
|
let newAst = {};
|