@quillsql/react 2.13.48 → 2.13.49
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 -2
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +28 -41
- package/dist/cjs/ChartBuilder.d.ts +2 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +157 -134
- package/dist/cjs/ChartEditor.d.ts +2 -2
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +3 -1
- package/dist/cjs/Context.d.ts +10 -3
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +324 -249
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +10 -23
- package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -3
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +472 -96
- package/dist/cjs/QuillProvider.d.ts +3 -1
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +19 -10
- package/dist/cjs/SQLEditor.d.ts +1 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +50 -16
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +20 -7
- package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +2 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +1 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -1
- package/dist/cjs/components/Chart/CustomReferenceLine.js +7 -6
- package/dist/cjs/components/Chart/GaugeChart.d.ts +1 -1
- package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/GaugeChart.js +62 -35
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +30 -33
- package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/LineChart.js +3 -1
- package/dist/cjs/components/Chart/MapChart.d.ts +3 -3
- package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/MapChart.js +62 -34
- package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +80 -39
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -20
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -4
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +31 -14
- package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/MetricComponent.js +2 -2
- package/dist/cjs/components/Dashboard/util.d.ts +1 -1
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +7 -6
- package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectSectionList.js +32 -22
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +186 -159
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +83 -75
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +18 -11
- 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 +3 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -2
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +4 -7
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +5 -1
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +96 -58
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +23 -13
- package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +8 -10
- package/dist/cjs/hooks/useReport.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +16 -22
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +19 -7
- package/dist/cjs/models/Client.d.ts +0 -1
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Data.d.ts +20 -0
- package/dist/cjs/models/Data.d.ts.map +1 -0
- package/dist/cjs/models/Data.js +2 -0
- package/dist/cjs/models/Filter.d.ts +42 -4
- package/dist/cjs/models/Filter.d.ts.map +1 -1
- package/dist/cjs/models/Pivot.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.d.ts +3 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +28 -37
- package/dist/cjs/utils/client.d.ts +3 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +38 -39
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +14 -3
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +2 -1
- package/dist/cjs/utils/dashboard.d.ts +3 -2
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +30 -12
- package/dist/cjs/utils/dataFetcher.d.ts +8 -5
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +189 -65
- package/dist/cjs/utils/filterProcessing.d.ts +2 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +24 -38
- package/dist/cjs/utils/getDomain.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +15 -11
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +3 -5
- package/dist/cjs/utils/queryConstructor.js +1 -1
- package/dist/cjs/utils/report.d.ts +10 -7
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +52 -60
- package/dist/cjs/utils/schema.d.ts +4 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +30 -44
- package/dist/cjs/utils/tableProcessing.d.ts +16 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +91 -90
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +2 -1
- package/dist/cjs/utils/ui.d.ts.map +1 -1
- package/dist/esm/Chart.d.ts +2 -2
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +30 -43
- package/dist/esm/ChartBuilder.d.ts +2 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +158 -135
- package/dist/esm/ChartEditor.d.ts +2 -2
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +4 -2
- package/dist/esm/Context.d.ts +10 -3
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +326 -251
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +12 -25
- package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -3
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
- package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/DateRangePicker/dateRangePickerUtils.js +471 -95
- package/dist/esm/QuillProvider.d.ts +3 -1
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +21 -12
- package/dist/esm/SQLEditor.d.ts +1 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +53 -19
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +21 -8
- package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +2 -1
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts +1 -1
- package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -1
- package/dist/esm/components/Chart/CustomReferenceLine.js +8 -7
- package/dist/esm/components/Chart/GaugeChart.d.ts +1 -1
- package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/GaugeChart.js +64 -37
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +32 -35
- package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/LineChart.js +3 -1
- package/dist/esm/components/Chart/MapChart.d.ts +3 -3
- package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/MapChart.js +67 -39
- package/dist/esm/components/Chart/PieChart.d.ts +3 -1
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +80 -39
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +5 -21
- package/dist/esm/components/Dashboard/DashboardSection.js +2 -2
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -4
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +32 -15
- package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
- package/dist/esm/components/Dashboard/util.d.ts +1 -1
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +8 -7
- package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectSectionList.js +32 -22
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +187 -160
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +85 -77
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +18 -11
- 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 +3 -4
- package/dist/esm/components/ReportBuilder/ui.d.ts +2 -2
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +4 -7
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +6 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +98 -60
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +25 -15
- package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +9 -11
- package/dist/esm/hooks/useReport.d.ts.map +1 -1
- package/dist/esm/hooks/useReport.js +1 -1
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +17 -23
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +20 -8
- package/dist/esm/models/Client.d.ts +0 -1
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Data.d.ts +20 -0
- package/dist/esm/models/Data.d.ts.map +1 -0
- package/dist/esm/models/Data.js +1 -0
- package/dist/esm/models/Filter.d.ts +42 -4
- package/dist/esm/models/Filter.d.ts.map +1 -1
- package/dist/esm/models/Pivot.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.d.ts +3 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +28 -37
- package/dist/esm/utils/client.d.ts +3 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +38 -39
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +14 -3
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -0
- package/dist/esm/utils/dashboard.d.ts +3 -2
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +31 -13
- package/dist/esm/utils/dataFetcher.d.ts +8 -5
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +187 -65
- package/dist/esm/utils/filterProcessing.d.ts +2 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +25 -39
- package/dist/esm/utils/getDomain.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.d.ts +2 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +16 -12
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +5 -7
- package/dist/esm/utils/queryConstructor.js +1 -1
- package/dist/esm/utils/report.d.ts +10 -7
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +53 -61
- package/dist/esm/utils/schema.d.ts +4 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +30 -44
- package/dist/esm/utils/tableProcessing.d.ts +16 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +93 -92
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +2 -1
- package/dist/esm/utils/ui.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/esm/ChartBuilder.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState, useContext, useMemo, } from 'react';
|
|
3
|
-
import { ClientContext, DashboardConfigContext, DashboardFiltersContext, ReportFiltersContext, ReportsContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
3
|
+
import { ClientContext, DashboardConfigContext, DashboardFiltersContext, FetchContext, 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, QuillToolTip, QuillChartBuilderCheckboxComponent, } from './components/UiComponents';
|
|
@@ -23,7 +23,6 @@ import { shouldFetchMore,
|
|
|
23
23
|
import { fetchResultsByQuery, getUniqueValuesByQuery, } from './utils/tableProcessing';
|
|
24
24
|
import { getDateBucketFromRange } from './utils/dates';
|
|
25
25
|
import { QuillMultiSelectComponentWithCombo as MultiSelectComponent } from './components/QuillMultiSelectWithCombo';
|
|
26
|
-
import { useQuillCloud } from './utils/dataFetcher';
|
|
27
26
|
import { QuillMultiSelectSectionList } from './components/QuillMultiSelectSectionList';
|
|
28
27
|
import { ALL_TENANTS, REFERENCE_LINE, SINGLE_TENANT } from './utils/constants';
|
|
29
28
|
import { disambiguatedValueField } from './utils/pivotConstructor';
|
|
@@ -268,7 +267,9 @@ export function ChartBuilderWithModal(props) {
|
|
|
268
267
|
return (_jsx("div", { style: { height: '100%' }, ref: parentRef, children: _jsx(Modal, { isOpen: isOpen, setIsOpen: setIsOpen, title: title || 'Add to dashboard',
|
|
269
268
|
// For isHorizontalView, use full viewport size minus 80px for padding,
|
|
270
269
|
// otherwise use the default layout method of the modal (contents).
|
|
271
|
-
width: isHorizontalView ? modalWidth : undefined, height: isHorizontalView ? modalHeight : undefined, children: (props.reportId
|
|
270
|
+
width: isHorizontalView ? modalWidth : undefined, height: isHorizontalView ? modalHeight : undefined, children: (props.reportId
|
|
271
|
+
? (dashboard[props.reportId] ?? props.tempReport)
|
|
272
|
+
: props.tempReport) ? (_jsx(ChartBuilder, { ...props })) : (_jsx("div", { style: { padding: 20 }, children: _jsx(QuillLoadingComponent, {}) })) }) }));
|
|
272
273
|
}
|
|
273
274
|
/**
|
|
274
275
|
* ### Quill Chart Builder
|
|
@@ -302,11 +303,11 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
302
303
|
const [client] = useContext(ClientContext);
|
|
303
304
|
const [theme] = useContext(ThemeContext);
|
|
304
305
|
const [schemaData] = useContext(SchemaDataContext);
|
|
306
|
+
const { getToken, quillFetchWithToken } = useContext(FetchContext);
|
|
305
307
|
const { addReport } = useDashboardReports(destinationDashboard);
|
|
306
308
|
const { allReportsById } = useAllReports();
|
|
307
309
|
const { dashboardConfig } = useContext(DashboardConfigContext);
|
|
308
310
|
const { tenants, flags } = useContext(TenantContext);
|
|
309
|
-
const { getDataFromCloud } = useQuillCloud();
|
|
310
311
|
const report = useMemo(() => {
|
|
311
312
|
return reportId && !tempReport ? allReportsById[reportId] : tempReport;
|
|
312
313
|
}, [reportId]);
|
|
@@ -395,7 +396,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
395
396
|
};
|
|
396
397
|
}, [isOpen]);
|
|
397
398
|
const [dashboardOptions, setDashboardOptions] = useState([]);
|
|
398
|
-
const { reportFilters, loadFiltersForReport, reportFiltersDispatch, abortLoadingFilters } = useContext(ReportFiltersContext);
|
|
399
|
+
const { reportFilters, loadFiltersForReport, reportFiltersDispatch, abortLoadingFilters, } = useContext(ReportFiltersContext);
|
|
399
400
|
const { reportsDispatch } = useContext(ReportsContext);
|
|
400
401
|
const initialFilters = useRef(reportFilters[report?.id ?? TEMP_REPORT_ID]);
|
|
401
402
|
useEffect(() => {
|
|
@@ -499,7 +500,12 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
499
500
|
? Object.fromEntries(Object.entries(report.flags).map(([key, value]) => {
|
|
500
501
|
if (value === ALL_TENANTS) {
|
|
501
502
|
const tenantType = client?.allTenantTypes?.find((t) => t.tenantField === key);
|
|
502
|
-
return [
|
|
503
|
+
return [
|
|
504
|
+
key,
|
|
505
|
+
tenantType?.tenantField === SINGLE_TENANT
|
|
506
|
+
? (tenantType?.flags ?? [])
|
|
507
|
+
: (tenantType?.tenantIds?.map((id) => id.flag) ?? []),
|
|
508
|
+
];
|
|
503
509
|
}
|
|
504
510
|
else {
|
|
505
511
|
return [key, value];
|
|
@@ -514,7 +520,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
514
520
|
const formEmptyState = {
|
|
515
521
|
name: report?.name ?? '',
|
|
516
522
|
dashboardName: dashboardOptions[0]?.label ?? '',
|
|
517
|
-
columns: report?.columns
|
|
523
|
+
columns: report?.columns?.map((col) => {
|
|
518
524
|
return { ...col, label: snakeAndCamelCaseToTitleCase(col.label) };
|
|
519
525
|
}) ?? [],
|
|
520
526
|
xAxisField: report?.columns?.[0]?.field ?? '',
|
|
@@ -540,33 +546,45 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
540
546
|
if (!client) {
|
|
541
547
|
return;
|
|
542
548
|
}
|
|
543
|
-
const {
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
549
|
+
const { data: responseData } = await quillFetchWithToken({
|
|
550
|
+
client,
|
|
551
|
+
task: 'dashboard',
|
|
552
|
+
metadata: {
|
|
553
|
+
name: dashboardName,
|
|
554
|
+
clientId: client.clientId,
|
|
555
|
+
databaseType: client.databaseType,
|
|
556
|
+
useNewNodeSql: true,
|
|
557
|
+
tenants,
|
|
558
|
+
},
|
|
559
|
+
});
|
|
560
|
+
if (responseData) {
|
|
561
|
+
return {
|
|
562
|
+
...responseData,
|
|
563
|
+
createdAt: responseData.createdAt && new Date(responseData.createdAt),
|
|
564
|
+
dateFilter: responseData.dateFilter
|
|
565
|
+
? {
|
|
566
|
+
...responseData.dateFilter,
|
|
567
|
+
presetOptions: responseData.dateFilter.presetOptions?.map((preset) => ({
|
|
568
|
+
...preset,
|
|
569
|
+
loopStart: preset.loopStart
|
|
570
|
+
? new Date(preset.loopStart)
|
|
571
|
+
: undefined,
|
|
572
|
+
loopEnd: preset.loopEnd
|
|
573
|
+
? new Date(preset.loopEnd)
|
|
574
|
+
: undefined,
|
|
575
|
+
})),
|
|
576
|
+
defaultPresetRanges: responseData.dateFilter.defaultPresetRanges?.map((preset) => ({
|
|
577
|
+
...preset,
|
|
578
|
+
loopStart: preset.loopStart
|
|
579
|
+
? new Date(preset.loopStart)
|
|
580
|
+
: undefined,
|
|
581
|
+
loopEnd: preset.loopEnd
|
|
582
|
+
? new Date(preset.loopEnd)
|
|
583
|
+
: undefined,
|
|
584
|
+
})),
|
|
585
|
+
}
|
|
586
|
+
: undefined,
|
|
587
|
+
};
|
|
570
588
|
}
|
|
571
589
|
};
|
|
572
590
|
const pivotFormData = (pivot) => {
|
|
@@ -580,21 +598,26 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
580
598
|
: false;
|
|
581
599
|
const chartType = formData?.chartType ?? (pivot.rowField ? 'column' : 'metric');
|
|
582
600
|
const rowColumn = (selectedPivotTable?.columns ?? columns).find((col) => col.field === pivot.rowField);
|
|
583
|
-
const xAxisField = pivot.rowField &&
|
|
601
|
+
const xAxisField = pivot.rowField &&
|
|
602
|
+
!(['metric', 'gauge'].includes(chartType) &&
|
|
603
|
+
!NUMBER_FORMAT_TYPES.includes(rowColumn?.format ?? ''))
|
|
584
604
|
? pivot.rowField
|
|
585
605
|
: disambiguatedValueField(pivot);
|
|
586
606
|
const result = {
|
|
587
607
|
pivot,
|
|
588
608
|
chartType: chartType,
|
|
589
609
|
xAxisField,
|
|
590
|
-
xAxisFormat: chartType === 'gauge'
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
610
|
+
xAxisFormat: chartType === 'gauge'
|
|
611
|
+
? 'percent'
|
|
612
|
+
: chartType === 'metric'
|
|
613
|
+
? 'whole_number'
|
|
614
|
+
: isDateType(pivot.rowFieldType ?? '')
|
|
615
|
+
? 'string'
|
|
616
|
+
: isNumberType(pivot.rowFieldType ?? '')
|
|
596
617
|
? 'whole_number'
|
|
597
|
-
: '
|
|
618
|
+
: isNumberType(disambiguatedValueField(pivot) ?? '')
|
|
619
|
+
? 'whole_number'
|
|
620
|
+
: 'string',
|
|
598
621
|
xAxisLabel: report?.xAxisLabel || pivot.rowField,
|
|
599
622
|
yAxisFields: [
|
|
600
623
|
{
|
|
@@ -611,10 +634,14 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
611
634
|
return result;
|
|
612
635
|
};
|
|
613
636
|
const getReferencedTables = async (client, sqlQuery, dbTables, skipStar) => {
|
|
614
|
-
const resp = await
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
637
|
+
const { data: resp } = await quillFetchWithToken({
|
|
638
|
+
client,
|
|
639
|
+
task: 'astify',
|
|
640
|
+
metadata: {
|
|
641
|
+
query: sqlQuery,
|
|
642
|
+
clientId: client.clientId,
|
|
643
|
+
useNewNodeSql: true,
|
|
644
|
+
},
|
|
618
645
|
});
|
|
619
646
|
if (resp.success === false) {
|
|
620
647
|
return getTablesHelper(getSelectFromAST({}), dbTables, skipStar);
|
|
@@ -774,7 +801,13 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
774
801
|
const curFormData = formData;
|
|
775
802
|
let dashNames = Object.keys(dashboardConfig);
|
|
776
803
|
if (dashNames.length === 0) {
|
|
777
|
-
const resp = await
|
|
804
|
+
const { data: resp } = await quillFetchWithToken({
|
|
805
|
+
client,
|
|
806
|
+
task: 'dashnames',
|
|
807
|
+
metadata: {
|
|
808
|
+
clientId: client.clientId,
|
|
809
|
+
},
|
|
810
|
+
});
|
|
778
811
|
dashNames = resp.dashboardNames;
|
|
779
812
|
}
|
|
780
813
|
let dashboardOptions = dashNames
|
|
@@ -934,6 +967,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
934
967
|
dashboardName: destinationDashboardName,
|
|
935
968
|
tenants,
|
|
936
969
|
additionalProcessing: baseProcessing,
|
|
970
|
+
getToken,
|
|
937
971
|
});
|
|
938
972
|
setSelectedPivotTable(pivotTable);
|
|
939
973
|
return pivotTable;
|
|
@@ -1008,6 +1042,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1008
1042
|
const tableInfo = await fetchResultsByQuery({
|
|
1009
1043
|
query,
|
|
1010
1044
|
client,
|
|
1045
|
+
getToken,
|
|
1011
1046
|
tenants,
|
|
1012
1047
|
processing,
|
|
1013
1048
|
customFields: schemaData.customFields,
|
|
@@ -1071,6 +1106,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1071
1106
|
rowCountOnly: false,
|
|
1072
1107
|
filterMap: canonicalFilterMap,
|
|
1073
1108
|
dashboardName: destinationDashboardName,
|
|
1109
|
+
getToken,
|
|
1074
1110
|
});
|
|
1075
1111
|
setCurrentProcessing(processing);
|
|
1076
1112
|
setRows(tableInfo.rows);
|
|
@@ -1083,6 +1119,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1083
1119
|
columns: tableInfo.columns.filter((column) => column.field === formData.pivot?.columnField),
|
|
1084
1120
|
query: report.queryString,
|
|
1085
1121
|
client,
|
|
1122
|
+
getToken,
|
|
1086
1123
|
tenants,
|
|
1087
1124
|
customFields: schemaData.customFields ?? {},
|
|
1088
1125
|
filters: overrideFilters,
|
|
@@ -1146,6 +1183,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1146
1183
|
? report.comparisonPivotQuery
|
|
1147
1184
|
: undefined,
|
|
1148
1185
|
client,
|
|
1186
|
+
getToken,
|
|
1149
1187
|
tenants,
|
|
1150
1188
|
processing: updatedProcessing,
|
|
1151
1189
|
customFields: schemaData.customFields,
|
|
@@ -1189,71 +1227,53 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1189
1227
|
const handleChange = async (value, fieldName, index) => {
|
|
1190
1228
|
let updatedForm = { ...formData };
|
|
1191
1229
|
try {
|
|
1192
|
-
|
|
1193
|
-
// WE NEED TO UPDATE BOTH VALUEFIELDTYPE AND COLUMN FIELD TYPES
|
|
1194
|
-
if (fieldName === 'pivotColumn') {
|
|
1195
|
-
// CAN'T EDIT THE TYPE OF THE RowField
|
|
1196
|
-
if (index === 0) {
|
|
1197
|
-
return;
|
|
1198
|
-
}
|
|
1199
|
-
const updatedPivot = {
|
|
1200
|
-
...formData.pivot,
|
|
1201
|
-
valueFieldType: value,
|
|
1202
|
-
};
|
|
1203
|
-
// @ts-ignore
|
|
1204
|
-
updatedForm.pivot = updatedPivot;
|
|
1205
|
-
}
|
|
1206
|
-
else if (index !== undefined) {
|
|
1230
|
+
if (index !== undefined) {
|
|
1207
1231
|
// For dynamic array fields
|
|
1208
1232
|
const [field, subfield] = fieldName.split('.');
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1233
|
+
if (field === 'pivot' && !!subfield) {
|
|
1234
|
+
if (!selectedPivotTable) {
|
|
1235
|
+
return;
|
|
1236
|
+
}
|
|
1237
|
+
let newLabel = undefined;
|
|
1238
|
+
if (subfield === 'field') {
|
|
1212
1239
|
newLabel = snakeAndCamelCaseToTitleCase(value);
|
|
1213
1240
|
}
|
|
1241
|
+
const newColumns = selectedPivotTable.columns.map((col, i) => i === index
|
|
1242
|
+
? {
|
|
1243
|
+
...col,
|
|
1244
|
+
label: newLabel ? newLabel : col.label,
|
|
1245
|
+
[subfield]: value,
|
|
1246
|
+
}
|
|
1247
|
+
: col);
|
|
1248
|
+
setSelectedPivotTable({
|
|
1249
|
+
...selectedPivotTable,
|
|
1250
|
+
columns: newColumns,
|
|
1251
|
+
});
|
|
1214
1252
|
}
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1253
|
+
else {
|
|
1254
|
+
let newLabel = undefined;
|
|
1255
|
+
if (field === 'columns' && subfield === 'field') {
|
|
1256
|
+
if (!formData['columns'][index]?.label) {
|
|
1257
|
+
newLabel = snakeAndCamelCaseToTitleCase(value);
|
|
1258
|
+
}
|
|
1221
1259
|
}
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1260
|
+
// @ts-ignore
|
|
1261
|
+
const updatedArray = formData[field].map((item, i) => i === index
|
|
1262
|
+
? {
|
|
1263
|
+
...item,
|
|
1264
|
+
label: newLabel ? newLabel : item.label,
|
|
1265
|
+
[subfield]: value,
|
|
1266
|
+
}
|
|
1267
|
+
: item);
|
|
1268
|
+
updatedForm = { ...formData, [field]: updatedArray };
|
|
1269
|
+
setFormData(updatedForm);
|
|
1270
|
+
setChartTypes(getChartTypeOptions(updatedForm, dashboardConfig[updatedForm.dashboardName ?? '']));
|
|
1271
|
+
}
|
|
1226
1272
|
}
|
|
1227
1273
|
else if (fieldName.includes('.')) {
|
|
1228
1274
|
// For nested fields
|
|
1229
1275
|
const [field, subfield] = fieldName.split('.');
|
|
1230
|
-
if (field === '
|
|
1231
|
-
const subfieldTypeFieldName = subfield + 'Type';
|
|
1232
|
-
if (value.length) {
|
|
1233
|
-
const subFieldType = columns.find((columns) => columns.field === value).fieldType;
|
|
1234
|
-
updatedForm = {
|
|
1235
|
-
...updatedForm,
|
|
1236
|
-
// @ts-ignore
|
|
1237
|
-
[field]: {
|
|
1238
|
-
...updatedForm[field],
|
|
1239
|
-
[subfield]: value,
|
|
1240
|
-
[subfieldTypeFieldName]: subFieldType,
|
|
1241
|
-
},
|
|
1242
|
-
};
|
|
1243
|
-
}
|
|
1244
|
-
else {
|
|
1245
|
-
updatedForm = {
|
|
1246
|
-
...formData,
|
|
1247
|
-
// @ts-ignore
|
|
1248
|
-
[field]: {
|
|
1249
|
-
...formData[field],
|
|
1250
|
-
[subfield]: '',
|
|
1251
|
-
[subfieldTypeFieldName]: '',
|
|
1252
|
-
},
|
|
1253
|
-
};
|
|
1254
|
-
}
|
|
1255
|
-
}
|
|
1256
|
-
else if (field === 'dateField' &&
|
|
1276
|
+
if (field === 'dateField' &&
|
|
1257
1277
|
subfield === 'table' &&
|
|
1258
1278
|
!formData.dateField?.field) {
|
|
1259
1279
|
const field = schemaData.schemaWithCustomFields?.find((elem) => elem.name === value)?.columns?.[0]?.field;
|
|
@@ -1279,14 +1299,16 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1279
1299
|
updatedForm.xAxisFormat = 'whole_number';
|
|
1280
1300
|
const currentXAxisColumn = (selectedPivotTable?.columns ?? columns).find((c) => c.field === updatedForm.xAxisField);
|
|
1281
1301
|
if (!NUMBER_FORMAT_TYPES.includes(currentXAxisColumn?.format ?? '')) {
|
|
1282
|
-
updatedForm.xAxisField =
|
|
1302
|
+
updatedForm.xAxisField =
|
|
1303
|
+
(selectedPivotTable?.columns ?? columns).find((c) => NUMBER_FORMAT_TYPES.includes(c.format))?.field ?? updatedForm.xAxisField;
|
|
1283
1304
|
}
|
|
1284
1305
|
}
|
|
1285
1306
|
else if (value === 'gauge') {
|
|
1286
1307
|
updatedForm.xAxisFormat = 'percent';
|
|
1287
1308
|
const currentXAxisColumn = (selectedPivotTable?.columns ?? columns).find((c) => c.field === updatedForm.xAxisField);
|
|
1288
1309
|
if (!NUMBER_FORMAT_TYPES.includes(currentXAxisColumn?.format ?? '')) {
|
|
1289
|
-
updatedForm.xAxisField =
|
|
1310
|
+
updatedForm.xAxisField =
|
|
1311
|
+
(selectedPivotTable?.columns ?? columns).find((c) => NUMBER_FORMAT_TYPES.includes(c.format))?.field ?? updatedForm.xAxisField;
|
|
1290
1312
|
}
|
|
1291
1313
|
}
|
|
1292
1314
|
}
|
|
@@ -1328,9 +1350,11 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1328
1350
|
// This method is *potentially* flawed because it chooses the first matching field it finds
|
|
1329
1351
|
// which may not be robust to joins, aliases, disambiguations, etc.
|
|
1330
1352
|
// unfortunately the pivot doesn't store the table of the rowField so we can't do better
|
|
1331
|
-
const dateField = pivot.rowField && isDateField(pivot.rowFieldType ?? '')
|
|
1332
|
-
|
|
1333
|
-
|
|
1353
|
+
const dateField = pivot.rowField && isDateField(pivot.rowFieldType ?? '')
|
|
1354
|
+
? dateFieldOptions.find((table) => {
|
|
1355
|
+
return table.columns.find((col) => col.field === pivot.rowField);
|
|
1356
|
+
})
|
|
1357
|
+
: undefined;
|
|
1334
1358
|
setFormData((formData) => ({
|
|
1335
1359
|
...formData,
|
|
1336
1360
|
...newPivotFormData,
|
|
@@ -1489,6 +1513,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1489
1513
|
report: { ...newReport, rows: undefined, pivotRows: undefined }, // stop including rows in request
|
|
1490
1514
|
dashboardItemId,
|
|
1491
1515
|
client,
|
|
1516
|
+
getToken,
|
|
1492
1517
|
});
|
|
1493
1518
|
if (resp && resp.name !== 'error') {
|
|
1494
1519
|
const data = {
|
|
@@ -1548,9 +1573,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1548
1573
|
height: isHorizontalView || !isOpen ? '100%' : 800,
|
|
1549
1574
|
...(isHorizontalView && {
|
|
1550
1575
|
// flexGrow: 1,
|
|
1551
|
-
width: !isOpen
|
|
1552
|
-
? '100%'
|
|
1553
|
-
: `calc(100% - ${formWidth}px - 20px)`, // width of left sidebar plus gap
|
|
1576
|
+
width: !isOpen ? '100%' : `calc(100% - ${formWidth}px - 20px)`, // width of left sidebar plus gap
|
|
1554
1577
|
}),
|
|
1555
1578
|
...(!isHorizontalView && isOpen && { width: formWidth }),
|
|
1556
1579
|
}, children: [!isEditingMode && (report?.adminError || report?.error) ? (_jsx(ErrorComponent, { label: report.adminError || report.error, onClick: onClickChartError })) : ((isHorizontalView || (!isOpen && windowWidth > 1200)) && (_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
|
|
@@ -1564,7 +1587,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1564
1587
|
...(isHorizontalView && {
|
|
1565
1588
|
flexGrow: !['table'].includes(formData.chartType) ? 1 : 0,
|
|
1566
1589
|
}),
|
|
1567
|
-
}, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen }))),
|
|
1590
|
+
}, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange, layoutChanged: isOpen, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, LoadingComponent: LoadingComponent }))),
|
|
1568
1591
|
// Make sure to display non-pivoted table when using pivot chart
|
|
1569
1592
|
!hideChartView &&
|
|
1570
1593
|
(isHorizontalView || (!isOpen && windowWidth < 1200)) && (_jsxs("div", { style: {
|
|
@@ -1647,9 +1670,17 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1647
1670
|
}, options: dashboardOptions.map((elem) => ({
|
|
1648
1671
|
label: elem.label,
|
|
1649
1672
|
value: elem.label,
|
|
1650
|
-
})), width: 200 }) })), hideChartType ? (_jsx("div", { style: { width: 200 } })) : (_jsxs(_Fragment, { children: [_jsx("div", { ref: selectRef, style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Chart type", value: formData.chartType, onChange: (e) => handleChange(e.target.value, 'chartType'), options: chartTypes, width: 200 }) }), currentDashboard?.sectionOrder?.some((s) => s.section) && _jsx("div", { style: {
|
|
1673
|
+
})), width: 200 }) })), hideChartType ? (_jsx("div", { style: { width: 200 } })) : (_jsxs(_Fragment, { children: [_jsx("div", { ref: selectRef, style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Chart type", value: formData.chartType, onChange: (e) => handleChange(e.target.value, 'chartType'), options: chartTypes, width: 200 }) }), currentDashboard?.sectionOrder?.some((s) => s.section) && (_jsx("div", { style: {
|
|
1674
|
+
display: currentDashboard?.sectionOrder?.length
|
|
1675
|
+
? 'flex'
|
|
1676
|
+
: 'none',
|
|
1677
|
+
flexDirection: 'column',
|
|
1678
|
+
}, children: _jsx(SelectComponent, { label: "Section", value: formData.section ?? '', options: currentDashboard?.sectionOrder?.map((s) => ({
|
|
1679
|
+
label: s.section ? s.section : 'No section',
|
|
1680
|
+
value: s.section,
|
|
1681
|
+
})) ?? [], onChange: (e) => {
|
|
1651
1682
|
handleChange(e.target.value ?? '', 'section');
|
|
1652
|
-
}, width: 200, hideEmptyOption: true }) })] }))] }), hidePivotForm ? null : (_jsxs("div", { style: {
|
|
1683
|
+
}, width: 200, hideEmptyOption: true }) }))] }))] }), hidePivotForm ? null : (_jsxs("div", { style: {
|
|
1653
1684
|
display: 'flex',
|
|
1654
1685
|
flexDirection: 'column',
|
|
1655
1686
|
gap: 6,
|
|
@@ -1658,7 +1689,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1658
1689
|
// marginTop: 6,
|
|
1659
1690
|
display: 'flex',
|
|
1660
1691
|
flexDirection: 'column',
|
|
1661
|
-
}, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotAggregations: pivotAggregations, setPivotAggregations: setPivotAggregations, 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, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, 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: destinationDashboardName || '', dateFilter: filtersEnabled
|
|
1692
|
+
}, children: _jsx(PivotModal, { pivotRowField: pivotRowField, setPivotRowField: setPivotRowField, pivotColumnField: pivotColumnField, setPivotColumnField: setPivotColumnField, pivotAggregations: pivotAggregations, setPivotAggregations: setPivotAggregations, 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, SubheaderComponent: SubHeaderComponent, DeleteButtonComponent: DeleteButtonComponent, 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 ? { ...report, ...{ itemQuery } } : undefined, dashboardName: destinationDashboardName || '', dateFilter: filtersEnabled
|
|
1662
1693
|
? currentDashboardFilters?.find((f) => f.filterType === 'date_range')
|
|
1663
1694
|
: undefined }) }), formData.pivot && (_jsx("div", { children: _jsx("div", { style: { width: pivotCardWidth }, children: _jsx(PivotCard, { pivotTable: pivotCardTable, theme: theme, index: 0, onSelectPivot: () => {
|
|
1664
1695
|
setIsEdittingPivot(true);
|
|
@@ -1765,25 +1796,16 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1765
1796
|
selectedPivotTable.columns &&
|
|
1766
1797
|
formData.chartType === 'table'
|
|
1767
1798
|
? // THIS CASE IF FOR PIVOT TABLES ONLY
|
|
1768
|
-
selectedPivotTable.columns.map((column, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: column.
|
|
1769
|
-
label: elem.
|
|
1770
|
-
value: elem.
|
|
1771
|
-
})), width: 200 }), _jsx(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, '
|
|
1799
|
+
selectedPivotTable.columns.map((column, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: column.field, onChange: (e) => handleChange(e.target.value, 'pivot.field', index), options: selectedPivotTable.columns.map((elem) => ({
|
|
1800
|
+
label: elem.field,
|
|
1801
|
+
value: elem.field,
|
|
1802
|
+
})), disabled: index === 0, width: 200, hideEmptyOption: true }), _jsx(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'pivot.label', index) }), _jsx(SelectComponent, { value:
|
|
1772
1803
|
// The first index use rowField for the rest of them use value fields
|
|
1773
|
-
formData.pivot &&
|
|
1774
|
-
column.field === formData.pivot.rowField
|
|
1775
|
-
? formData.pivot &&
|
|
1776
|
-
isDateField(formData.pivot.rowFieldType || '')
|
|
1777
|
-
? 'string'
|
|
1778
|
-
: 'string'
|
|
1779
|
-
: formData.pivot?.aggregationType ===
|
|
1780
|
-
'percentage'
|
|
1781
|
-
? 'percent'
|
|
1782
|
-
: 'two_decimal_places', onChange: (e) => handleChange(e.target.value, 'pivotColumn', index), options: formData.pivot && index === 0
|
|
1804
|
+
column.format, onChange: (e) => handleChange(e.target.value, 'pivot.format', index), options: formData.pivot && index === 0
|
|
1783
1805
|
? isDateField(formData.pivot.rowFieldType || '')
|
|
1784
1806
|
? [{ label: 'date', value: 'string' }]
|
|
1785
1807
|
: [{ label: 'string', value: 'string' }]
|
|
1786
|
-
: [...NUMBER_OPTIONS], width: 200 })] }, 'column' + index)))
|
|
1808
|
+
: [...NUMBER_OPTIONS], width: 200, hideEmptyOption: true })] }, 'column' + index)))
|
|
1787
1809
|
: formData.columns.map((column, index) => (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: column.field, onChange: (e) => handleChange(e.target.value, 'columns.field', index), options: rows[0]
|
|
1788
1810
|
? Object.keys(rows[0]).map((elem) => ({
|
|
1789
1811
|
label: elem,
|
|
@@ -1792,7 +1814,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1792
1814
|
: columns.map((elem) => ({
|
|
1793
1815
|
label: elem.field,
|
|
1794
1816
|
value: elem.field,
|
|
1795
|
-
})), width: 200 }), _jsx(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'columns.label', index) }), _jsx(SelectComponent, { value: column.format, onChange: (e) => handleChange(e.target.value, 'columns.format', index), options: ALL_FORMAT_OPTIONS, width: 200 }), _jsx("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: _jsx(DeleteButtonComponent, { onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))), _jsx("div", { children: !(
|
|
1817
|
+
})), width: 200, hideEmptyOption: true }), _jsx(TextInputComponent, { id: `chart-builder-column-label-${index}`, width: 200, value: column.label, placeholder: "Column Label", onChange: (e) => handleChange(e.target.value, 'columns.label', index) }), _jsx(SelectComponent, { value: column.format, onChange: (e) => handleChange(e.target.value, 'columns.format', index), options: ALL_FORMAT_OPTIONS, width: 200, hideEmptyOption: true }), _jsx("div", { ref: deleteRef, style: { marginLeft: deleteButtonMargin }, children: _jsx(DeleteButtonComponent, { onClick: () => handleRemoveField('columns', index) }) })] }, 'column' + index))), _jsx("div", { children: !(
|
|
1796
1818
|
// hide when pivoted and chartType === 'table'
|
|
1797
1819
|
(formData.pivot &&
|
|
1798
1820
|
selectedPivotTable &&
|
|
@@ -1892,7 +1914,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1892
1914
|
label: t.label ?? t.flag,
|
|
1893
1915
|
value: t.flag,
|
|
1894
1916
|
})) ?? []), width: 200, emptyLabel: dashboardOwner.scope === 'database'
|
|
1895
|
-
? 'No
|
|
1917
|
+
? 'No tags supplied'
|
|
1896
1918
|
: undefined, allSelectedLabel: 'All ' + dashboardOwner.name + 's', style: {
|
|
1897
1919
|
display: customTenantAccess || containsCustomFields
|
|
1898
1920
|
? 'inline'
|
|
@@ -1916,6 +1938,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1916
1938
|
display: 'flex',
|
|
1917
1939
|
flexDirection: 'column',
|
|
1918
1940
|
gap: 6,
|
|
1941
|
+
marginBottom: 128,
|
|
1919
1942
|
}, children: [_jsx(HeaderComponent, { label: "Dashboard filter fields" }), isAdmin &&
|
|
1920
1943
|
formData.dateField &&
|
|
1921
1944
|
dashboardConfig[formData.dashboardName ?? destinationDashboardName ?? '']?.config.dateFilter?.label && (_jsxs(ChartBuilderInputRowContainer, { children: [_jsx(TextInputComponent, { id: 'filterMap.dateFilter.' +
|
|
@@ -1924,12 +1947,12 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1924
1947
|
?.config.dateFilter?.label ?? 'Date', width: 200, onChange: () => { }, label: 'Filter', disabled: true }), _jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Virtual Table", value: formData.dateField?.table, onChange: (e) => handleChange(e.target.value, 'dateField.table'), options: dateFieldOptions.map((elem) => ({
|
|
1925
1948
|
label: elem.name,
|
|
1926
1949
|
value: elem.name,
|
|
1927
|
-
})), width: 200 }) }), _jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Field", value: removeDoubleQuotes(formData.dateField?.field), onChange: (e) => handleChange(e.target.value, 'dateField.field'), options: dateFieldOptions
|
|
1950
|
+
})), width: 200, hideEmptyOption: true }) }), _jsx("div", { style: { display: 'flex', flexDirection: 'column' }, children: _jsx(SelectComponent, { label: "Field", value: removeDoubleQuotes(formData.dateField?.field), onChange: (e) => handleChange(e.target.value, 'dateField.field'), options: dateFieldOptions
|
|
1928
1951
|
?.find((elem) => elem.name === formData.dateField?.table)
|
|
1929
1952
|
?.columns?.map((elem) => ({
|
|
1930
1953
|
label: elem.field,
|
|
1931
1954
|
value: elem.field,
|
|
1932
|
-
})) || [], width: 200 }) }), (!formData.dateField?.table ||
|
|
1955
|
+
})) || [], width: 200, hideEmptyOption: true }) }), (!formData.dateField?.table ||
|
|
1933
1956
|
!formData.dateField?.field) && (_jsx("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: _jsx(ExclamationFilledIcon, { height: 28, width: 28, style: {
|
|
1934
1957
|
color: '#dc143c',
|
|
1935
1958
|
} }) }))] })), specificDashboardFilters.length > 0 && (_jsx("div", { style: {
|
|
@@ -1965,7 +1988,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1965
1988
|
}), options: allTables.map((elem) => ({
|
|
1966
1989
|
label: elem,
|
|
1967
1990
|
value: elem,
|
|
1968
|
-
})), width: 200 }), _jsx(SelectComponent, { label: index === 0 &&
|
|
1991
|
+
})), width: 200, hideEmptyOption: true }), _jsx(SelectComponent, { label: index === 0 &&
|
|
1969
1992
|
!(isAdmin &&
|
|
1970
1993
|
formData.dateField &&
|
|
1971
1994
|
dashboardConfig[formData.dashboardName ?? '']
|
|
@@ -1987,7 +2010,7 @@ destinationDashboard, onClickChartElement, isEditingMode = false, disableSort =
|
|
|
1987
2010
|
.map((elem) => ({
|
|
1988
2011
|
label: elem.label,
|
|
1989
2012
|
value: elem.field,
|
|
1990
|
-
})) ?? [], width: 200 }), !validFilter[filter.label] && (_jsx("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: _jsx(ExclamationFilledIcon, { height: 28, width: 28, style: {
|
|
2013
|
+
})) ?? [], width: 200, hideEmptyOption: true }), !validFilter[filter.label] && (_jsx("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: _jsx(ExclamationFilledIcon, { height: 28, width: 28, style: {
|
|
1991
2014
|
color: '#dc143c',
|
|
1992
2015
|
} }) }))] }, filter.label))) }))] })), isAdmin && !tenants && !flags && (_jsxs("div", { style: {
|
|
1993
2016
|
display: 'flex',
|
|
@@ -27,10 +27,10 @@ export interface ChartEditorProps {
|
|
|
27
27
|
/** A callback function triggered when the chart error button is clicked */
|
|
28
28
|
onClickChartError?: (element: any) => void;
|
|
29
29
|
/** A callback that is fired when the item is deleted. */
|
|
30
|
-
onDelete?: () => boolean
|
|
30
|
+
onDelete?: () => boolean | Promise<boolean>;
|
|
31
31
|
/** A select component. */
|
|
32
32
|
SelectComponent?: (props: {
|
|
33
|
-
value: string;
|
|
33
|
+
value: string | null | undefined;
|
|
34
34
|
label?: string;
|
|
35
35
|
options: {
|
|
36
36
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartEditor.d.ts","sourceRoot":"","sources":["../../src/ChartEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartEditor.d.ts","sourceRoot":"","sources":["../../src/ChartEditor.tsx"],"names":[],"mappings":"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"}
|