@quillsql/react 2.13.27 → 2.13.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.d.ts +2 -1
- 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 +140 -45
- 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 +43 -61
- package/dist/cjs/Dashboard.d.ts +4 -0
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +49 -9
- package/dist/cjs/QuillProvider.d.ts +7 -46
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -4
- 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 +3 -2
- package/dist/cjs/components/Chart/InternalChart.d.ts +2 -1
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +110 -28
- 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 +66 -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/TableComponent.d.ts +2 -1
- package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/TableComponent.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 +3 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +29 -20
- 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 +6 -2
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +34 -10
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +6 -4
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -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 +2 -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 +4 -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 +48 -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/constants.d.ts +2 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +3 -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 +13 -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 +3 -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 +104 -88
- 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 +46 -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 +2 -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 +144 -50
- 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 +42 -60
- package/dist/esm/Dashboard.d.ts +4 -0
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +50 -10
- package/dist/esm/QuillProvider.d.ts +7 -46
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -4
- 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 +4 -3
- package/dist/esm/components/Chart/InternalChart.d.ts +2 -1
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +111 -29
- 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 +66 -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/TableComponent.d.ts +2 -1
- package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/TableComponent.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 +3 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +29 -20
- 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 +6 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +34 -10
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +7 -5
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- 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 +2 -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 +5 -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 +48 -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/constants.d.ts +2 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +2 -0
- 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 +13 -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 +3 -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 +104 -88
- 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 +47 -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,18 @@ 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
|
-
|
|
284
|
+
// TODO: Move these to call through the sdk
|
|
285
|
+
const fetchResultsByQuery = async (query, client, tenants, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap, dashboardName) => {
|
|
278
286
|
let rows = [];
|
|
279
287
|
let columns = [];
|
|
280
288
|
let error = undefined;
|
|
@@ -286,12 +294,9 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
286
294
|
query,
|
|
287
295
|
task: 'query',
|
|
288
296
|
filterMap,
|
|
289
|
-
orgId: client.organizationId || '*',
|
|
290
297
|
clientId: client.publicKey,
|
|
291
298
|
databaseType: client?.databaseType,
|
|
292
|
-
getCustomFields:
|
|
293
|
-
? false
|
|
294
|
-
: true,
|
|
299
|
+
getCustomFields: !!tenants?.length,
|
|
295
300
|
customFieldsByTable: customFields,
|
|
296
301
|
additionalProcessing: processing,
|
|
297
302
|
useUpdatedDataGathering: processing ? true : false,
|
|
@@ -300,6 +305,8 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
300
305
|
dateField: dateField ?? undefined,
|
|
301
306
|
rowsOnly,
|
|
302
307
|
rowCountOnly,
|
|
308
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
309
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
303
310
|
},
|
|
304
311
|
};
|
|
305
312
|
const cloudBody = { query };
|
|
@@ -328,7 +335,7 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
328
335
|
if (resp && resp.errorMessage) {
|
|
329
336
|
throw new Error(resp.errorMessage);
|
|
330
337
|
}
|
|
331
|
-
if (resp.rowCount) {
|
|
338
|
+
if (resp.rowCount !== undefined) {
|
|
332
339
|
rowCount = resp.rowCount;
|
|
333
340
|
}
|
|
334
341
|
if (!resp.error && !parsedSuccessfully) {
|
|
@@ -363,7 +370,7 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
|
|
|
363
370
|
return { rows, columns, rowCount, error, itemQuery };
|
|
364
371
|
};
|
|
365
372
|
exports.fetchResultsByQuery = fetchResultsByQuery;
|
|
366
|
-
const fetchResultsByReport = async (reportId, client, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal) => {
|
|
373
|
+
const fetchResultsByReport = async (reportId, client, tenants, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal) => {
|
|
367
374
|
const updatedProcessing = { ...processing };
|
|
368
375
|
let rows = [];
|
|
369
376
|
let columns = [];
|
|
@@ -389,7 +396,6 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
389
396
|
const hostedBody = {
|
|
390
397
|
metadata: {
|
|
391
398
|
dashboardItemId: reportId,
|
|
392
|
-
orgId: client?.organizationId || '*',
|
|
393
399
|
task: 'item',
|
|
394
400
|
filters: minimalFilters,
|
|
395
401
|
clientId: client?.publicKey,
|
|
@@ -400,6 +406,7 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
400
406
|
useNewNodeSql: true,
|
|
401
407
|
rowsOnly,
|
|
402
408
|
rowCountOnly,
|
|
409
|
+
tenants,
|
|
403
410
|
},
|
|
404
411
|
};
|
|
405
412
|
const cloudBody = {
|
|
@@ -412,7 +419,7 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
412
419
|
throw new Error(resp.errorMessage);
|
|
413
420
|
}
|
|
414
421
|
(0, errorProcessing_1.processFilterErrorList)(resp);
|
|
415
|
-
if (resp.rowCount) {
|
|
422
|
+
if (resp.rowCount !== undefined) {
|
|
416
423
|
rowCount = resp.rowCount;
|
|
417
424
|
}
|
|
418
425
|
const gatheredRows = resp.rows && resp.rows.length ? resp.rows : [];
|
|
@@ -437,7 +444,7 @@ const fetchResultsByReport = async (reportId, client, processing, filters, custo
|
|
|
437
444
|
return { rows, columns, rowCount, error };
|
|
438
445
|
};
|
|
439
446
|
exports.fetchResultsByReport = fetchResultsByReport;
|
|
440
|
-
const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly, rowCountOnly) => {
|
|
447
|
+
const fetchTableByAST = async (ast, client, tenants, processing, customFields, rowsOnly, rowCountOnly, dashboardName) => {
|
|
441
448
|
let rows = [];
|
|
442
449
|
let columns = [];
|
|
443
450
|
let rowCount;
|
|
@@ -449,7 +456,6 @@ const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly,
|
|
|
449
456
|
clientId: client.publicKey,
|
|
450
457
|
ast,
|
|
451
458
|
publicKey: client.publicKey,
|
|
452
|
-
orgId: client.organizationId || '*',
|
|
453
459
|
task: 'patterns',
|
|
454
460
|
getCustomFields: false,
|
|
455
461
|
customFields,
|
|
@@ -458,6 +464,8 @@ const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly,
|
|
|
458
464
|
useNewNodeSql: true,
|
|
459
465
|
rowsOnly,
|
|
460
466
|
rowCountOnly,
|
|
467
|
+
dashboardName: dashboardName && tenants ? dashboardName : undefined,
|
|
468
|
+
tenants: dashboardName && tenants ? tenants : undefined,
|
|
461
469
|
},
|
|
462
470
|
};
|
|
463
471
|
const cloudBody = {};
|
|
@@ -466,7 +474,7 @@ const fetchTableByAST = async (ast, client, processing, customFields, rowsOnly,
|
|
|
466
474
|
throw new Error(resp.errorMessage);
|
|
467
475
|
}
|
|
468
476
|
(0, errorProcessing_1.processFilterErrorList)(resp);
|
|
469
|
-
if (resp.rowCount) {
|
|
477
|
+
if (resp.rowCount !== undefined) {
|
|
470
478
|
rowCount = resp.rowCount;
|
|
471
479
|
}
|
|
472
480
|
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
CHANGED
|
@@ -90,7 +90,7 @@ export interface ChartProps {
|
|
|
90
90
|
* Whether the date range filter has been disabled.
|
|
91
91
|
*/
|
|
92
92
|
hideDateRangeFilter?: boolean;
|
|
93
|
-
/** Whether to hide the table filters component,
|
|
93
|
+
/** Whether to hide the table filters component, defaulted to true */
|
|
94
94
|
hideFilters?: boolean;
|
|
95
95
|
/**
|
|
96
96
|
* Whether the comparison range shows as dashed for date comparison line
|
|
@@ -154,6 +154,7 @@ export interface ChartProps {
|
|
|
154
154
|
field: string;
|
|
155
155
|
direction: string;
|
|
156
156
|
}) => void;
|
|
157
|
+
hideName?: boolean;
|
|
157
158
|
}) => JSX.Element;
|
|
158
159
|
/** A component that wraps a dashboard item for 'metric' chart types. */
|
|
159
160
|
MetricComponent?: ({ report, onClick, hoverActions, isLoading, error, }: {
|
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);
|
|
@@ -380,7 +380,7 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
|
|
|
380
380
|
...filterValues[filter.label],
|
|
381
381
|
}, isLoading: reportFilters[reportId]?.[filter.label]?.loading, onChangeFilter: updateFilter, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), loading || !report ? (_jsx(LoadingComponent, {})) : (_jsxs(_Fragment, { children: [('table' === report.chartType || 'metric' === report.chartType) && (_jsx(DataLoader, { item: report, filters: specificReportFilters, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
|
|
382
382
|
page: DEFAULT_PAGINATION,
|
|
383
|
-
}, reportMode: true, children: ({ isLoading, error, onPageChange, onSortChange, data, rowCount, rowCountIsLoading, }) => 'metric' === report.chartType ? (_jsx(MetricComponent, { error: error, isLoading: isLoading, report: data })) : (_jsx(TableComponent, { report: data, isLoading: isLoading, error: error, rowCount: rowCount ?? data?.rowCount ?? data?.rows?.length ?? 0, rowCountIsLoading: rowCountIsLoading, onPageChange: (page) => onPageChange(page), onSortChange: (sort) => onSortChange(sort) })) })), report.chartType !== 'table' && report.chartType !== 'metric' && (_jsx(ChartDataLoader, { item: report, dateBucket: dateBucket, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
|
|
383
|
+
}, reportMode: true, children: ({ isLoading, error, onPageChange, onSortChange, data, rowCount, rowCountIsLoading, }) => 'metric' === report.chartType ? (_jsx(MetricComponent, { error: error, isLoading: isLoading, report: data })) : (_jsx(TableComponent, { report: data, isLoading: isLoading, error: error, rowCount: rowCount ?? data?.rowCount ?? data?.rows?.length ?? 0, rowCountIsLoading: rowCountIsLoading, onPageChange: (page) => onPageChange(page), onSortChange: (sort) => onSortChange(sort), hideName: true })) })), report.chartType !== 'table' && report.chartType !== 'metric' && (_jsx(ChartDataLoader, { item: report, dateBucket: dateBucket, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
|
|
384
384
|
page: DEFAULT_PAGINATION,
|
|
385
385
|
}, filters: specificReportFilters, reportMode: true, children: ({ isLoading, data, error }) => error ? (_jsx(ChartError, { errorMessage: error })) : (_jsx(ChartDisplay, { config: data, containerStyle: {
|
|
386
386
|
width: '100%',
|
|
@@ -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":"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;AAWzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAqBvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IACJ,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,oBAyB9D;AAqED,eAAO,MAAM,mBAAmB,UAO/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AA+BF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAEhB,6CAA6C;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAErC,0BAA0B;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,EAAE,CAAC;QACJ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;KACjE,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,+BAA+B;IAC/B,oBAAoB,CAAC,EAAE,CAAC,EACtB,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,GACN,EAAE;QACD,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;SACf,EAAE,CAAC;QACJ,QAAQ,EAAE,CACR,KAAK,EACD,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GACpC;YAAE,MAAM,EAAE;gBAAE,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;aAAE,CAAA;SAAE,KACzC,IAAI,CAAC;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,6HAA6H;IAC7H,kBAAkB,CAAC,EACf,CAAC,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC,GACjD,KAAK,CAAC,yBAAyB,CAC7B,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAChE,CAAC;IAEN,0BAA0B;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,0BAA0B;IAC1B,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAExE,0BAA0B;IAC1B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE5D,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,yBAAyB;IACzB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE3D,wBAAwB;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAE1D,6EAA6E;IAC7E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,QAAQ,EAAE,SAAS,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,SAAS,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,2BAA2B;IAC3B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,SAAS,CAAC;KAC5B,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,yBAAyB;IACzB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,IAAI,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,EAAE,CAAC;QAC/B,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC9B,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,aAAa,CAAC;KAChC,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC;;OAEG;IACH,6BAA6B,CAAC,EAAE,CAAC,KAAK,EAAE;QACtC,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,gCAAgC,CAAC,EAAE,CAAC,KAAK,EAAE;QACzC,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAEpE;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAEvE;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,SAAS,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAEhE;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QACjC,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KAC5C,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,6CAA6C;IAG7C,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,8CAA8C;IAC9C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,0EAA0E;IAC1E,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEjE,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IAEzB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAE9B,2CAA2C;IAG3C,8CAA8C;IAG9C,mDAAmD;IACnD,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAEnD,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,KAAK,EAAE,CAAC;IAE5B,sDAAsD;IACtD,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;IAExB,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAE1B,qDAAqD;IACrD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAEvC,wDAAwD;IACxD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC,8DAA8D;IAW9D,qEAAqE;IACrE,cAAc,EAAE,OAAO,CAAC;IAExB,kEAAkE;IAClE,uBAAuB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpD,+CAA+C;IAG/C,wEAAwE;IAGxE,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAE1C,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAEzD,iDAAiD;IACjD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,2CA+C7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,kBAAmC,EACnC,eAAsC,EACtC,oBAAyD,EACzD,eAAgC,EAChC,wBAAkD,EAClD,eAAgC,EAChC,kBAAsC,EACtC,cAA8B,EAC9B,qBAA4C,EAC5C,aAA4B,EAC5B,gBAAkC,EAClC,aAAyB,EACzB,cAAoC,EACpC,cAA8B,EAC9B,gBAAwC,EACxC,qBAAkD,EAClD,6BAAkE,EAClE,gCAAwE,EACxE,iBAA0C,EAC1C,oBAAgD,EAChD,aAA8C,EAC9C,cAA0C,EAC1C,iBAAiB,EACjB,MAAM,EACN,gBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,OAAe,EACf,qBAA4B,EAC5B,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EAAE,EAAO,EAC1B,aAAa,EAAE,EAAO,EACtB,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAwB,EACxB,gBAAwB,EACxB,mBAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,2BAAkC,EAClC,cAAc,EACd,uBAAuB,EAEvB,mBAAmB,EACnB,aAAqB,EACrB,WAAkB,EAClB,SAAS,GACV,EAAE,iBAAiB,2CAg5EnB;AAgHD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,SAAS,EACT,MAAM,EACN,cAA8B,EAC9B,eAAgC,GACjC,EAAE;IACD,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,IAAI,CAAC,EAAE,SAAS,CAAC;KAClB,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,SAAS,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,KAAK,GAAG,CAAC,OAAO,CAAC;CACnB,kDAuCA"}
|