@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"}
|
|
@@ -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);
|
|
@@ -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"}
|
|
@@ -11,6 +11,7 @@ function QuillChartComponent({ report, onClick, children, isLoading, }) {
|
|
|
11
11
|
return ((0, jsx_runtime_1.jsx)("div", { onClick: () => onClick && onClick(report), style: {
|
|
12
12
|
cursor: 'pointer',
|
|
13
13
|
boxSizing: 'content-box',
|
|
14
|
+
height: '100%',
|
|
14
15
|
minHeight: 400,
|
|
15
16
|
borderRadius: 8,
|
|
16
17
|
}, children: (0, jsx_runtime_1.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,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const util_1 = require("./util");
|
|
9
|
+
const useDashboard_1 = require("../../hooks/useDashboard");
|
|
10
|
+
const Context_1 = require("../../Context");
|
|
11
|
+
const Dashboard_1 = __importDefault(require("../../Dashboard"));
|
|
12
|
+
function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }) {
|
|
13
|
+
const { isLoading, data } = (0, useDashboard_1.useDashboard)(name ?? '');
|
|
14
|
+
const { dashboardData, dashboardDataDispatch } = (0, react_1.useContext)(Context_1.DashboardDataContext);
|
|
15
|
+
const [addItemModalIsOpen, setAddItemModalIsOpen] = (0, react_1.useState)(false);
|
|
16
|
+
const [selectedTemplates, setSelectedTemplates] = (0, react_1.useState)([]);
|
|
17
|
+
const [selectingTemplate, setSelectingTemplate] = (0, react_1.useState)(false);
|
|
18
|
+
const [submittingTemplate, setSubmittingTemplate] = (0, react_1.useState)(false);
|
|
19
|
+
const templateSections = data?.sections;
|
|
20
|
+
const onSubmitTemplates = async () => {
|
|
21
|
+
setSubmittingTemplate(true);
|
|
22
|
+
// validate that filters don't conflict
|
|
23
|
+
const { valid, error } = (0, util_1.validateTemplatesAgainstFilters)(appliedFilters, selectedTemplates);
|
|
24
|
+
if (!valid) {
|
|
25
|
+
alert(error);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
setAddItemModalIsOpen(false);
|
|
29
|
+
const newTemplates = selectedTemplates;
|
|
30
|
+
setSelectedTemplates([]);
|
|
31
|
+
const newData = await (0, util_1.addTemplatesToDashboard)(originDashboard, newTemplates, client, dashboardData);
|
|
32
|
+
console.log('updating context with', newData);
|
|
33
|
+
if (newData) {
|
|
34
|
+
// Dispatch the action to update the dashboard state
|
|
35
|
+
dashboardDataDispatch({
|
|
36
|
+
type: 'UPDATE_DASHBOARD',
|
|
37
|
+
id: originDashboard,
|
|
38
|
+
data: newData,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
setSubmittingTemplate(false);
|
|
43
|
+
};
|
|
44
|
+
return data ? ((0, jsx_runtime_1.jsxs)(ModalComponent, { isOpen: addItemModalIsOpen, setIsOpen: setAddItemModalIsOpen, triggerLabel: "Add Items To Dashboard", title: "Add Items To Dashboard", children: [(0, jsx_runtime_1.jsx)("div", { style: {
|
|
45
|
+
overflow: 'scroll',
|
|
46
|
+
}, children: (0, jsx_runtime_1.jsx)(Dashboard_1.default, { name: name, ChartComponent: TemplateChartComponent, TableComponent: TemplateTableComponent, MetricComponent: TemplateMetricComponent, onClickReport: (report) => {
|
|
47
|
+
if (!selectingTemplate) {
|
|
48
|
+
setSelectingTemplate(true);
|
|
49
|
+
if (selectedTemplates.some((template) => template._id === report._id)) {
|
|
50
|
+
setSelectedTemplates(selectedTemplates.filter((template) => template._id !== report._id));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
setSelectedTemplates([...selectedTemplates, report]);
|
|
54
|
+
}
|
|
55
|
+
setSelectingTemplate(false);
|
|
56
|
+
}
|
|
57
|
+
}, hideFilters: true }) }), (0, jsx_runtime_1.jsx)("div", { style: {
|
|
58
|
+
display: 'flex',
|
|
59
|
+
justifyContent: 'flex-end',
|
|
60
|
+
flexDirection: 'row',
|
|
61
|
+
marginTop: '20px',
|
|
62
|
+
width: '100%',
|
|
63
|
+
}, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { disabled: isLoading || !templateSections, label: 'Add to dashboard', onClick: () => {
|
|
64
|
+
if (!submittingTemplate) {
|
|
65
|
+
onSubmitTemplates();
|
|
66
|
+
}
|
|
67
|
+
} }) })] })) : null;
|
|
68
|
+
}
|
|
69
|
+
exports.default = QuillDashboardTemplate;
|
|
@@ -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: [],
|
|
@@ -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,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const ChartComponent_1 = __importDefault(require("./ChartComponent"));
|
|
9
|
+
function QuillTemplateChartComponent({ report, onClick, children, isLoading, }) {
|
|
10
|
+
const [isSelected, setIsSelected] = (0, react_1.useState)(false);
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)("div", { onClick: () => {
|
|
12
|
+
if (onClick) {
|
|
13
|
+
setIsSelected(!isSelected);
|
|
14
|
+
onClick(report);
|
|
15
|
+
}
|
|
16
|
+
}, style: {
|
|
17
|
+
backgroundColor: isSelected ? 'lightgrey' : 'white',
|
|
18
|
+
borderRadius: '15px',
|
|
19
|
+
padding: '10px',
|
|
20
|
+
cursor: 'pointer',
|
|
21
|
+
}, children: (0, jsx_runtime_1.jsx)(ChartComponent_1.default, { report: report, children: children, isLoading: isLoading }) }));
|
|
22
|
+
}
|
|
23
|
+
exports.default = QuillTemplateChartComponent;
|
|
@@ -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,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const MetricComponent_1 = __importDefault(require("./MetricComponent"));
|
|
9
|
+
function QuillTemplateMetricComponent({ report, onClick, children, isLoading, }) {
|
|
10
|
+
const [isSelected, setIsSelected] = (0, react_1.useState)(false);
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)("div", { onClick: () => {
|
|
12
|
+
if (onClick) {
|
|
13
|
+
setIsSelected(!isSelected);
|
|
14
|
+
onClick(report);
|
|
15
|
+
}
|
|
16
|
+
}, style: {
|
|
17
|
+
backgroundColor: isSelected ? 'lightgrey' : 'white',
|
|
18
|
+
borderRadius: '15px',
|
|
19
|
+
padding: '10px',
|
|
20
|
+
cursor: 'pointer',
|
|
21
|
+
}, children: (0, jsx_runtime_1.jsx)(MetricComponent_1.default, { report: report, children: children, isLoading: isLoading }) }));
|
|
22
|
+
}
|
|
23
|
+
exports.default = QuillTemplateMetricComponent;
|
|
@@ -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,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const TableComponent_1 = __importDefault(require("./TableComponent"));
|
|
9
|
+
function QuillTemplateTableComponent({ report, onClick, isLoading, error, rowCount, onPageChange, onSortChange, }) {
|
|
10
|
+
const [isSelected, setIsSelected] = (0, react_1.useState)(false);
|
|
11
|
+
return ((0, jsx_runtime_1.jsx)("div", { onClick: () => {
|
|
12
|
+
if (onClick) {
|
|
13
|
+
setIsSelected(!isSelected);
|
|
14
|
+
onClick(report);
|
|
15
|
+
}
|
|
16
|
+
}, style: {
|
|
17
|
+
backgroundColor: isSelected ? 'lightgrey' : 'white',
|
|
18
|
+
borderRadius: '15px',
|
|
19
|
+
padding: '10px',
|
|
20
|
+
cursor: 'pointer',
|
|
21
|
+
}, children: (0, jsx_runtime_1.jsx)(TableComponent_1.default, { report: report, isLoading: isLoading, error: error, rowCount: rowCount, onPageChange: onPageChange, onSortChange: onSortChange }) }));
|
|
22
|
+
}
|
|
23
|
+
exports.default = QuillTemplateTableComponent;
|
|
@@ -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,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addTemplatesToDashboard = exports.validateTemplatesAgainstFilters = void 0;
|
|
4
|
+
const dataFetcher_1 = require("../../utils/dataFetcher");
|
|
5
|
+
function validateTemplatesAgainstFilters(filters, templates) {
|
|
6
|
+
let error = '';
|
|
7
|
+
filters.every((filter) => {
|
|
8
|
+
if (filter.filterType === 'date_range') {
|
|
9
|
+
templates.every((template) => {
|
|
10
|
+
if (!template.dateField?.field) {
|
|
11
|
+
error = `Please remove the date filter or unselect ${template.name}`;
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return true;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
templates.every((template) => {
|
|
19
|
+
if (!template.referencedTables?.includes(filter.table)) {
|
|
20
|
+
error = `Please remove filters on ${filter.table} or unselect ${template.name}`;
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (error !== '') {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
if (error === '') {
|
|
34
|
+
return { valid: true, error };
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return { valid: false, error };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.validateTemplatesAgainstFilters = validateTemplatesAgainstFilters;
|
|
41
|
+
async function addTemplatesToDashboard(name, newTemplates, client, dashboardData) {
|
|
42
|
+
try {
|
|
43
|
+
const { publicKey, customerId } = client;
|
|
44
|
+
const hostedBody = {
|
|
45
|
+
metadata: {
|
|
46
|
+
dashboardName: name,
|
|
47
|
+
task: 'add-from-template',
|
|
48
|
+
clientId: publicKey,
|
|
49
|
+
orgId: customerId || '*',
|
|
50
|
+
templateReportIds: newTemplates.map((template) => template._id),
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
const resp = await (0, dataFetcher_1.getData)(client, ``, // no cloud fallback
|
|
54
|
+
'omit', hostedBody, null);
|
|
55
|
+
if (resp.success && resp.newItems && resp.newItems.length > 0) {
|
|
56
|
+
const newData = {
|
|
57
|
+
newQueries: {
|
|
58
|
+
...(dashboardData[name]?.newQueries ?? []),
|
|
59
|
+
...resp.newItems.reduce((acc, item) => {
|
|
60
|
+
acc[item._id] = item;
|
|
61
|
+
return acc;
|
|
62
|
+
}, {}),
|
|
63
|
+
},
|
|
64
|
+
sections: {
|
|
65
|
+
...dashboardData[name].sections,
|
|
66
|
+
'': [
|
|
67
|
+
...(dashboardData[name]?.sections?.[''] ?? []),
|
|
68
|
+
...resp.newItems.map((item) => ({
|
|
69
|
+
...item,
|
|
70
|
+
id: item._id,
|
|
71
|
+
})),
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
return newData;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
console.error('Error while updating dashboard:', error);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.addTemplatesToDashboard = addTemplatesToDashboard;
|
|
@@ -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 = {};
|