@quillsql/react 2.13.26 → 2.13.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +2 -2
- package/dist/cjs/ChartBuilder.d.ts +20 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +130 -36
- package/dist/cjs/ChartEditor.d.ts +5 -3
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +4 -5
- package/dist/cjs/Context.d.ts +15 -4
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +37 -60
- package/dist/cjs/Dashboard.d.ts +4 -0
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +78 -23
- package/dist/cjs/QuillProvider.d.ts +12 -9
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts +9 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +198 -80
- package/dist/cjs/SQLEditor.d.ts +5 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +81 -18
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +5 -4
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +106 -27
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +10 -7
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +3 -2
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +65 -65
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +81 -34
- package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +6 -2
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +17 -18
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +9 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +25 -3
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +2 -2
- package/dist/cjs/components/ReportBuilder/convert.d.ts +1 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +54 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +3 -2
- package/dist/cjs/components/UiComponents.d.ts +1 -0
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.d.ts +1 -1
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +6 -5
- package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -1
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/cjs/hooks/useAstToFilterTree.js +3 -3
- package/dist/cjs/hooks/useDashboard.d.ts +5 -2
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +21 -7
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +6 -4
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +8 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +59 -30
- package/dist/cjs/models/Client.d.ts +22 -3
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Dashboard.d.ts +1 -0
- package/dist/cjs/models/Dashboard.d.ts.map +1 -1
- package/dist/cjs/models/Report.d.ts +4 -0
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts +3 -2
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +3323 -977
- package/dist/cjs/utils/astProcessing.d.ts +1 -1
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +3 -2
- package/dist/cjs/utils/client.d.ts +4 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +47 -1
- package/dist/cjs/utils/columnProcessing.d.ts +3 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +34 -1
- package/dist/cjs/utils/dashboard.d.ts +4 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +10 -91
- package/dist/cjs/utils/dataFetcher.d.ts +3 -1
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +66 -30
- package/dist/cjs/utils/filterProcessing.d.ts +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +2 -0
- package/dist/cjs/utils/pivotConstructor.d.ts +4 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +7 -7
- package/dist/cjs/utils/pivotProcessing.d.ts +4 -1
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +27 -20
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +101 -85
- package/dist/cjs/utils/report.d.ts +17 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +23 -23
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +21 -21
- package/dist/cjs/utils/tableProcessing.d.ts +37 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +45 -38
- package/dist/cjs/utils/tenants.d.ts +11 -0
- package/dist/cjs/utils/tenants.d.ts.map +1 -0
- package/dist/cjs/utils/tenants.js +13 -0
- package/dist/cjs/utils/textProcessing.d.ts +1 -0
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +49 -0
- package/dist/cjs/utils/validation.js +1 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +2 -2
- package/dist/esm/ChartBuilder.d.ts +20 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +131 -40
- package/dist/esm/ChartEditor.d.ts +5 -3
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +5 -6
- package/dist/esm/Context.d.ts +15 -4
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +36 -59
- package/dist/esm/Dashboard.d.ts +4 -0
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +79 -24
- package/dist/esm/QuillProvider.d.ts +12 -9
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts +9 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +200 -84
- package/dist/esm/SQLEditor.d.ts +5 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +80 -17
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +6 -5
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +107 -28
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +10 -7
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +3 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +65 -65
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +82 -35
- package/dist/esm/components/Dashboard/MetricComponent.js +3 -3
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +6 -2
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +17 -18
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +9 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +26 -4
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +2 -2
- package/dist/esm/components/ReportBuilder/convert.d.ts +1 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +54 -5
- package/dist/esm/components/ReportBuilder/ui.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +4 -3
- package/dist/esm/components/UiComponents.d.ts +1 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.d.ts +1 -1
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +7 -6
- package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -1
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/esm/hooks/useAstToFilterTree.js +3 -3
- package/dist/esm/hooks/useDashboard.d.ts +5 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +21 -7
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +7 -5
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +8 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +59 -30
- package/dist/esm/models/Client.d.ts +22 -3
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Dashboard.d.ts +1 -0
- package/dist/esm/models/Dashboard.d.ts.map +1 -1
- package/dist/esm/models/Report.d.ts +4 -0
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts +3 -2
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +3323 -977
- package/dist/esm/utils/astProcessing.d.ts +1 -1
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +4 -3
- package/dist/esm/utils/client.d.ts +4 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +47 -1
- package/dist/esm/utils/columnProcessing.d.ts +3 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +31 -1
- package/dist/esm/utils/dashboard.d.ts +4 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +10 -90
- package/dist/esm/utils/dataFetcher.d.ts +3 -1
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +65 -29
- package/dist/esm/utils/filterProcessing.d.ts +1 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +2 -0
- package/dist/esm/utils/pivotConstructor.d.ts +4 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +8 -8
- package/dist/esm/utils/pivotProcessing.d.ts +4 -1
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +27 -20
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +101 -85
- package/dist/esm/utils/report.d.ts +17 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +20 -23
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +21 -21
- package/dist/esm/utils/tableProcessing.d.ts +37 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +46 -39
- package/dist/esm/utils/tenants.d.ts +11 -0
- package/dist/esm/utils/tenants.d.ts.map +1 -0
- package/dist/esm/utils/tenants.js +9 -0
- package/dist/esm/utils/textProcessing.d.ts +1 -0
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +48 -0
- package/dist/esm/utils/validation.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.convertUniqueValuesByColumnToUniqueValueStrings = exports.fetchTableByAST = exports.fetchResultsByReport = exports.fetchResultsByQuery = exports.getPaginatedRows = exports.getQueryDateRangeByColumns = exports.getCountsByColumns = exports.getRelevantInfoFromQuery = exports.getUniqueStringValues = exports.getUniqueValuesByColumns = exports.hasColumnAlias = void 0;
|
|
4
|
-
const ast_1 = require("../components/ReportBuilder/ast");
|
|
5
4
|
const util_1 = require("../components/ReportBuilder/util");
|
|
6
5
|
const columnProcessing_1 = require("./columnProcessing");
|
|
7
6
|
const constants_1 = require("./constants");
|
|
@@ -23,7 +22,7 @@ const hasColumnAlias = (columns, referencedColumns) => {
|
|
|
23
22
|
return false;
|
|
24
23
|
};
|
|
25
24
|
exports.hasColumnAlias = hasColumnAlias;
|
|
26
|
-
const getUniqueValuesByColumns = async (columns, query, rows, client, customFields, filters) => {
|
|
25
|
+
const getUniqueValuesByColumns = async (columns, query, rows, client, tenants, customFields, filters, dashboardName) => {
|
|
27
26
|
const stringNames = columns.map((column) => column.field);
|
|
28
27
|
const uniqueValues = {};
|
|
29
28
|
//TODO: this bigquery case is wack, we should be able to generate a distinct query for bigquery
|
|
@@ -34,13 +33,14 @@ const getUniqueValuesByColumns = async (columns, query, rows, client, customFiel
|
|
|
34
33
|
metadata: {
|
|
35
34
|
query: query,
|
|
36
35
|
task: 'query',
|
|
37
|
-
orgId: client.organizationId || '*',
|
|
38
36
|
clientId: client.publicKey,
|
|
39
37
|
databaseType: client?.databaseType,
|
|
40
38
|
customFieldsByTable: customFields,
|
|
41
39
|
useNewNodeSql: true,
|
|
42
40
|
dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
|
|
43
41
|
filters,
|
|
42
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
43
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
46
|
const cloudBody = { query };
|
|
@@ -63,7 +63,7 @@ const getUniqueValuesByColumns = async (columns, query, rows, client, customFiel
|
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
const distinctValueQuery = (0, queryConstructor_1.generateDistinctQuery)(stringNames, query, client.databaseType);
|
|
66
|
-
const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields, filters);
|
|
66
|
+
const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, tenants, customFields, filters, dashboardName);
|
|
67
67
|
if (!distinctStrings) {
|
|
68
68
|
return {};
|
|
69
69
|
}
|
|
@@ -74,16 +74,20 @@ const getUniqueValuesByColumns = async (columns, query, rows, client, customFiel
|
|
|
74
74
|
return uniqueValues;
|
|
75
75
|
};
|
|
76
76
|
exports.getUniqueValuesByColumns = getUniqueValuesByColumns;
|
|
77
|
-
const getUniqueStringValues = async (columns, tableName, client, customFields, previousUniqueValues, withExceededColumns, query) => {
|
|
77
|
+
const getUniqueStringValues = async (columns, tableName, client, tenants, customFields, previousUniqueValues, withExceededColumns, query, dashboardName) => {
|
|
78
78
|
const convertedStringColumns = columns.filter((column) => {
|
|
79
|
-
return (0,
|
|
79
|
+
return (0, columnProcessing_1.isStringType)(column.fieldType);
|
|
80
80
|
});
|
|
81
81
|
const stringNames = convertedStringColumns.map((column) => (0, queryConstructor_1.processColumnReference)(column.field, client.databaseType));
|
|
82
|
-
const { filteredColumns: smallStringColumns, exceededColumns } =
|
|
82
|
+
const { filteredColumns: smallStringColumns, exceededColumns } = query || stringNames.length > 0
|
|
83
|
+
? await (0, exports.getCountsByColumns)(convertedStringColumns, query || `Select ${stringNames.join(', ')} from ${tableName}`, client, tenants, customFields ?? [], dashboardName)
|
|
84
|
+
: { filteredColumns: [], exceededColumns: undefined };
|
|
83
85
|
const smallStringNames = smallStringColumns.map((column) => (0, queryConstructor_1.processColumnReference)(column.field, client.databaseType));
|
|
84
|
-
const newUniqueValues =
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
const newUniqueValues = query || smallStringColumns.length > 0
|
|
87
|
+
? await (0, exports.getUniqueValuesByColumns)(
|
|
88
|
+
// returns null if data error
|
|
89
|
+
smallStringColumns, query || `Select ${smallStringNames.join(', ')} from ${tableName}`, [], client, tenants, customFields ?? [], undefined, dashboardName)
|
|
90
|
+
: null;
|
|
87
91
|
if (!newUniqueValues) {
|
|
88
92
|
return {};
|
|
89
93
|
}
|
|
@@ -106,24 +110,24 @@ const getUniqueStringValues = async (columns, tableName, client, customFields, p
|
|
|
106
110
|
}
|
|
107
111
|
};
|
|
108
112
|
exports.getUniqueStringValues = getUniqueStringValues;
|
|
109
|
-
const getRelevantInfoFromQuery = async (columns, client, query, customFields) => {
|
|
113
|
+
const getRelevantInfoFromQuery = async (columns, client, tenants, query, customFields, dashboardName) => {
|
|
110
114
|
let dateRanges = {};
|
|
111
115
|
let uniqueStrings = {};
|
|
112
116
|
let error = undefined;
|
|
113
117
|
try {
|
|
114
118
|
const convertedStringColumns = columns.filter((column) => {
|
|
115
|
-
return (0,
|
|
119
|
+
return (0, columnProcessing_1.isStringType)(column.fieldType);
|
|
116
120
|
});
|
|
117
121
|
const stringNames = convertedStringColumns.map((column) => column.field);
|
|
118
122
|
if (stringNames.length > 0) {
|
|
119
|
-
const { filteredColumns: smallStringColumns } = await (0, exports.getCountsByColumns)(convertedStringColumns, query, client, customFields);
|
|
120
|
-
uniqueStrings = await (0, exports.getUniqueValuesByColumns)(smallStringColumns, query, [], client, customFields);
|
|
123
|
+
const { filteredColumns: smallStringColumns } = await (0, exports.getCountsByColumns)(convertedStringColumns, query, client, tenants, customFields, dashboardName);
|
|
124
|
+
uniqueStrings = await (0, exports.getUniqueValuesByColumns)(smallStringColumns, query, [], client, tenants, customFields, undefined, dashboardName);
|
|
121
125
|
}
|
|
122
126
|
const dateColumns = columns.filter((column) => {
|
|
123
127
|
return column.fieldType === 'date';
|
|
124
128
|
});
|
|
125
129
|
if (dateColumns.length > 0) {
|
|
126
|
-
dateRanges = await (0, exports.getQueryDateRangeByColumns)(dateColumns, query, client, customFields);
|
|
130
|
+
dateRanges = await (0, exports.getQueryDateRangeByColumns)(dateColumns, query, client, tenants, customFields, dashboardName);
|
|
127
131
|
if (dateRanges === null) {
|
|
128
132
|
throw new Error("Couldn't fetch date ranges");
|
|
129
133
|
}
|
|
@@ -139,7 +143,7 @@ const getRelevantInfoFromQuery = async (columns, client, query, customFields) =>
|
|
|
139
143
|
};
|
|
140
144
|
};
|
|
141
145
|
exports.getRelevantInfoFromQuery = getRelevantInfoFromQuery;
|
|
142
|
-
const getCountsByColumns = async (columns, query, client, customFields) => {
|
|
146
|
+
const getCountsByColumns = async (columns, query, client, tenants, customFields, dashboardName) => {
|
|
143
147
|
const stringNames = columns.map((column) => column.field);
|
|
144
148
|
const countQuery = (0, queryConstructor_1.generateCountQuery)(stringNames, query, client.databaseType || 'postgresql');
|
|
145
149
|
try {
|
|
@@ -147,11 +151,12 @@ const getCountsByColumns = async (columns, query, client, customFields) => {
|
|
|
147
151
|
metadata: {
|
|
148
152
|
query: countQuery,
|
|
149
153
|
task: 'query',
|
|
150
|
-
orgId: client.organizationId || '*',
|
|
151
154
|
clientId: client.publicKey,
|
|
152
155
|
databaseType: client?.databaseType,
|
|
153
156
|
customFieldsByTable: customFields,
|
|
154
157
|
useNewNodeSql: true,
|
|
158
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
159
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
155
160
|
},
|
|
156
161
|
};
|
|
157
162
|
const cloudBody = { countQuery };
|
|
@@ -181,13 +186,12 @@ const getCountsByColumns = async (columns, query, client, customFields) => {
|
|
|
181
186
|
}
|
|
182
187
|
};
|
|
183
188
|
exports.getCountsByColumns = getCountsByColumns;
|
|
184
|
-
const fetchDistinctStrings = async (query, client, customFields, filters) => {
|
|
189
|
+
const fetchDistinctStrings = async (query, client, tenants, customFields, filters, dashboardName) => {
|
|
185
190
|
try {
|
|
186
191
|
const hostedBody = {
|
|
187
192
|
metadata: {
|
|
188
193
|
query,
|
|
189
194
|
task: 'query',
|
|
190
|
-
orgId: client.organizationId || '*',
|
|
191
195
|
clientId: client.publicKey,
|
|
192
196
|
databaseType: client?.databaseType,
|
|
193
197
|
customFieldsByTable: customFields,
|
|
@@ -195,6 +199,8 @@ const fetchDistinctStrings = async (query, client, customFields, filters) => {
|
|
|
195
199
|
filters,
|
|
196
200
|
// @ts-ignore
|
|
197
201
|
dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
|
|
202
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
203
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
198
204
|
},
|
|
199
205
|
};
|
|
200
206
|
const cloudBody = { query };
|
|
@@ -225,26 +231,27 @@ const fetchDistinctStrings = async (query, client, customFields, filters) => {
|
|
|
225
231
|
return null;
|
|
226
232
|
}
|
|
227
233
|
};
|
|
228
|
-
const getQueryDateRangeByColumns = async (columns, query, client, customFields) => {
|
|
234
|
+
const getQueryDateRangeByColumns = async (columns, query, client, tenants, customFields, dashboardName) => {
|
|
229
235
|
const columnNames = columns.map(
|
|
230
236
|
// @ts-ignore
|
|
231
237
|
(column) => column.field || column.name);
|
|
232
238
|
const distinctValueQuery = (0, queryConstructor_1.generateMinMaxDateRangeQueries)(columnNames, query, client.databaseType || 'postgresql');
|
|
233
|
-
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
|
|
239
|
+
const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, tenants, customFields, dashboardName);
|
|
234
240
|
return dateRanges;
|
|
235
241
|
};
|
|
236
242
|
exports.getQueryDateRangeByColumns = getQueryDateRangeByColumns;
|
|
237
|
-
const fetchQueryDateRanges = async (query, client, customFields) => {
|
|
243
|
+
const fetchQueryDateRanges = async (query, client, tenants, customFields, dashboardName) => {
|
|
238
244
|
try {
|
|
239
245
|
const hostedBody = {
|
|
240
246
|
metadata: {
|
|
241
247
|
query,
|
|
242
248
|
task: 'query',
|
|
243
|
-
orgId: client.organizationId || '*',
|
|
244
249
|
clientId: client.publicKey,
|
|
245
250
|
databaseType: client?.databaseType,
|
|
246
251
|
customFieldsByTable: customFields,
|
|
247
252
|
useNewNodeSql: true,
|
|
253
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
254
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
248
255
|
},
|
|
249
256
|
};
|
|
250
257
|
const cloudBody = { query };
|
|
@@ -264,17 +271,17 @@ const fetchQueryDateRanges = async (query, client, customFields) => {
|
|
|
264
271
|
return null;
|
|
265
272
|
}
|
|
266
273
|
};
|
|
267
|
-
const getPaginatedRows = async (client, query, reportId, processing, filters, customFields) => {
|
|
274
|
+
const getPaginatedRows = async (client, tenants, query, reportId, processing, filters, customFields, dashboardName) => {
|
|
268
275
|
if (query) {
|
|
269
|
-
return await (0, exports.fetchResultsByQuery)(query, client, processing, customFields);
|
|
276
|
+
return await (0, exports.fetchResultsByQuery)(query, client, tenants, processing, customFields, filters, undefined, undefined, undefined, undefined, dashboardName);
|
|
270
277
|
}
|
|
271
278
|
else if (reportId) {
|
|
272
|
-
return await (0, exports.fetchResultsByReport)(reportId, client, processing, filters, customFields);
|
|
279
|
+
return await (0, exports.fetchResultsByReport)(reportId, client, tenants, processing, filters, customFields);
|
|
273
280
|
}
|
|
274
281
|
return { rows: [], columns: [] };
|
|
275
282
|
};
|
|
276
283
|
exports.getPaginatedRows = getPaginatedRows;
|
|
277
|
-
const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap) => {
|
|
284
|
+
const fetchResultsByQuery = async (query, client, tenants, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap, dashboardName) => {
|
|
278
285
|
let rows = [];
|
|
279
286
|
let columns = [];
|
|
280
287
|
let error = undefined;
|
|
@@ -286,12 +293,9 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
286
293
|
query,
|
|
287
294
|
task: 'query',
|
|
288
295
|
filterMap,
|
|
289
|
-
orgId: client.organizationId || '*',
|
|
290
296
|
clientId: client.publicKey,
|
|
291
297
|
databaseType: client?.databaseType,
|
|
292
|
-
getCustomFields:
|
|
293
|
-
? false
|
|
294
|
-
: true,
|
|
298
|
+
getCustomFields: !!tenants?.length,
|
|
295
299
|
customFieldsByTable: customFields,
|
|
296
300
|
additionalProcessing: processing,
|
|
297
301
|
useUpdatedDataGathering: processing ? true : false,
|
|
@@ -300,6 +304,8 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
300
304
|
dateField: dateField ?? undefined,
|
|
301
305
|
rowsOnly,
|
|
302
306
|
rowCountOnly,
|
|
307
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
308
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
303
309
|
},
|
|
304
310
|
};
|
|
305
311
|
const cloudBody = { query };
|
|
@@ -328,7 +334,7 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
328
334
|
if (resp && resp.errorMessage) {
|
|
329
335
|
throw new Error(resp.errorMessage);
|
|
330
336
|
}
|
|
331
|
-
if (resp.rowCount) {
|
|
337
|
+
if (resp.rowCount !== undefined) {
|
|
332
338
|
rowCount = resp.rowCount;
|
|
333
339
|
}
|
|
334
340
|
if (!resp.error && !parsedSuccessfully) {
|
|
@@ -363,7 +369,7 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
363
369
|
return { rows, columns, rowCount, error, itemQuery };
|
|
364
370
|
};
|
|
365
371
|
exports.fetchResultsByQuery = fetchResultsByQuery;
|
|
366
|
-
const fetchResultsByReport = async (reportId, client, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal) => {
|
|
372
|
+
const fetchResultsByReport = async (reportId, client, tenants, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal) => {
|
|
367
373
|
const updatedProcessing = { ...processing };
|
|
368
374
|
let rows = [];
|
|
369
375
|
let columns = [];
|
|
@@ -389,7 +395,6 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
389
395
|
const hostedBody = {
|
|
390
396
|
metadata: {
|
|
391
397
|
dashboardItemId: reportId,
|
|
392
|
-
orgId: client?.organizationId || '*',
|
|
393
398
|
task: 'item',
|
|
394
399
|
filters: minimalFilters,
|
|
395
400
|
clientId: client?.publicKey,
|
|
@@ -400,6 +405,7 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
400
405
|
useNewNodeSql: true,
|
|
401
406
|
rowsOnly,
|
|
402
407
|
rowCountOnly,
|
|
408
|
+
tenants,
|
|
403
409
|
},
|
|
404
410
|
};
|
|
405
411
|
const cloudBody = {
|
|
@@ -412,7 +418,7 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
412
418
|
throw new Error(resp.errorMessage);
|
|
413
419
|
}
|
|
414
420
|
(0, errorProcessing_1.processFilterErrorList)(resp);
|
|
415
|
-
if (resp.rowCount) {
|
|
421
|
+
if (resp.rowCount !== undefined) {
|
|
416
422
|
rowCount = resp.rowCount;
|
|
417
423
|
}
|
|
418
424
|
const gatheredRows = resp.rows && resp.rows.length ? resp.rows : [];
|
|
@@ -437,7 +443,7 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
437
443
|
return { rows, columns, rowCount, error };
|
|
438
444
|
};
|
|
439
445
|
exports.fetchResultsByReport = fetchResultsByReport;
|
|
440
|
-
const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly, rowCountOnly) => {
|
|
446
|
+
const fetchTableByAST = async (ast, client, tenants, processing, customFields, rowsOnly, rowCountOnly, dashboardName) => {
|
|
441
447
|
let rows = [];
|
|
442
448
|
let columns = [];
|
|
443
449
|
let rowCount;
|
|
@@ -449,7 +455,6 @@ const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly,
|
|
|
449
455
|
clientId: client.publicKey,
|
|
450
456
|
ast,
|
|
451
457
|
publicKey: client.publicKey,
|
|
452
|
-
orgId: client.organizationId || '*',
|
|
453
458
|
task: 'patterns',
|
|
454
459
|
getCustomFields: false,
|
|
455
460
|
customFields,
|
|
@@ -458,6 +463,8 @@ const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly,
|
|
|
458
463
|
useNewNodeSql: true,
|
|
459
464
|
rowsOnly,
|
|
460
465
|
rowCountOnly,
|
|
466
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
467
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
461
468
|
},
|
|
462
469
|
};
|
|
463
470
|
const cloudBody = {};
|
|
@@ -466,7 +473,7 @@ const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly,
|
|
|
466
473
|
throw new Error(resp.errorMessage);
|
|
467
474
|
}
|
|
468
475
|
(0, errorProcessing_1.processFilterErrorList)(resp);
|
|
469
|
-
if (resp.rowCount) {
|
|
476
|
+
if (resp.rowCount !== undefined) {
|
|
470
477
|
rowCount = resp.rowCount;
|
|
471
478
|
}
|
|
472
479
|
const gatheredRows = resp.rows && resp.rows.length ? resp.rows : [];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { QuillDatabaseTenant, QuillProviderClient } from '../models/Client';
|
|
2
|
+
export type TenantValue = {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string | number;
|
|
5
|
+
};
|
|
6
|
+
export type Tenant = {
|
|
7
|
+
name: string;
|
|
8
|
+
tenantField: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const asSingleDatabaseTenant: (client: QuillProviderClient | undefined) => QuillDatabaseTenant | undefined;
|
|
11
|
+
//# sourceMappingURL=tenants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenants.d.ts","sourceRoot":"","sources":["../../../src/utils/tenants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WACzB,mBAAmB,GAAG,SAAS,KACtC,mBAAmB,GAAG,SASxB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asSingleDatabaseTenant = void 0;
|
|
4
|
+
const asSingleDatabaseTenant = (client) => {
|
|
5
|
+
if (client?.allTenantTypes?.length &&
|
|
6
|
+
client.allTenantTypes?.[0]?.scope === 'database') {
|
|
7
|
+
return client.allTenantTypes?.[0];
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
exports.asSingleDatabaseTenant = asSingleDatabaseTenant;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare function capitalize(text: string): string;
|
|
2
2
|
export declare function depluralize(text: string): string;
|
|
3
|
+
export declare function matchCasing(text: string, template: string): string;
|
|
3
4
|
export declare function snakeCaseToTitleCase(str: string): string;
|
|
4
5
|
export declare function snakeAndCamelCaseToTitleCase(str: string): string;
|
|
5
6
|
export declare function removeDoubleQuotes(str: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/textProcessing.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAa/C;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,UAiBvD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAK7C"}
|
|
1
|
+
{"version":3,"file":"textProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/textProcessing.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAyDlE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,UAa/C;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,UAiBvD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,UAK7C"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.capitalize = capitalize;
|
|
4
4
|
exports.depluralize = depluralize;
|
|
5
|
+
exports.matchCasing = matchCasing;
|
|
5
6
|
exports.snakeCaseToTitleCase = snakeCaseToTitleCase;
|
|
6
7
|
exports.snakeAndCamelCaseToTitleCase = snakeAndCamelCaseToTitleCase;
|
|
7
8
|
exports.removeDoubleQuotes = removeDoubleQuotes;
|
|
@@ -17,6 +18,54 @@ function depluralize(text) {
|
|
|
17
18
|
}
|
|
18
19
|
return text;
|
|
19
20
|
}
|
|
21
|
+
function matchCasing(text, template) {
|
|
22
|
+
// Detect TitleCase
|
|
23
|
+
const isTitleCase = (str) => /^[A-Z][a-z]*([A-Z][a-z]*)*$/.test(str);
|
|
24
|
+
// Detect camelCase
|
|
25
|
+
const isCamelCase = (str) => /^[a-z]+([A-Z][a-z]*)*$/.test(str);
|
|
26
|
+
// Detect snake_case
|
|
27
|
+
const isSnakeCase = (str) => /^[a-z0-9]+(_[a-z0-9]+)*$/.test(str);
|
|
28
|
+
// Detect all lowercase
|
|
29
|
+
const isAllLowerCase = (str) => /^[a-z]+$/.test(str);
|
|
30
|
+
// Detect all uppercase
|
|
31
|
+
const isAllUpperCase = (str) => /^[A-Z]+$/.test(str);
|
|
32
|
+
// Detect capitalized (first letter uppercase, rest lowercase)
|
|
33
|
+
const isCapitalized = (str) => /^[A-Z][a-z]*$/.test(str);
|
|
34
|
+
// Function to convert to TitleCase
|
|
35
|
+
const toTitleCase = (str) => str.toLowerCase().replace(/\b\w/g, (char) => char.toUpperCase());
|
|
36
|
+
// Function to convert to camelCase
|
|
37
|
+
const toCamelCase = (str) => str.replace(/_./g, (match) => match.charAt(1).toUpperCase()).toLowerCase();
|
|
38
|
+
// Function to convert to snake_case
|
|
39
|
+
const toSnakeCase = (str) => str.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);
|
|
40
|
+
// Function to convert to all lowercase
|
|
41
|
+
const toLowerCase = (str) => str.toLowerCase();
|
|
42
|
+
// Function to convert to all uppercase
|
|
43
|
+
const toUpperCase = (str) => str.toUpperCase();
|
|
44
|
+
// Function to convert to capitalized (first letter uppercase, rest lowercase)
|
|
45
|
+
const toCapitalized = (str) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
46
|
+
// Match casing of the template and apply to the text
|
|
47
|
+
if (isTitleCase(template)) {
|
|
48
|
+
return toTitleCase(text);
|
|
49
|
+
}
|
|
50
|
+
else if (isCamelCase(template)) {
|
|
51
|
+
return toCamelCase(text);
|
|
52
|
+
}
|
|
53
|
+
else if (isSnakeCase(template)) {
|
|
54
|
+
return toSnakeCase(text);
|
|
55
|
+
}
|
|
56
|
+
else if (isAllLowerCase(template)) {
|
|
57
|
+
return toLowerCase(text);
|
|
58
|
+
}
|
|
59
|
+
else if (isAllUpperCase(template)) {
|
|
60
|
+
return toUpperCase(text);
|
|
61
|
+
}
|
|
62
|
+
else if (isCapitalized(template)) {
|
|
63
|
+
return toCapitalized(text);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return text; // Default case if no specific pattern is detected
|
|
67
|
+
}
|
|
68
|
+
}
|
|
20
69
|
function snakeCaseToTitleCase(str) {
|
|
21
70
|
if (!str) {
|
|
22
71
|
return str;
|
|
@@ -22,7 +22,7 @@ const validateReport = (formData, dashboardData, defaultDateFilter, allTables) =
|
|
|
22
22
|
issues.push(`Delete the "${filter.label}" filter on "${formData.dashboardName}" or add to another dashboard.`);
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
|
-
if (formData.pivot && !(0, pivotProcessing_1.isValidPivot)(formData.pivot)) {
|
|
25
|
+
if (formData.pivot && !(0, pivotProcessing_1.isValidPivot)(formData.pivot).valid) {
|
|
26
26
|
issues.push(`Pivot is invalid.`);
|
|
27
27
|
}
|
|
28
28
|
return issues;
|
package/dist/esm/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/Chart.js
CHANGED
|
@@ -319,7 +319,7 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
|
|
|
319
319
|
}
|
|
320
320
|
setLoading(true);
|
|
321
321
|
try {
|
|
322
|
-
await fetchIndividualReport(reportId, 'Chart', false, specificReportFilters, filters?.map(convertCustomFilter), undefined, dateBucket);
|
|
322
|
+
await fetchIndividualReport(reportId, 'Chart', false, specificReportFilters, filters?.map(convertCustomFilter), undefined, dateBucket, undefined);
|
|
323
323
|
}
|
|
324
324
|
catch (error) {
|
|
325
325
|
setError('Error fetching chart: ' + error);
|
|
@@ -446,7 +446,7 @@ export const ChartDisplay = ({ reportId, config, colors, className, containerSty
|
|
|
446
446
|
}
|
|
447
447
|
const chartTypes = [config?.chartType];
|
|
448
448
|
if (chartTypes.includes('pie')) {
|
|
449
|
-
return (_jsx(PieChart, { className: className, containerStyle: containerStyle, data: config?.rows
|
|
449
|
+
return (_jsx(PieChart, { className: className, containerStyle: containerStyle, data: config?.rows?.map((row) => {
|
|
450
450
|
return {
|
|
451
451
|
...row,
|
|
452
452
|
count:
|
|
@@ -25,7 +25,7 @@ export interface ChartBuilderData {
|
|
|
25
25
|
label: string;
|
|
26
26
|
format: AxisFormat;
|
|
27
27
|
}[];
|
|
28
|
-
template
|
|
28
|
+
template?: boolean;
|
|
29
29
|
}
|
|
30
30
|
export declare function createInitialFormData(columns: ColumnInternal[]): ChartBuilderData;
|
|
31
31
|
export declare const numberFormatOptions: string[];
|
|
@@ -49,6 +49,22 @@ export interface ChartBuilderProps {
|
|
|
49
49
|
}[];
|
|
50
50
|
onChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
51
51
|
}) => JSX.Element;
|
|
52
|
+
/** A multiselect component. */
|
|
53
|
+
MultiSelectComponent?: ({ label, value, options, onChange, width, }: {
|
|
54
|
+
value: (string | null)[];
|
|
55
|
+
width: number;
|
|
56
|
+
label?: string;
|
|
57
|
+
options: {
|
|
58
|
+
value: string;
|
|
59
|
+
label: string;
|
|
60
|
+
}[];
|
|
61
|
+
onChange: (event: React.ChangeEvent<HTMLSelectElement> | {
|
|
62
|
+
target: {
|
|
63
|
+
value: (string | null)[];
|
|
64
|
+
};
|
|
65
|
+
}) => void;
|
|
66
|
+
emptyLabel?: string;
|
|
67
|
+
}) => JSX.Element;
|
|
52
68
|
/** An input component to get text from your users. Wrap your component in a forwardRef to receive focus events from Quill */
|
|
53
69
|
TextInputComponent?: ((props: TextInputComponentProps) => JSX.Element) | React.ForwardRefExoticComponent<TextInputComponentProps & React.RefAttributes<HTMLInputElement>>;
|
|
54
70
|
/** A button component. */
|
|
@@ -188,6 +204,8 @@ export interface ChartBuilderProps {
|
|
|
188
204
|
isHorizontalView?: boolean;
|
|
189
205
|
/** Whether the consumer is an admin. */
|
|
190
206
|
isAdmin?: boolean;
|
|
207
|
+
/** Flag options for database-scope tenants */
|
|
208
|
+
flagsList?: string[];
|
|
191
209
|
/** Whether to show the dashboard dropdown. */
|
|
192
210
|
showDashboardDropdown?: boolean;
|
|
193
211
|
/** A callback fired when the add to dashboard flow has been completed. */
|
|
@@ -297,7 +315,7 @@ export declare function ChartBuilderWithModal(props: ChartBuilderProps): import(
|
|
|
297
315
|
* ### Chart Builder API
|
|
298
316
|
* @see https://docs.quillsql.com/components/chart-builder
|
|
299
317
|
*/
|
|
300
|
-
export default function ChartBuilder({ TextInputComponent, SelectComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, DeleteButtonComponent, TextComponent, PopoverComponent, CardComponent, TableComponent, ModalComponent, LoadingComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, FormContainer, ErrorComponent, onClickChartError, isOpen, isHorizontalView, setIsOpen, queryNoDateColumn, dateRange, isAdmin, showDashboardDropdown, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, recommendedPivots: rp, createdPivots: cp, dateColumn, buttonLabel, organizationName, hideDeleteButton, hideSubmitButton, hideDateRangeFilter, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled, filtersEnabled, onFiltersEnabledChanged, onClickChartElement, isEditingMode, disableSort, }: ChartBuilderProps): import("react/jsx-runtime").JSX.Element;
|
|
318
|
+
export default function ChartBuilder({ TextInputComponent, SelectComponent, MultiSelectComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, DeleteButtonComponent, TextComponent, PopoverComponent, CardComponent, TableComponent, ModalComponent, LoadingComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, FormContainer, ErrorComponent, onClickChartError, isOpen, isHorizontalView, setIsOpen, queryNoDateColumn, dateRange, isAdmin, showDashboardDropdown, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, recommendedPivots: rp, createdPivots: cp, dateColumn, buttonLabel, organizationName, hideDeleteButton, hideSubmitButton, hideDateRangeFilter, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled, filtersEnabled, onFiltersEnabledChanged, onClickChartElement, isEditingMode, disableSort, flagsList, }: ChartBuilderProps): import("react/jsx-runtime").JSX.Element;
|
|
301
319
|
export declare function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalComponent, ButtonComponent, }: {
|
|
302
320
|
isOpen: boolean;
|
|
303
321
|
setIsOpen: (e: boolean) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/ChartBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAOZ,SAAS,EACT,aAAa,EACd,MAAM,OAAO,CAAC;AAkBf,OAAO,EAmBL,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAM1D,OAAO,EAEL,mBAAmB,EAEpB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/ChartBuilder.tsx"],"names":[],"mappings":"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"}
|