@quillsql/react 2.13.35 → 2.13.37
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 +0 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +17 -14
- package/dist/cjs/ChartBuilder.d.ts +1 -0
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +178 -96
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +6 -8
- package/dist/cjs/Dashboard.d.ts +2 -1
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +18 -8
- package/dist/cjs/ReportBuilder.d.ts +2 -0
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +398 -271
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +33 -11
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +17 -1
- package/dist/cjs/components/Chart/InternalChart.d.ts +0 -1
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +6 -7
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +75 -30
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +98 -106
- package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectSectionList.js +21 -16
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +18 -8
- package/dist/cjs/components/QuillSelectWithCombo.js +17 -7
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +2 -2
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +16 -4
- package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddSortPopover.js +9 -18
- package/dist/cjs/components/UiComponents.d.ts +2 -1
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +44 -28
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +28 -4
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +9 -1
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +11 -35
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +14 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +12 -11
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +63 -18
- package/dist/cjs/models/Client.d.ts +4 -5
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Pivot.d.ts +10 -0
- package/dist/cjs/models/Pivot.d.ts.map +1 -1
- package/dist/cjs/models/Report.d.ts +13 -1
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +799 -64
- package/dist/cjs/utils/astProcessing.d.ts +4 -1
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +2 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +6 -3
- package/dist/cjs/utils/columnProcessing.d.ts +1 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +1 -0
- package/dist/cjs/utils/dashboard.d.ts +2 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +38 -10
- package/dist/cjs/utils/filterProcessing.d.ts +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/merge.d.ts +16 -0
- package/dist/cjs/utils/merge.d.ts.map +1 -1
- package/dist/cjs/utils/merge.js +210 -0
- package/dist/cjs/utils/paginationProcessing.d.ts +1 -1
- package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/paginationProcessing.js +3 -2
- package/dist/cjs/utils/pivotConstructor.d.ts +19 -9
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +90 -34
- package/dist/cjs/utils/queryConstructor.d.ts +8 -1
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +276 -310
- package/dist/cjs/utils/report.d.ts +25 -12
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +13 -7
- package/dist/cjs/utils/schema.d.ts +1 -1
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +3 -32
- package/dist/cjs/utils/tableProcessing.d.ts +43 -13
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +140 -75
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +10 -1
- package/dist/cjs/utils/valueFormatter.d.ts +2 -1
- package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
- package/dist/cjs/utils/valueFormatter.js +18 -14
- package/dist/esm/Chart.d.ts +0 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +0 -6
- package/dist/esm/ChartBuilder.d.ts +1 -0
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +179 -97
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +7 -9
- package/dist/esm/Dashboard.d.ts +2 -1
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +1 -1
- package/dist/esm/ReportBuilder.d.ts +2 -0
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +399 -272
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +33 -11
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +17 -1
- package/dist/esm/components/Chart/InternalChart.d.ts +0 -1
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +6 -6
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +75 -30
- package/dist/esm/components/Dashboard/MetricComponent.d.ts +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +98 -106
- package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectSectionList.js +5 -12
- package/dist/esm/components/QuillMultiSelectWithCombo.js +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -2
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +16 -4
- package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddSortPopover.js +9 -18
- package/dist/esm/components/UiComponents.d.ts +2 -1
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +27 -21
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +28 -4
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +10 -2
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +12 -36
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +14 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +12 -11
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +63 -18
- package/dist/esm/models/Client.d.ts +4 -5
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Pivot.d.ts +10 -0
- package/dist/esm/models/Pivot.d.ts.map +1 -1
- package/dist/esm/models/Report.d.ts +13 -1
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +799 -64
- package/dist/esm/utils/astProcessing.d.ts +4 -1
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +2 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +6 -3
- package/dist/esm/utils/columnProcessing.d.ts +1 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +1 -1
- package/dist/esm/utils/dashboard.d.ts +2 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +39 -11
- package/dist/esm/utils/filterProcessing.d.ts +1 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/merge.d.ts +16 -0
- package/dist/esm/utils/merge.d.ts.map +1 -1
- package/dist/esm/utils/merge.js +207 -0
- package/dist/esm/utils/paginationProcessing.d.ts +1 -1
- package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
- package/dist/esm/utils/paginationProcessing.js +3 -2
- package/dist/esm/utils/pivotConstructor.d.ts +19 -9
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +91 -35
- package/dist/esm/utils/queryConstructor.d.ts +8 -1
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +274 -314
- package/dist/esm/utils/report.d.ts +25 -12
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +13 -7
- package/dist/esm/utils/schema.d.ts +1 -1
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +1 -30
- package/dist/esm/utils/tableProcessing.d.ts +43 -13
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +140 -75
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +10 -1
- package/dist/esm/utils/valueFormatter.d.ts +2 -1
- package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
- package/dist/esm/utils/valueFormatter.js +18 -14
- package/package.json +1 -1
package/dist/esm/ChartBuilder.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState, useContext, useMemo, } from 'react';
|
|
3
|
-
import { ClientContext, DashboardConfigContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
3
|
+
import { ClientContext, DashboardConfigContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, ReportsContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
4
4
|
import { PivotModal, generatePivotTable, isDateField, } from './internals/ReportBuilder/PivotModal';
|
|
5
5
|
import { PivotCard } from './internals/ReportBuilder/PivotList';
|
|
6
6
|
import { MemoizedModal, QuillTextInput, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, QuillTableComponent, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillChartBuilderFormContainer, QuillLoadingComponent, } from './components/UiComponents';
|
|
@@ -109,7 +109,8 @@ function createReportFromForm(formData, report, selectedPivotTable, rows = [], f
|
|
|
109
109
|
filtersApplied: report?.filtersApplied || [],
|
|
110
110
|
queryString: '',
|
|
111
111
|
rows: rows,
|
|
112
|
-
rowCount:
|
|
112
|
+
rowCount: selectedPivotTable?.rowCount ||
|
|
113
|
+
report?.rowCount ||
|
|
113
114
|
selectedPivotTable?.rows?.length ||
|
|
114
115
|
rows.length ||
|
|
115
116
|
0,
|
|
@@ -335,6 +336,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
335
336
|
}, [isOpen]);
|
|
336
337
|
const [dashboardOptions, setDashboardOptions] = useState([]);
|
|
337
338
|
const { reportFilters, reportFiltersDispatch, loadFiltersForReport } = useContext(ReportFiltersContext);
|
|
339
|
+
const { reportsDispatch } = useContext(ReportsContext);
|
|
338
340
|
useEffect(() => {
|
|
339
341
|
loadFiltersForReport(report?.id ?? TEMP_REPORT_ID, 'ChartBuilder', specificDashboardFilters, undefined, undefined, canonicalFilterMap, report?.dashboardName);
|
|
340
342
|
return () => {
|
|
@@ -342,16 +344,6 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
342
344
|
type: 'CLEAR_REPORT_FILTERS',
|
|
343
345
|
id: report?.id ?? tempReport?.id ?? TEMP_REPORT_ID,
|
|
344
346
|
});
|
|
345
|
-
// TODO: Currently the behavior of Chart Builder is dependent on whether there is a TEMP_REPORT_ID in context or not
|
|
346
|
-
/* The Chart Builder can essentially be in three states
|
|
347
|
-
1. Creating a new report, all we have is an ephemeral temp report
|
|
348
|
-
2. Editing an existing report, we have a report id and the report is in the dashboard context
|
|
349
|
-
3. Editing the query of an existing report, we have a report id and the new-query report is in context under TEMP_REPORT_ID
|
|
350
|
-
One can imagine this going wrong: somehow the temp report gets set by SQLEditor or ReportBuilder but never cleared
|
|
351
|
-
and now its going to start popping up during state 2 rather than the real report.
|
|
352
|
-
For now we're going on faith that unmounting will always clear the temp report
|
|
353
|
-
but we may want to fiddle with the props to make this more robust
|
|
354
|
-
*/
|
|
355
347
|
};
|
|
356
348
|
}, []);
|
|
357
349
|
const currentDashboardFilters = useMemo(() => {
|
|
@@ -368,7 +360,13 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
368
360
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
369
361
|
const [pivotError, setPivotError] = useState(undefined);
|
|
370
362
|
const pivotData = report?.pivotRows && report?.pivotColumns
|
|
371
|
-
? {
|
|
363
|
+
? {
|
|
364
|
+
rows: report.pivotRows,
|
|
365
|
+
columns: report.pivotColumns,
|
|
366
|
+
rowCount: report.pivotRowCount ?? report.pivotRows.length,
|
|
367
|
+
pivotQuery: report.pivotQuery ?? '',
|
|
368
|
+
comparisonPivotQuery: report.comparisonPivotQuery,
|
|
369
|
+
}
|
|
372
370
|
: undefined;
|
|
373
371
|
const columns = report?.columnInternal ?? [];
|
|
374
372
|
const destinationDashboard = report?.dashboardName;
|
|
@@ -460,7 +458,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
460
458
|
if (!client) {
|
|
461
459
|
return;
|
|
462
460
|
}
|
|
463
|
-
const { queryEndpoint, queryHeaders, publicKey, withCredentials
|
|
461
|
+
const { queryEndpoint, queryHeaders, publicKey, withCredentials } = client;
|
|
464
462
|
if (queryEndpoint) {
|
|
465
463
|
const response = await fetch(queryEndpoint, {
|
|
466
464
|
method: 'POST',
|
|
@@ -559,7 +557,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
559
557
|
}, [dashboardConfig, formData.dashboardName, report?.dashboardName]);
|
|
560
558
|
const currentDashboardTenants = useMemo(() => {
|
|
561
559
|
return (currentDashboard?.tenantKeys?.map((tenantKey) => client?.allTenantTypes?.find((t) => t.tenantField === tenantKey)) ?? []);
|
|
562
|
-
}, [
|
|
560
|
+
}, [client?.allTenantTypes, currentDashboard?.tenantKeys]);
|
|
563
561
|
const dashboardOwner = currentDashboardTenants?.[0];
|
|
564
562
|
const invalidColumns = useMemo(() => {
|
|
565
563
|
if (!rows || !rows.length) {
|
|
@@ -671,21 +669,23 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
671
669
|
getFormData();
|
|
672
670
|
}, []);
|
|
673
671
|
const allTenantMap = useMemo(() => {
|
|
674
|
-
return client?.allTenantTypes?.reduce((acc, tenantType) => {
|
|
672
|
+
return (client?.allTenantTypes?.reduce((acc, tenantType) => {
|
|
675
673
|
if (tenantType.scope === 'database') {
|
|
676
|
-
acc[tenantType.tenantField] =
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
674
|
+
acc[tenantType.tenantField] =
|
|
675
|
+
tenantType.flags?.map((t) => ({
|
|
676
|
+
label: t,
|
|
677
|
+
value: t,
|
|
678
|
+
})) ?? [];
|
|
680
679
|
}
|
|
681
680
|
else {
|
|
682
|
-
acc[tenantType.tenantField] =
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
681
|
+
acc[tenantType.tenantField] =
|
|
682
|
+
tenantType.tenantIds?.map((t) => ({
|
|
683
|
+
label: t.label,
|
|
684
|
+
value: t.flag,
|
|
685
|
+
})) ?? [];
|
|
686
686
|
}
|
|
687
687
|
return acc;
|
|
688
|
-
}, {}) ?? {};
|
|
688
|
+
}, {}) ?? {});
|
|
689
689
|
}, [client?.allTenantTypes]);
|
|
690
690
|
const [selectedPivotTable, setSelectedPivotTable] = useState(pivotData);
|
|
691
691
|
const pivotCardTable = useMemo(() => {
|
|
@@ -708,8 +708,9 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
708
708
|
: undefined;
|
|
709
709
|
if (pivot) {
|
|
710
710
|
let dateBucket = undefined;
|
|
711
|
+
let dateFilter = undefined;
|
|
711
712
|
if (filtersEnabled) {
|
|
712
|
-
|
|
713
|
+
dateFilter = dashboardFilters?.find((f) => f.filterType === 'date_range');
|
|
713
714
|
dateBucket =
|
|
714
715
|
dateFilter?.startDate && dateFilter?.endDate
|
|
715
716
|
? getDateBucketFromRange({
|
|
@@ -722,11 +723,15 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
722
723
|
const pivotTable = await generatePivotTable({
|
|
723
724
|
pivot,
|
|
724
725
|
dateBucket,
|
|
725
|
-
|
|
726
|
+
dateFilter,
|
|
727
|
+
report: report
|
|
728
|
+
? { ...report, ...(tableInfo ?? { itemQuery }) }
|
|
729
|
+
: undefined,
|
|
726
730
|
client,
|
|
727
731
|
uniqueValues,
|
|
728
732
|
dashboardName: destinationDashboard,
|
|
729
733
|
tenants,
|
|
734
|
+
additionalProcessing: baseProcessing,
|
|
730
735
|
});
|
|
731
736
|
setSelectedPivotTable(pivotTable);
|
|
732
737
|
}
|
|
@@ -793,7 +798,21 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
793
798
|
return;
|
|
794
799
|
}
|
|
795
800
|
setRowCountIsLoading(true);
|
|
796
|
-
const tableInfo = await fetchResultsByQuery(
|
|
801
|
+
const tableInfo = await fetchResultsByQuery({
|
|
802
|
+
query,
|
|
803
|
+
client,
|
|
804
|
+
tenants,
|
|
805
|
+
processing,
|
|
806
|
+
customFields: schemaData.customFields,
|
|
807
|
+
filters: filtersEnabled ? overrideFilters : undefined,
|
|
808
|
+
dateField: filtersEnabled
|
|
809
|
+
? (report?.dateField ?? formData.dateField)
|
|
810
|
+
: undefined,
|
|
811
|
+
rowsOnly: false,
|
|
812
|
+
rowCountOnly: true,
|
|
813
|
+
filterMap: canonicalFilterMap,
|
|
814
|
+
dashboardName: destinationDashboard,
|
|
815
|
+
});
|
|
797
816
|
if (tableInfo.rowCount !== undefined) {
|
|
798
817
|
setRowCount(tableInfo.rowCount);
|
|
799
818
|
}
|
|
@@ -831,7 +850,21 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
831
850
|
}
|
|
832
851
|
try {
|
|
833
852
|
setIsLoading(true);
|
|
834
|
-
const tableInfo = await fetchResultsByQuery(
|
|
853
|
+
const tableInfo = await fetchResultsByQuery({
|
|
854
|
+
query,
|
|
855
|
+
client,
|
|
856
|
+
tenants,
|
|
857
|
+
processing,
|
|
858
|
+
customFields: schemaData.customFields,
|
|
859
|
+
filters: filtersEnabled ? overrideFilters : undefined,
|
|
860
|
+
dateField: filtersEnabled
|
|
861
|
+
? (report?.dateField ?? formData.dateField)
|
|
862
|
+
: undefined,
|
|
863
|
+
rowsOnly: true,
|
|
864
|
+
rowCountOnly: false,
|
|
865
|
+
filterMap: canonicalFilterMap,
|
|
866
|
+
dashboardName: destinationDashboard,
|
|
867
|
+
});
|
|
835
868
|
setCurrentProcessing(processing);
|
|
836
869
|
setRows(tableInfo.rows);
|
|
837
870
|
setProcessedColumns(processColumns(tableInfo.columns));
|
|
@@ -853,7 +886,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
853
886
|
console.log(e);
|
|
854
887
|
}
|
|
855
888
|
};
|
|
856
|
-
const onPageChange = (page) => {
|
|
889
|
+
const onPageChange = (page, isPivotTable) => {
|
|
857
890
|
// only fetch if report is valid, else use query task
|
|
858
891
|
if (currentProcessing.page &&
|
|
859
892
|
shouldFetchMore(currentProcessing.page, page, maxPage)) {
|
|
@@ -866,23 +899,23 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
866
899
|
page: newPagination,
|
|
867
900
|
};
|
|
868
901
|
setCurrentProcessing(updatedProcessing);
|
|
869
|
-
updateTableRows(updatedProcessing);
|
|
902
|
+
updateTableRows(updatedProcessing, false, isPivotTable);
|
|
870
903
|
}
|
|
871
904
|
if (page > maxPage) {
|
|
872
905
|
setMaxPage(page);
|
|
873
906
|
}
|
|
874
907
|
};
|
|
875
|
-
const onSortChange = (sort) => {
|
|
908
|
+
const onSortChange = (sort, isPivotTable) => {
|
|
876
909
|
// if (shouldSortInMemory(baseProcessing.page, rowCount)) {
|
|
877
910
|
// return;
|
|
878
911
|
// }
|
|
879
912
|
const updatedProcessing = { ...baseProcessing, sort };
|
|
880
|
-
updateTableRows(updatedProcessing, true);
|
|
913
|
+
updateTableRows(updatedProcessing, true, isPivotTable);
|
|
881
914
|
setCurrentProcessing(updatedProcessing);
|
|
882
915
|
setCurrentPage(0);
|
|
883
916
|
setMaxPage(0);
|
|
884
917
|
};
|
|
885
|
-
const updateTableRows = async (processing, resetRows = false) => {
|
|
918
|
+
const updateTableRows = async (processing, resetRows = false, isPivotTable = false) => {
|
|
886
919
|
if (!client) {
|
|
887
920
|
return;
|
|
888
921
|
}
|
|
@@ -890,17 +923,40 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
890
923
|
setIsLoading(true);
|
|
891
924
|
try {
|
|
892
925
|
const updatedProcessing = { ...currentProcessing, ...processing };
|
|
893
|
-
const paginatedRows = await fetchResultsByQuery(
|
|
894
|
-
?
|
|
895
|
-
:
|
|
926
|
+
const paginatedRows = await fetchResultsByQuery({
|
|
927
|
+
query: isPivotTable && report.pivotQuery ? report.pivotQuery : query,
|
|
928
|
+
comparisonQuery: isPivotTable && report.comparisonPivotQuery
|
|
929
|
+
? report.comparisonPivotQuery
|
|
930
|
+
: undefined,
|
|
931
|
+
client,
|
|
932
|
+
tenants,
|
|
933
|
+
processing: updatedProcessing,
|
|
934
|
+
customFields: schemaData.customFields,
|
|
935
|
+
filters: filtersEnabled ? currentDashboardFilters : undefined,
|
|
936
|
+
dateField: filtersEnabled
|
|
937
|
+
? (report?.dateField ?? formData.dateField)
|
|
938
|
+
: undefined,
|
|
939
|
+
rowsOnly: false,
|
|
940
|
+
rowCountOnly: false,
|
|
941
|
+
filterMap: canonicalFilterMap,
|
|
942
|
+
dashboardName: destinationDashboard,
|
|
943
|
+
pivot: isPivotTable ? report.pivot : undefined,
|
|
944
|
+
getPivotRowCount: false,
|
|
945
|
+
});
|
|
896
946
|
if (paginatedRows.error) {
|
|
897
947
|
throw new Error('Error fetching chart');
|
|
898
948
|
}
|
|
899
|
-
|
|
949
|
+
const prevRows = isPivotTable && selectedPivotTable ? selectedPivotTable.rows : rows;
|
|
950
|
+
let updatedRows = [...prevRows, ...paginatedRows.rows];
|
|
900
951
|
if (resetRows) {
|
|
901
|
-
|
|
952
|
+
updatedRows = paginatedRows.rows;
|
|
953
|
+
}
|
|
954
|
+
if (isPivotTable && selectedPivotTable) {
|
|
955
|
+
setSelectedPivotTable({ ...selectedPivotTable, rows: updatedRows });
|
|
956
|
+
}
|
|
957
|
+
else {
|
|
958
|
+
setRows(updatedRows);
|
|
902
959
|
}
|
|
903
|
-
setRows(tempRows);
|
|
904
960
|
setCurrentProcessing(updatedProcessing);
|
|
905
961
|
}
|
|
906
962
|
catch (e) {
|
|
@@ -1013,6 +1069,9 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1013
1069
|
setSelectedPivotTable({
|
|
1014
1070
|
rows: pivotData.rows,
|
|
1015
1071
|
columns: pivotData.columns,
|
|
1072
|
+
rowCount: pivotData.rowCount,
|
|
1073
|
+
pivotQuery: pivotData.pivotQuery,
|
|
1074
|
+
comparisonPivotQuery: pivotData.comparisonPivotQuery,
|
|
1016
1075
|
});
|
|
1017
1076
|
}
|
|
1018
1077
|
else {
|
|
@@ -1040,7 +1099,6 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1040
1099
|
setSelectedPivotTable(undefined);
|
|
1041
1100
|
setChartTypes(getChartTypeOptions({ ...formEmptyState, pivot: null }, dashboardConfig[formData.dashboardName || '']));
|
|
1042
1101
|
};
|
|
1043
|
-
console.log('isAdmin', isAdmin);
|
|
1044
1102
|
const handleAddField = (fieldName) => {
|
|
1045
1103
|
if (fieldName === 'columns') {
|
|
1046
1104
|
setFormData({
|
|
@@ -1055,7 +1113,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1055
1113
|
yAxisFields: [
|
|
1056
1114
|
...formData.yAxisFields,
|
|
1057
1115
|
// @ts-ignore
|
|
1058
|
-
{ label: '', field: '', chartType: '', format: '' },
|
|
1116
|
+
{ label: '', field: '', chartType: '', format: 'whole_number' },
|
|
1059
1117
|
],
|
|
1060
1118
|
});
|
|
1061
1119
|
}
|
|
@@ -1132,30 +1190,44 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1132
1190
|
: report && !isAdmin && formData.template
|
|
1133
1191
|
? false
|
|
1134
1192
|
: formData.template,
|
|
1135
|
-
reportFlags: formFlags
|
|
1136
|
-
.
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1193
|
+
reportFlags: formFlags
|
|
1194
|
+
? Object.fromEntries(Object.entries(formFlags)
|
|
1195
|
+
.filter(([, value]) => value.length > 0)
|
|
1196
|
+
.map(([key, value]) => {
|
|
1197
|
+
return [
|
|
1198
|
+
key,
|
|
1199
|
+
Object.keys(allTenantMap).length > 1 &&
|
|
1200
|
+
allTenantMap[key]?.length === value.length
|
|
1201
|
+
? ALL_TENANTS
|
|
1202
|
+
: value,
|
|
1203
|
+
];
|
|
1204
|
+
}))
|
|
1205
|
+
: undefined,
|
|
1140
1206
|
};
|
|
1141
1207
|
const resp = await saveReport({
|
|
1142
|
-
report: newReport,
|
|
1208
|
+
report: { ...newReport, rows: undefined, pivotRows: undefined }, // stop including rows in request
|
|
1143
1209
|
dashboardItemId,
|
|
1144
1210
|
client,
|
|
1145
1211
|
});
|
|
1146
1212
|
if (resp && resp.name !== 'error') {
|
|
1213
|
+
const data = {
|
|
1214
|
+
...resp,
|
|
1215
|
+
rows,
|
|
1216
|
+
columns: formData.columns.filter((col) => !invalidColumns.includes(col)),
|
|
1217
|
+
pivotRows: selectedPivotTable?.rows || undefined,
|
|
1218
|
+
pivotColumns: selectedPivotTable?.columns || undefined,
|
|
1219
|
+
triggerReload: true,
|
|
1220
|
+
error: undefined,
|
|
1221
|
+
};
|
|
1147
1222
|
dispatch({
|
|
1148
1223
|
type: 'ADD_DASHBOARD_ITEM',
|
|
1149
1224
|
id: resp.id,
|
|
1150
|
-
data
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
triggerReload: true,
|
|
1157
|
-
error: undefined,
|
|
1158
|
-
},
|
|
1225
|
+
data,
|
|
1226
|
+
});
|
|
1227
|
+
reportsDispatch({
|
|
1228
|
+
type: 'ADD_REPORT',
|
|
1229
|
+
id: resp.id,
|
|
1230
|
+
data,
|
|
1159
1231
|
});
|
|
1160
1232
|
}
|
|
1161
1233
|
setIsOpen(false);
|
|
@@ -1226,11 +1298,11 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1226
1298
|
}, currentPage: currentPage, rowCount: rowCount, isLoading: isLoading, rowCountIsLoading: rowCountIsLoading, disableSort: disableSort })) : (_jsx(TableComponent, { rows: formattedRows, columns: selectedPivotTable
|
|
1227
1299
|
? selectedPivotTable.columns
|
|
1228
1300
|
: formData.columns, onPageChange: (page) => {
|
|
1229
|
-
onPageChange(page);
|
|
1301
|
+
onPageChange(page, true);
|
|
1230
1302
|
setCurrentPage(page);
|
|
1231
1303
|
}, onSortChange: (sort) => {
|
|
1232
|
-
onSortChange && onSortChange(sort);
|
|
1233
|
-
}, currentPage: currentPage, rowCount: selectedPivotTable ?
|
|
1304
|
+
onSortChange && onSortChange(sort, true);
|
|
1305
|
+
}, currentPage: currentPage, rowCount: selectedPivotTable ? pivotData?.rowCount : rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading, disableSort: disableSort })) }))] }), isOpen && (_jsxs("form", { ref: parentRef, id: "quill-chart-form", onSubmit: handleSubmit, style: {
|
|
1234
1306
|
display: 'flex',
|
|
1235
1307
|
flexDirection: 'column',
|
|
1236
1308
|
gap: 20,
|
|
@@ -1245,15 +1317,15 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1245
1317
|
paddingTop: modalPadding,
|
|
1246
1318
|
paddingBottom: modalPadding,
|
|
1247
1319
|
}),
|
|
1248
|
-
}, children: [_jsxs(FormContainer, { children: [(formData.pivot || formData.chartType !== 'table') &&
|
|
1249
|
-
_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1320
|
+
}, children: [_jsxs(FormContainer, { children: [(formData.pivot || formData.chartType !== 'table') &&
|
|
1321
|
+
windowWidth < 1200 && (_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
|
|
1322
|
+
onFiltersEnabledChanged(hide);
|
|
1323
|
+
}, colors: theme?.chartColors, loading: false, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
|
|
1324
|
+
width: '100%',
|
|
1325
|
+
height: 500,
|
|
1326
|
+
flexGrow: 1,
|
|
1327
|
+
marginBottom: 20,
|
|
1328
|
+
}, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen })), _jsxs(ChartBuilderInputRowContainer, { children: [_jsx("div", { ref: inputRef, style: { display: 'flex', flexDirection: 'column' }, children: _jsx(TextInputComponent
|
|
1257
1329
|
// {...autofocusRefProp}
|
|
1258
1330
|
, {
|
|
1259
1331
|
// {...autofocusRefProp}
|
|
@@ -1275,7 +1347,9 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1275
1347
|
// marginTop: 6,
|
|
1276
1348
|
display: 'flex',
|
|
1277
1349
|
flexDirection: 'column',
|
|
1278
|
-
}, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotValueField2: pivotValueField2, setPivotValueField2: setPivotValueField2, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: processedColumns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot, query: query, pivotCountRequest: 4, initialUniqueValues: initialUniqueValues, uniqueValuesIsLoading: initialUniqueValuesIsLoading, initialSelectedPivotTable: selectedPivotTable, pivotRecommendationsEnabled: pivotRecommendationsEnabled, report: report, dashboardName: destinationDashboard
|
|
1350
|
+
}, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotValueField: pivotValueField, setPivotValueField: setPivotValueField, pivotValueField2: pivotValueField2, setPivotValueField2: setPivotValueField2, pivotAggregation: pivotAggregation, setPivotAggregation: setPivotAggregation, createdPivots: createdPivots, setCreatedPivots: setCreatedPivots, recommendedPivots: recommendedPivots, setRecommendedPivots: setRecommendedPivots, popUpTitle: pivotPopUpTitle, setPopUpTitle: setPivotPopUpTitle, selectedTable: selectedTable, SelectComponent: SelectComponent, ButtonComponent: ButtonComponent, CardComponent: CardComponent, SecondaryButtonComponent: SecondaryButtonComponent, PopoverComponent: PopoverComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, HeaderComponent: HeaderComponent, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, LoadingComponent: LoadingComponent, theme: theme, isOpen: showPivotPopover, setIsOpen: setShowPivotPopover, showUpdatePivot: isEdittingPivot, setShowUpdatePivot: setIsEdittingPivot, parentRef: parentRef, data: rows, columns: processedColumns, triggerButtonText: 'Add pivot +', selectedPivotIndex: selectedPivotIndex, setSelectedPivotIndex: setSelectedPivotIndex, removePivot: handleDeletePivot, selectPivot: handleAddPivot, dateRange: dateRange, selectPivotOnEdit: true, showTrigger: !formData.pivot, query: query, pivotCountRequest: 4, initialUniqueValues: initialUniqueValues, uniqueValuesIsLoading: initialUniqueValuesIsLoading, initialSelectedPivotTable: selectedPivotTable, pivotRecommendationsEnabled: pivotRecommendationsEnabled, report: report, dashboardName: destinationDashboard, dateFilter: filtersEnabled
|
|
1351
|
+
? currentDashboardFilters?.find((f) => f.filterType === 'date_range')
|
|
1352
|
+
: undefined }) }), formData.pivot && (_jsx("div", { children: _jsx("div", { style: { width: pivotCardWidth }, children: _jsx(PivotCard, { pivotTable: pivotCardTable, theme: theme, index: 0, onSelectPivot: () => {
|
|
1279
1353
|
setIsEdittingPivot(true);
|
|
1280
1354
|
setShowPivotPopover(true);
|
|
1281
1355
|
setPivotRowField(formData.pivot?.rowField);
|
|
@@ -1293,12 +1367,12 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1293
1367
|
label: elem.field,
|
|
1294
1368
|
value: elem.field,
|
|
1295
1369
|
})), width: 200 }), _jsx(TextInputComponent, { id: "chart-builder-x-axis-label", width: 200, value: formData.xAxisLabel, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'xAxisLabel') }), _jsx(SelectComponent, { value: formData.pivot &&
|
|
1296
|
-
isDateField(formData.pivot.rowFieldType
|
|
1370
|
+
isDateField(formData.pivot.rowFieldType ?? '')
|
|
1297
1371
|
? 'pivot_date'
|
|
1298
1372
|
: formData.xAxisFormat, onChange: (e) => handleChange(e.target.value, 'xAxisFormat'), options: formData.pivot &&
|
|
1299
|
-
isDateField(formData.pivot.rowFieldType
|
|
1373
|
+
isDateField(formData.pivot.rowFieldType ?? '')
|
|
1300
1374
|
? [{ value: 'pivot_date', label: 'date' }]
|
|
1301
|
-
: formatOptions, width: 200 })] })] })), CHART_TO_LABELS[formData.chartType]?.yAxisLabel && (_jsxs("div", { children: [_jsx(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.yAxisLabel ?? '' }), _jsxs(ChartBuilderInputColumnContainer, { children: [formData.yAxisFields.map((yAxisField, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: formData.pivot
|
|
1375
|
+
: formatOptions, width: 200, hideEmptyOption: true })] })] })), CHART_TO_LABELS[formData.chartType]?.yAxisLabel && (_jsxs("div", { children: [_jsx(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.yAxisLabel ?? '' }), _jsxs(ChartBuilderInputColumnContainer, { children: [formData.yAxisFields.map((yAxisField, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: formData.pivot
|
|
1302
1376
|
? formData.pivot.valueField || 'count'
|
|
1303
1377
|
: yAxisField.field, onChange: (e) => handleChange(e.target.value, 'yAxisFields.field', index), options: formData.pivot
|
|
1304
1378
|
? [
|
|
@@ -1318,13 +1392,10 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1318
1392
|
})), width: 200 }), _jsx(TextInputComponent, { id: "chart-builder-y-axis-label", width: 200, value: yAxisField.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'yAxisFields.label', index) }), _jsx(SelectComponent, { value: formData.pivot
|
|
1319
1393
|
? NUMBER_OPTIONS.find((option) => {
|
|
1320
1394
|
return (option.value === yAxisField.format);
|
|
1321
|
-
})
|
|
1322
|
-
? // @ts-ignore
|
|
1323
|
-
NUMBER_OPTIONS.find((option) => option.value === yAxisField.format).value
|
|
1324
|
-
: ''
|
|
1395
|
+
})?.value ?? NUMBER_OPTIONS[0].value
|
|
1325
1396
|
: yAxisField.format, onChange: (e) => handleChange(e.target.value, 'yAxisFields.format', index), options: formData.pivot
|
|
1326
1397
|
? NUMBER_OPTIONS
|
|
1327
|
-
: formatOptions, width: 200 }), formData.pivot
|
|
1398
|
+
: formatOptions, width: 200, hideEmptyOption: true }), !formData.pivot && (_jsx("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: _jsx(DeleteButtonComponent, { onClick: () => handleRemoveField('yAxisFields', index) }) }))] }, 'yAxisField' + index))), !formData.pivot && (_jsx("div", { children: _jsx(SecondaryButtonComponent, { onClick: () => handleAddField('yAxisFields'), label: "Add field +" }) }))] })] }))] })), windowWidth < 1200 && (_jsx("div", { style: {
|
|
1328
1399
|
width: '100%',
|
|
1329
1400
|
height: isHorizontalView || !isOpen ? 'calc(50% - 10px)' : 400,
|
|
1330
1401
|
flexGrow: 1,
|
|
@@ -1336,11 +1407,11 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1336
1407
|
}, currentPage: currentPage, rowCount: rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading, disableSort: disableSort })) : (_jsx(TableComponent, { rows: formattedRows, columns: selectedPivotTable
|
|
1337
1408
|
? selectedPivotTable.columns
|
|
1338
1409
|
: formData.columns, onPageChange: (page) => {
|
|
1339
|
-
onPageChange(page);
|
|
1410
|
+
onPageChange(page, true);
|
|
1340
1411
|
setCurrentPage(page);
|
|
1341
1412
|
}, onSortChange: (sort) => {
|
|
1342
|
-
onSortChange && onSortChange(sort);
|
|
1343
|
-
}, currentPage: currentPage, rowCount: selectedPivotTable ?
|
|
1413
|
+
onSortChange && onSortChange(sort, true);
|
|
1414
|
+
}, currentPage: currentPage, rowCount: selectedPivotTable ? pivotData?.rowCount : rowCount, rowCountIsLoading: rowCountIsLoading, isLoading: isLoading, disableSort: disableSort })) })), (showTableFormatOptions || isAdmin) && (_jsxs("div", { children: [_jsxs("div", { style: {
|
|
1344
1415
|
display: 'flex',
|
|
1345
1416
|
flexDirection: 'column',
|
|
1346
1417
|
}, children: [_jsx(HeaderComponent, { label: "Table" }), _jsx(SubHeaderComponent, { label: "Columns" })] }), _jsxs(ChartBuilderInputColumnContainer, { children: [formData.pivot &&
|
|
@@ -1360,7 +1431,10 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1360
1431
|
? 'pivot_date'
|
|
1361
1432
|
: 'string'
|
|
1362
1433
|
: formData.pivot?.valueFieldType ||
|
|
1363
|
-
|
|
1434
|
+
(formData.pivot?.aggregationType ===
|
|
1435
|
+
'percentage'
|
|
1436
|
+
? 'percent'
|
|
1437
|
+
: 'two_decimal_places'), onChange: (e) => handleChange(e.target.value, 'pivotColumn', index), options: formData.pivot && index === 0
|
|
1364
1438
|
? isDateField(formData.pivot.rowFieldType || '')
|
|
1365
1439
|
? [{ label: 'date', value: 'pivot_date' }]
|
|
1366
1440
|
: [{ label: 'string', value: 'string' }]
|
|
@@ -1441,7 +1515,8 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1441
1515
|
userSelect: 'none',
|
|
1442
1516
|
}, children: "Custom" })] }), client?.allTenantTypes?.length === 1 ? (_jsx(MultiSelectComponent, { value: formFlags?.[dashboardOwner.tenantField] ?? [], onChange: (e) => setFormFlags({
|
|
1443
1517
|
...formFlags,
|
|
1444
|
-
[dashboardOwner.tenantField]: e.target
|
|
1518
|
+
[dashboardOwner.tenantField]: e.target
|
|
1519
|
+
.value,
|
|
1445
1520
|
}), options: dashboardOwner.scope === 'database'
|
|
1446
1521
|
? (dashboardOwner.flags?.map((f) => ({
|
|
1447
1522
|
label: f,
|
|
@@ -1454,18 +1529,26 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1454
1529
|
value: t.flag,
|
|
1455
1530
|
})) ?? []), width: 200, emptyLabel: dashboardOwner.scope === 'database'
|
|
1456
1531
|
? 'No flags supplied'
|
|
1457
|
-
: undefined, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
|
|
1532
|
+
: undefined, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
|
|
1533
|
+
display: customTenantAccess ? 'inline' : 'none',
|
|
1534
|
+
marginTop: -1,
|
|
1535
|
+
marginBottom: -4,
|
|
1536
|
+
} })) : (_jsx(QuillMultiSelectSectionList, { value: formFlags ?? {}, onChange: (e) => setFormFlags(e.target.value), options: allTenantMap, sectionHeaderMap: client?.allTenantTypes?.reduce((acc, tenantType) => {
|
|
1458
1537
|
if (tenantType.scope === 'database') {
|
|
1459
1538
|
acc[SINGLE_TENANT] = 'Database';
|
|
1460
1539
|
return acc;
|
|
1461
1540
|
}
|
|
1462
1541
|
acc[tenantType.tenantField] = tenantType.name;
|
|
1463
1542
|
return acc;
|
|
1464
|
-
}, {}) ?? {}, width: 200, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1543
|
+
}, {}) ?? {}, width: 200, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
|
|
1544
|
+
display: customTenantAccess ? 'inline' : 'none',
|
|
1545
|
+
marginTop: -1,
|
|
1546
|
+
marginBottom: -4,
|
|
1547
|
+
}, owner: dashboardOwner.tenantField }))] }) })] })), specificDashboardFilters.length > 0 &&
|
|
1548
|
+
isAdmin &&
|
|
1549
|
+
formData.dateField &&
|
|
1550
|
+
dashboardConfig[formData.dashboardName ?? '']?.config.dateFilter
|
|
1551
|
+
?.label && (_jsxs("div", { style: {
|
|
1469
1552
|
display: 'flex',
|
|
1470
1553
|
flexDirection: 'column',
|
|
1471
1554
|
gap: 6,
|
|
@@ -1496,14 +1579,12 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1496
1579
|
.map((filter, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(TextInputComponent, { id: 'filterMap.' + filter.label, value: filter.label, width: 200, onChange: () => { }, label: index === 0 &&
|
|
1497
1580
|
!(isAdmin &&
|
|
1498
1581
|
formData.dateField &&
|
|
1499
|
-
dashboardConfig[formData.dashboardName ?? '']
|
|
1500
|
-
?.config.dateFilter?.label)
|
|
1582
|
+
dashboardConfig[formData.dashboardName ?? '']?.config.dateFilter?.label)
|
|
1501
1583
|
? 'Filter'
|
|
1502
1584
|
: '', disabled: true }), _jsx(SelectComponent, { label: index === 0 &&
|
|
1503
1585
|
!(isAdmin &&
|
|
1504
1586
|
formData.dateField &&
|
|
1505
|
-
dashboardConfig[formData.dashboardName ?? '']
|
|
1506
|
-
?.config.dateFilter?.label)
|
|
1587
|
+
dashboardConfig[formData.dashboardName ?? '']?.config.dateFilter?.label)
|
|
1507
1588
|
? 'Virtual Table'
|
|
1508
1589
|
: '', value: filterMap[filter.label]?.table ?? filter.table, onChange: (e) => setFilterMap({
|
|
1509
1590
|
...filterMap,
|
|
@@ -1521,8 +1602,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1521
1602
|
})), width: 200 }), _jsx(SelectComponent, { label: index === 0 &&
|
|
1522
1603
|
!(isAdmin &&
|
|
1523
1604
|
formData.dateField &&
|
|
1524
|
-
dashboardConfig[formData.dashboardName ?? '']
|
|
1525
|
-
?.config.dateFilter?.label)
|
|
1605
|
+
dashboardConfig[formData.dashboardName ?? '']?.config.dateFilter?.label)
|
|
1526
1606
|
? 'Field'
|
|
1527
1607
|
: '', value: filterMap[filter.label]?.field ?? filter.field, onChange: (e) => setFilterMap({
|
|
1528
1608
|
...filterMap,
|
|
@@ -1550,8 +1630,10 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1550
1630
|
display: 'flex',
|
|
1551
1631
|
flexDirection: 'row',
|
|
1552
1632
|
justifyContent: 'flex-end',
|
|
1553
|
-
marginTop: 'auto',
|
|
1554
1633
|
gap: 10,
|
|
1634
|
+
position: 'absolute',
|
|
1635
|
+
bottom: 16,
|
|
1636
|
+
right: 16,
|
|
1555
1637
|
}, children: [!hideDeleteButton && !isHorizontalView && report && (_jsx(SecondaryButtonComponent, { onClick: deleteChart, label: 'Delete' })), !hideSubmitButton && (_jsxs("div", { style: {
|
|
1556
1638
|
display: 'flex',
|
|
1557
1639
|
flexDirection: 'row',
|
|
@@ -1559,7 +1641,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1559
1641
|
justifyContent: 'space-between',
|
|
1560
1642
|
alignItems: 'center',
|
|
1561
1643
|
gap: 6,
|
|
1562
|
-
}, children: [filterIssues.length === 0 ? (_jsx("div", {})) : (_jsx(ErrorMessageComponent, { errorMessage: filterIssues[0] || 'Dashbord - Report issues', containerStyle: { height: '100%' } })), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 10 }, children: [_jsx(SecondaryButtonComponent, { onClick: () => {
|
|
1644
|
+
}, children: [filterIssues.length === 0 ? (_jsx("div", {})) : (_jsx(ErrorMessageComponent, { errorMessage: filterIssues[0] || 'Dashbord - Report issues', containerStyle: { height: '100%' } })), _jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 10, backgroundColor: 'white' }, children: [_jsx(SecondaryButtonComponent, { onClick: () => {
|
|
1563
1645
|
setIsOpen(false);
|
|
1564
1646
|
onDiscardChanges && onDiscardChanges();
|
|
1565
1647
|
}, label: 'Discard changes' }), _jsx(ButtonComponent, { onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/Context.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../src/Context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAO9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAU/D,eAAO,MAAM,iBAAiB,qCACP,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,IAAI,EAQ9D,CAAC;AACH,eAAO,MAAM,YAAY,4CACK,KAAK,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,EACxD,CAAC;AACvB,eAAO,MAAM,aAAa,8DAId,KAAK,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,IAAI,EAExC,CAAC;AAO9B,KAAK,mBAAmB,GACpB,uBAAuB,GACvB,oBAAoB,GACpB,uBAAuB,GACvB,iBAAiB,CAAC;AACtB,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAC;CAC3D,CAAC;AAuCF,eAAO,MAAM,gBAAgB;;oCAET,CAAC;AAErB,KAAK,oBAAoB,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9D,CAAC;AACF,KAAK,yBAAyB,GAC1B,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAC5B,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,yBAAyB,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EACD;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAC7C,eAAe,GACf,oBAAoB,GACpB,eAAe,EAAE,GACjB,OAAO,GACP,SAAS,CAAC;CACf,CAAC;AAyFF,eAAO,MAAM,sBAAsB;qBAChB,oBAAoB;eAC1B,OAAO;6BACO,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC;mBAC/C,CACb,aAAa,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,OAAO,EACzB,YAAY,CAAC,EAAE;QACb,MAAM,EAAE,WAAW,GAAG;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC7B,KACE,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;EAMzC,CAAC;AAEH,KAAK,WAAW,GAAG;IAAE,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAAE,CAAC;AA6CzD,eAAO,MAAM,cAAc;aAChB,WAAW;qBACH,GAAG;2BACG,CACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,EAC7C,SAAS,CAAC,EAAE,OAAO,EACnB,gBAAgB,CAAC,EAAE,eAAe,EAAE,EACpC,aAAa,CAAC,EAAE,cAAc,EAAE,EAChC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,qBAAqB,CAAC,EAAE,eAAe,KACpC,OAAO,CAAC,IAAI,CAAC;EAKlB,CAAC;AAEH,KAAK,kBAAkB,GAAG;IACxB,CAAC,EAAE,EAAE,MAAM,GAAG;QACZ,CAAC,UAAU,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,eAAe,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;KACrE,CAAC;CACH,CAAC;AACF,KAAK,uBAAuB,GACxB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,CAAC;AAC3B,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EACD;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAC7C;QAAE,MAAM,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CACrD,CAAC;AA2DF,eAAO,MAAM,oBAAoB;mBAChB,kBAAkB;2BACV,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;0BACpC,CACpB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,EAC9D,OAAO,EAAE,eAAe,EAAE,EAC1B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,aAAa,CAAC,EAAE,cAAc,EAAE,EAChC,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,EAC/D,aAAa,CAAC,EAAE,MAAM,KACnB,OAAO,CAAC,IAAI,CAAC;EAKlB,CAAC;AAEH,KAAK,qBAAqB,GAAG;IAC3B,CAAC,aAAa,EAAE,MAAM,GAAG;QACvB,CAAC,UAAU,EAAE,MAAM,GAAG;YAAE,MAAM,EAAE,eAAe,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC;KACrE,CAAC;CACH,CAAC;AACF,KAAK,0BAA0B,GAC3B,+BAA+B,GAC/B,yBAAyB,GACzB,uBAAuB,GACvB,0BAA0B,GAC1B,yBAAyB,CAAC;AAC9B,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,0BAA0B,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EACD;QACE,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;KAClB,GACD;QACE,CAAC,UAAU,EAAE,MAAM,GAAG;YACpB,MAAM,EAAE,eAAe,CAAC;YACxB,OAAO,EAAE,OAAO,CAAC;SAClB,CAAC;KACH,GACD,eAAe,GACf,qBAAqB,GACrB,SAAS,CAAC;CACf,CAAC;AAkDF,eAAO,MAAM,uBAAuB;sBAChB,qBAAqB;cAC7B,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;6BACvB,CACvB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,eAAe,EAAE,EAC1B,kBAAkB,CAAC,EAAE,MAAM,EAC3B,aAAa,CAAC,EAAE,cAAc,EAAE,KAC7B,OAAO,CAAC,IAAI,CAAC;EAKlB,CAAC;AAEH,eAAO,MAAM,aAAa;cAEpB;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;YACf,MAAM,EAAE;EACZ,CAAC;AAGP,eAAO,MAAM,eAAe,yGASzB;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,EAAE,UAAU,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACnB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,mDA01BA,CAAC"}
|