@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
package/dist/esm/utils/report.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import equal from 'fast-deep-equal';
|
|
1
2
|
import { createInitialFormData } from '../ChartBuilder';
|
|
2
3
|
import { getTableNames } from '../components/ReportBuilder/ast';
|
|
3
4
|
import { generatePivotTable } from '../internals/ReportBuilder/PivotModal';
|
|
@@ -59,7 +60,7 @@ function extractAllReportValuesFromQuillInternalReport(reportInternal) {
|
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
62
|
// TODO: Convert this to take an object rather than a bunch of arguments
|
|
62
|
-
export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getDefaultDashboardFilters) {
|
|
63
|
+
export async function fetchReport(reportId, client, tenants, flags, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getDefaultDashboardFilters) {
|
|
63
64
|
let reportInfo = undefined;
|
|
64
65
|
let errorMessage = undefined;
|
|
65
66
|
try {
|
|
@@ -68,7 +69,6 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
68
69
|
metadata: {
|
|
69
70
|
reportId,
|
|
70
71
|
dashboardItemId: reportId,
|
|
71
|
-
orgId: client.organizationId || '*',
|
|
72
72
|
clientId: client.publicKey,
|
|
73
73
|
task: useReportTask ? 'report' : 'item',
|
|
74
74
|
databaseType: client.databaseType,
|
|
@@ -79,6 +79,8 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
|
|
|
79
79
|
rowsOnly,
|
|
80
80
|
rowCountOnly,
|
|
81
81
|
getDefaultDashboardFilters,
|
|
82
|
+
tenants,
|
|
83
|
+
flags,
|
|
82
84
|
},
|
|
83
85
|
};
|
|
84
86
|
const cloudBody = {
|
|
@@ -170,13 +172,13 @@ export async function processReportResponse({ resp, client, filters, dateBucket,
|
|
|
170
172
|
}
|
|
171
173
|
return reportInfo;
|
|
172
174
|
}
|
|
173
|
-
export async function fetchReportInfo(reportId, client) {
|
|
175
|
+
export async function fetchReportInfo(reportId, client, tenants) {
|
|
174
176
|
const hostedBody = {
|
|
175
177
|
metadata: {
|
|
176
178
|
reportId,
|
|
177
179
|
clientId: client.publicKey,
|
|
178
180
|
task: 'report-info',
|
|
179
|
-
|
|
181
|
+
tenants,
|
|
180
182
|
},
|
|
181
183
|
};
|
|
182
184
|
const cloudBody = {
|
|
@@ -186,13 +188,12 @@ export async function fetchReportInfo(reportId, client) {
|
|
|
186
188
|
const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data');
|
|
187
189
|
return { report: resp.report, filters: resp.filters };
|
|
188
190
|
}
|
|
189
|
-
export async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields, abortSignal) {
|
|
191
|
+
export async function fetchReportRowCount(reportId, client, tenants, flags, useReportTask = true, filters = [], additionalProcessing, customFields, abortSignal) {
|
|
190
192
|
// Remove extra fields on each filter so we don't confuse the backend.
|
|
191
193
|
const hostedBody = {
|
|
192
194
|
metadata: {
|
|
193
195
|
reportId,
|
|
194
196
|
dashboardItemId: reportId,
|
|
195
|
-
orgId: client.organizationId || '*',
|
|
196
197
|
clientId: client.publicKey,
|
|
197
198
|
task: useReportTask ? 'report' : 'item',
|
|
198
199
|
databaseType: client.databaseType,
|
|
@@ -201,6 +202,8 @@ export async function fetchReportRowCount(reportId, client, useReportTask = true
|
|
|
201
202
|
additionalProcessing,
|
|
202
203
|
useNewNodeSql: true,
|
|
203
204
|
rowCountOnly: true,
|
|
205
|
+
tenants,
|
|
206
|
+
flags,
|
|
204
207
|
},
|
|
205
208
|
};
|
|
206
209
|
const cloudBody = {
|
|
@@ -212,11 +215,10 @@ export async function fetchReportRowCount(reportId, client, useReportTask = true
|
|
|
212
215
|
return resp.rowCount;
|
|
213
216
|
}
|
|
214
217
|
export async function saveReport({ report, dashboardItemId, client, }) {
|
|
215
|
-
const { publicKey,
|
|
218
|
+
const { publicKey, databaseType } = client;
|
|
216
219
|
const cloudBody = {
|
|
217
220
|
...report,
|
|
218
221
|
dashboardItemId,
|
|
219
|
-
customerId: organizationId || '*',
|
|
220
222
|
useNewNodeSql: true,
|
|
221
223
|
};
|
|
222
224
|
// @ts-ignore
|
|
@@ -226,7 +228,6 @@ export async function saveReport({ report, dashboardItemId, client, }) {
|
|
|
226
228
|
// @ts-ignore
|
|
227
229
|
delete cloudBody['compareRows'];
|
|
228
230
|
}
|
|
229
|
-
// add orgId: customerId if present for hostedBody
|
|
230
231
|
// set defaultDateField if date field not present
|
|
231
232
|
const hostedBody = {
|
|
232
233
|
metadata: {
|
|
@@ -234,16 +235,10 @@ export async function saveReport({ report, dashboardItemId, client, }) {
|
|
|
234
235
|
clientId: publicKey,
|
|
235
236
|
databaseType: databaseType,
|
|
236
237
|
...cloudBody,
|
|
237
|
-
orgId: organizationId || '*',
|
|
238
238
|
useNewNodeSql: true,
|
|
239
239
|
},
|
|
240
240
|
};
|
|
241
|
-
const searchParams = new URLSearchParams(
|
|
242
|
-
? {
|
|
243
|
-
clientId: publicKey,
|
|
244
|
-
customerId: organizationId,
|
|
245
|
-
}
|
|
246
|
-
: { clientId: publicKey }).toString();
|
|
241
|
+
const searchParams = new URLSearchParams({ clientId: publicKey }).toString();
|
|
247
242
|
return await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
|
|
248
243
|
}
|
|
249
244
|
export const formatRowsFromReport = (report, xAxisField, xAxisFormat) => {
|
|
@@ -273,7 +268,7 @@ export function convertInternalReportToReport(report, dashboardFilters, initiato
|
|
|
273
268
|
...report,
|
|
274
269
|
};
|
|
275
270
|
if (formattedReport.pivot &&
|
|
276
|
-
isValidPivot(formattedReport.pivot) &&
|
|
271
|
+
isValidPivot(formattedReport.pivot).valid &&
|
|
277
272
|
initiator !== 'useQuill') {
|
|
278
273
|
let columns = report.pivotColumns ?? report.columns;
|
|
279
274
|
let rows = report.pivotRows ?? report.rows;
|
|
@@ -325,7 +320,7 @@ export function convertInternalReportToReport(report, dashboardFilters, initiato
|
|
|
325
320
|
return EMPTY_REPORT;
|
|
326
321
|
}
|
|
327
322
|
}
|
|
328
|
-
export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields, skipUniqueValues, skipRowCount, processing) => {
|
|
323
|
+
export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, tenants, pivot, previousFormData, currentTable, previousRelevant, report, customFields, skipUniqueValues, skipRowCount, processing, dashboardName) => {
|
|
329
324
|
let newRows = [];
|
|
330
325
|
let newColumns = [];
|
|
331
326
|
let newRowCount = 0;
|
|
@@ -344,7 +339,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
344
339
|
if (!table || !tableInfo) {
|
|
345
340
|
throw new Error('No table found;');
|
|
346
341
|
}
|
|
347
|
-
const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, processing ?? { page: DEFAULT_PAGINATION }, undefined, skipRowCount);
|
|
342
|
+
const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, tenants, processing ?? { page: DEFAULT_PAGINATION }, undefined, skipRowCount, undefined, dashboardName);
|
|
348
343
|
if (tableData.error) {
|
|
349
344
|
throw new Error(tableData.error);
|
|
350
345
|
}
|
|
@@ -383,7 +378,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
383
378
|
}
|
|
384
379
|
query = queryResult.query;
|
|
385
380
|
if (!skipUniqueValues) {
|
|
386
|
-
const { uniqueStrings, dateRanges } = await getRelevantInfoFromQuery(tableInfo.columns, client, queryResult.query, customFields);
|
|
381
|
+
const { uniqueStrings, dateRanges } = await getRelevantInfoFromQuery(tableInfo.columns, client, tenants, queryResult.query, customFields, dashboardName);
|
|
387
382
|
relevantInfo.uniqueStrings[table] = uniqueStrings ?? {};
|
|
388
383
|
relevantInfo.dateRanges = dateRanges ?? {};
|
|
389
384
|
}
|
|
@@ -392,7 +387,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
392
387
|
return column.fieldType === 'date';
|
|
393
388
|
});
|
|
394
389
|
if (dateColumns.length > 0) {
|
|
395
|
-
const dateRanges = await getQueryDateRangeByColumns(dateColumns, queryResult.query, client, customFields ?? []);
|
|
390
|
+
const dateRanges = await getQueryDateRangeByColumns(dateColumns, queryResult.query, client, tenants, customFields ?? [], dashboardName);
|
|
396
391
|
if (dateRanges === null) {
|
|
397
392
|
throw new Error("Couldn't fetch date ranges");
|
|
398
393
|
}
|
|
@@ -410,8 +405,8 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
410
405
|
if (rowFieldDateRange) {
|
|
411
406
|
dateBucket = getDateBucketFromRange(rowFieldDateRange.dateRange);
|
|
412
407
|
}
|
|
413
|
-
if (!Object.values(relevantInfo.uniqueStrings[table] ?? {}).length) {
|
|
414
|
-
relevantInfo.uniqueStrings[table] = await getUniqueStringValues(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, customFields, undefined, undefined, report?.queryString ?? '');
|
|
408
|
+
if (!Object.values(relevantInfo.uniqueStrings[table] ?? {}).length || !equal(formData, previousFormData)) {
|
|
409
|
+
relevantInfo.uniqueStrings[table] = await getUniqueStringValues(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, tenants, customFields, undefined, undefined, query ? query : report?.queryString ?? '');
|
|
415
410
|
}
|
|
416
411
|
newPivotData = await generatePivotTable({
|
|
417
412
|
pivot,
|
|
@@ -419,6 +414,8 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
|
|
|
419
414
|
report: curReport,
|
|
420
415
|
client,
|
|
421
416
|
uniqueValues: relevantInfo.uniqueStrings[table],
|
|
417
|
+
dashboardName,
|
|
418
|
+
tenants,
|
|
422
419
|
});
|
|
423
420
|
newPivot = pivot;
|
|
424
421
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyDzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyDzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,oCAmF5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,mBAAmB,8BAEhB,MAAM,EAAE,KAClB,OAAO,CAAC;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAqD3D,CAAC"}
|
package/dist/esm/utils/schema.js
CHANGED
|
@@ -52,7 +52,7 @@ const parseResponse = (results) => {
|
|
|
52
52
|
export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
53
53
|
let customFieldsByTableUnique = [];
|
|
54
54
|
try {
|
|
55
|
-
const { queryEndpoint, queryHeaders, publicKey, databaseType,
|
|
55
|
+
const { queryEndpoint, queryHeaders, publicKey, databaseType, } = client;
|
|
56
56
|
if ((databaseType && databaseType.toLowerCase() !== 'postgresql') ||
|
|
57
57
|
!['665610862cf7a3000be66453'].includes(publicKey)) {
|
|
58
58
|
throw new Error('CUSTOM FIELDS IS ONLY ALLOWED FOR POSTGRESQL DATABASES');
|
|
@@ -70,7 +70,6 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
|
70
70
|
publicKey,
|
|
71
71
|
task: 'custom-field-records',
|
|
72
72
|
databaseType: databaseType,
|
|
73
|
-
orgId: organizationId,
|
|
74
73
|
},
|
|
75
74
|
}),
|
|
76
75
|
});
|
|
@@ -115,17 +114,17 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
|
|
|
115
114
|
return customFieldsByTableUnique;
|
|
116
115
|
};
|
|
117
116
|
export const getSchemaInfoWithCustomFields = async (client, caller = 'se', tableIds) => {
|
|
118
|
-
const { queryEndpoint, queryHeaders, publicKey,
|
|
119
|
-
|
|
120
|
-
let
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
117
|
+
const { queryEndpoint, queryHeaders, publicKey, withCredentials, } = client;
|
|
118
|
+
// TODO: Make custom fields work
|
|
119
|
+
// let customFieldsByTableUnique: any[] = [];
|
|
120
|
+
// let getCustomFields = true;
|
|
121
|
+
// if (!organizationId || organizationId !== '*') {
|
|
122
|
+
// try {
|
|
123
|
+
// customFieldsByTableUnique = await getCustomFieldInfo(client, caller);
|
|
124
|
+
// } catch (e) {
|
|
125
|
+
// getCustomFields = false;
|
|
126
|
+
// }
|
|
127
|
+
// }
|
|
129
128
|
const response = await fetch(`${queryEndpoint}?schema-${caller}`, {
|
|
130
129
|
method: 'POST',
|
|
131
130
|
headers: {
|
|
@@ -139,14 +138,14 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se', table
|
|
|
139
138
|
publicKey: publicKey,
|
|
140
139
|
task: 'schema',
|
|
141
140
|
removeCustomerField: true,
|
|
142
|
-
getCustomFields:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
141
|
+
getCustomFields: false,
|
|
142
|
+
// !client.organizationId ||
|
|
143
|
+
// client.organizationId === '*' ||
|
|
144
|
+
// (customFieldsByTableUnique.length === 0 && !getCustomFields)
|
|
145
|
+
// ? false
|
|
146
|
+
// : true,
|
|
148
147
|
tableIds,
|
|
149
|
-
customFieldsByTable: customFieldsByTableUnique,
|
|
148
|
+
// customFieldsByTable: customFieldsByTableUnique,
|
|
150
149
|
gatherSchemaData: '665610862cf7a3000be66453' === publicKey ? true : false,
|
|
151
150
|
},
|
|
152
151
|
}),
|
|
@@ -157,7 +156,8 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se', table
|
|
|
157
156
|
// triggerSoftUpdate(client, converted);
|
|
158
157
|
return {
|
|
159
158
|
schemaData: converted,
|
|
160
|
-
customFieldsByTable: customFieldsByTableUnique,
|
|
159
|
+
// customFieldsByTable: customFieldsByTableUnique,
|
|
160
|
+
customFieldsByTable: [],
|
|
161
161
|
};
|
|
162
162
|
};
|
|
163
163
|
// Used to convert backend data to front end data
|
|
@@ -13,13 +13,22 @@ export interface AdditionalProcessing {
|
|
|
13
13
|
last?: number;
|
|
14
14
|
}
|
|
15
15
|
export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
|
|
16
|
-
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: QuillProviderClient,
|
|
16
|
+
export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: QuillProviderClient, tenants: {
|
|
17
|
+
tenantField: string;
|
|
18
|
+
tenantIds: (string | number)[];
|
|
19
|
+
}[] | (string | number)[] | undefined, customFields: any[], filters?: DashboardFilter[], dashboardName?: string) => Promise<{
|
|
17
20
|
[column: string]: {
|
|
18
21
|
[value: string]: boolean;
|
|
19
22
|
};
|
|
20
23
|
} | null>;
|
|
21
|
-
export declare const getUniqueStringValues: (columns: ColumnInternal[], tableName: string, client: any,
|
|
22
|
-
|
|
24
|
+
export declare const getUniqueStringValues: (columns: ColumnInternal[], tableName: string, client: any, tenants: {
|
|
25
|
+
tenantField: string;
|
|
26
|
+
tenantIds: (string | number)[];
|
|
27
|
+
}[] | (string | number)[] | undefined, customFields?: any, previousUniqueValues?: any, withExceededColumns?: boolean, query?: string, dashboardName?: string) => Promise<any>;
|
|
28
|
+
export declare const getRelevantInfoFromQuery: (columns: ColumnInternal[], client: QuillProviderClient, tenants: {
|
|
29
|
+
tenantField: string;
|
|
30
|
+
tenantIds: (string | number)[];
|
|
31
|
+
}[] | (string | number)[] | undefined, query: string, customFields?: any, dashboardName?: string) => Promise<{
|
|
23
32
|
uniqueStrings?: {
|
|
24
33
|
[column: string]: {
|
|
25
34
|
[value: string]: boolean;
|
|
@@ -28,11 +37,17 @@ export declare const getRelevantInfoFromQuery: (columns: ColumnInternal[], clien
|
|
|
28
37
|
dateRanges?: DateRangesByColumn;
|
|
29
38
|
error?: string;
|
|
30
39
|
}>;
|
|
31
|
-
export declare const getCountsByColumns: (columns: Column[], query: string, client: QuillProviderClient,
|
|
40
|
+
export declare const getCountsByColumns: (columns: Column[], query: string, client: QuillProviderClient, tenants: {
|
|
41
|
+
tenantField: string;
|
|
42
|
+
tenantIds: (string | number)[];
|
|
43
|
+
}[] | (string | number)[] | undefined, customFields: any[], dashboardName?: string) => Promise<{
|
|
32
44
|
filteredColumns: Column[];
|
|
33
45
|
exceededColumns: Column[] | undefined;
|
|
34
46
|
}>;
|
|
35
|
-
export declare const getQueryDateRangeByColumns: (columns: Column[], query: string, client: QuillProviderClient,
|
|
47
|
+
export declare const getQueryDateRangeByColumns: (columns: Column[], query: string, client: QuillProviderClient, tenants: {
|
|
48
|
+
tenantField: string;
|
|
49
|
+
tenantIds: (string | number)[];
|
|
50
|
+
}[] | (string | number)[] | undefined, customFields: any[], dashboardName?: string) => Promise<{
|
|
36
51
|
[column: string]: {
|
|
37
52
|
dateRange: {
|
|
38
53
|
start: Date;
|
|
@@ -40,13 +55,19 @@ export declare const getQueryDateRangeByColumns: (columns: Column[], query: stri
|
|
|
40
55
|
};
|
|
41
56
|
};
|
|
42
57
|
} | null>;
|
|
43
|
-
export declare const getPaginatedRows: (client: QuillProviderClient,
|
|
58
|
+
export declare const getPaginatedRows: (client: QuillProviderClient, tenants: {
|
|
59
|
+
tenantField: string;
|
|
60
|
+
tenantIds: (string | number)[];
|
|
61
|
+
}[] | (string | number)[] | undefined, query?: string, reportId?: string, processing?: AdditionalProcessing, filters?: any, customFields?: any, dashboardName?: string) => Promise<{
|
|
44
62
|
columns: Column[];
|
|
45
63
|
rows: any[];
|
|
46
64
|
rowCount?: number;
|
|
47
65
|
error?: string;
|
|
48
66
|
}>;
|
|
49
|
-
export declare const fetchResultsByQuery: (query: string, client: QuillProviderClient,
|
|
67
|
+
export declare const fetchResultsByQuery: (query: string, client: QuillProviderClient, tenants: {
|
|
68
|
+
tenantField: string;
|
|
69
|
+
tenantIds: (string | number)[];
|
|
70
|
+
}[] | (string | number)[] | undefined, processing?: AdditionalProcessing, customFields?: any, filters?: DashboardFilter[], dateField?: {
|
|
50
71
|
field: string;
|
|
51
72
|
table: string;
|
|
52
73
|
} | null, rowsOnly?: boolean, rowCountOnly?: boolean, filterMap?: {
|
|
@@ -54,20 +75,26 @@ export declare const fetchResultsByQuery: (query: string, client: QuillProviderC
|
|
|
54
75
|
field: string;
|
|
55
76
|
table: string;
|
|
56
77
|
};
|
|
57
|
-
}) => Promise<{
|
|
78
|
+
}, dashboardName?: string) => Promise<{
|
|
58
79
|
columns: ColumnInternal[];
|
|
59
80
|
rows: any[];
|
|
60
81
|
rowCount?: number;
|
|
61
82
|
error?: string;
|
|
62
83
|
itemQuery?: string[];
|
|
63
84
|
}>;
|
|
64
|
-
export declare const fetchResultsByReport: (reportId: string, client: QuillProviderClient,
|
|
85
|
+
export declare const fetchResultsByReport: (reportId: string, client: QuillProviderClient, tenants: {
|
|
86
|
+
tenantField: string;
|
|
87
|
+
tenantIds: (string | number)[];
|
|
88
|
+
}[] | (string | number)[] | undefined, processing?: AdditionalProcessing, filters?: any, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean, abortSignal?: AbortSignal) => Promise<{
|
|
65
89
|
columns: Column[];
|
|
66
90
|
rows: any[];
|
|
67
91
|
rowCount?: number;
|
|
68
92
|
error?: string;
|
|
69
93
|
}>;
|
|
70
|
-
export declare const fetchTableByAST: (ast: NodeSQLParser.Select, client: QuillProviderClient,
|
|
94
|
+
export declare const fetchTableByAST: (ast: NodeSQLParser.Select, client: QuillProviderClient, tenants: {
|
|
95
|
+
tenantField: string;
|
|
96
|
+
tenantIds: (string | number)[];
|
|
97
|
+
}[] | (string | number)[] | undefined, processing?: AdditionalProcessing, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean, dashboardName?: string) => Promise<{
|
|
71
98
|
columns: ColumnInternal[];
|
|
72
99
|
rows: any[];
|
|
73
100
|
rowCount?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"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"}
|