@quillsql/react 2.13.26 → 2.13.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +2 -2
- package/dist/cjs/ChartBuilder.d.ts +20 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +130 -36
- package/dist/cjs/ChartEditor.d.ts +5 -3
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +4 -5
- package/dist/cjs/Context.d.ts +15 -4
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +37 -60
- package/dist/cjs/Dashboard.d.ts +4 -0
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +78 -23
- package/dist/cjs/QuillProvider.d.ts +12 -9
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts +9 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +198 -80
- package/dist/cjs/SQLEditor.d.ts +5 -1
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +81 -18
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +5 -4
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +106 -27
- package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/PieChart.js +10 -7
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +3 -2
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +65 -65
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +81 -34
- package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +6 -2
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +17 -18
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +9 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterModal.js +25 -3
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/FilterStack.js +2 -2
- package/dist/cjs/components/ReportBuilder/convert.d.ts +1 -0
- package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/convert.js +54 -4
- package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -1
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +3 -2
- package/dist/cjs/components/UiComponents.d.ts +1 -0
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.d.ts +1 -1
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +6 -5
- package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -1
- package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/cjs/hooks/useAstToFilterTree.js +3 -3
- package/dist/cjs/hooks/useDashboard.d.ts +5 -2
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +21 -7
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +6 -4
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +8 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +59 -30
- package/dist/cjs/models/Client.d.ts +22 -3
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/models/Dashboard.d.ts +1 -0
- package/dist/cjs/models/Dashboard.d.ts.map +1 -1
- package/dist/cjs/models/Report.d.ts +4 -0
- package/dist/cjs/models/Report.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.d.ts +3 -2
- package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astFilterProcessing.js +3323 -977
- package/dist/cjs/utils/astProcessing.d.ts +1 -1
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +3 -2
- package/dist/cjs/utils/client.d.ts +4 -2
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +47 -1
- package/dist/cjs/utils/columnProcessing.d.ts +3 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +34 -1
- package/dist/cjs/utils/dashboard.d.ts +4 -3
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +10 -91
- package/dist/cjs/utils/dataFetcher.d.ts +3 -1
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.js +66 -30
- package/dist/cjs/utils/filterProcessing.d.ts +1 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +2 -0
- package/dist/cjs/utils/pivotConstructor.d.ts +4 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +7 -7
- package/dist/cjs/utils/pivotProcessing.d.ts +4 -1
- package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/pivotProcessing.js +27 -20
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +101 -85
- package/dist/cjs/utils/report.d.ts +17 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +23 -23
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +21 -21
- package/dist/cjs/utils/tableProcessing.d.ts +37 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +45 -38
- package/dist/cjs/utils/tenants.d.ts +11 -0
- package/dist/cjs/utils/tenants.d.ts.map +1 -0
- package/dist/cjs/utils/tenants.js +13 -0
- package/dist/cjs/utils/textProcessing.d.ts +1 -0
- package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/textProcessing.js +49 -0
- package/dist/cjs/utils/validation.js +1 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +2 -2
- package/dist/esm/ChartBuilder.d.ts +20 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +131 -40
- package/dist/esm/ChartEditor.d.ts +5 -3
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +5 -6
- package/dist/esm/Context.d.ts +15 -4
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +36 -59
- package/dist/esm/Dashboard.d.ts +4 -0
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +79 -24
- package/dist/esm/QuillProvider.d.ts +12 -9
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts +9 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +200 -84
- package/dist/esm/SQLEditor.d.ts +5 -1
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +80 -17
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +6 -5
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +107 -28
- package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/PieChart.js +10 -7
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts +3 -2
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +65 -65
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +82 -35
- package/dist/esm/components/Dashboard/MetricComponent.js +3 -3
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +6 -2
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +17 -18
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +9 -1
- package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterModal.js +26 -4
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/FilterStack.js +2 -2
- package/dist/esm/components/ReportBuilder/convert.d.ts +1 -0
- package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/convert.js +54 -5
- package/dist/esm/components/ReportBuilder/ui.d.ts +2 -1
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +4 -3
- package/dist/esm/components/UiComponents.d.ts +1 -0
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.d.ts +1 -1
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +7 -6
- package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -1
- package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
- package/dist/esm/hooks/useAstToFilterTree.js +3 -3
- package/dist/esm/hooks/useDashboard.d.ts +5 -2
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +21 -7
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +7 -5
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +8 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +59 -30
- package/dist/esm/models/Client.d.ts +22 -3
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/models/Dashboard.d.ts +1 -0
- package/dist/esm/models/Dashboard.d.ts.map +1 -1
- package/dist/esm/models/Report.d.ts +4 -0
- package/dist/esm/models/Report.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.d.ts +3 -2
- package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astFilterProcessing.js +3323 -977
- package/dist/esm/utils/astProcessing.d.ts +1 -1
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +4 -3
- package/dist/esm/utils/client.d.ts +4 -2
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +47 -1
- package/dist/esm/utils/columnProcessing.d.ts +3 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +31 -1
- package/dist/esm/utils/dashboard.d.ts +4 -3
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +10 -90
- package/dist/esm/utils/dataFetcher.d.ts +3 -1
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +65 -29
- package/dist/esm/utils/filterProcessing.d.ts +1 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +2 -0
- package/dist/esm/utils/pivotConstructor.d.ts +4 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +8 -8
- package/dist/esm/utils/pivotProcessing.d.ts +4 -1
- package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
- package/dist/esm/utils/pivotProcessing.js +27 -20
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +101 -85
- package/dist/esm/utils/report.d.ts +17 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +20 -23
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +21 -21
- package/dist/esm/utils/tableProcessing.d.ts +37 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +46 -39
- package/dist/esm/utils/tenants.d.ts +11 -0
- package/dist/esm/utils/tenants.d.ts.map +1 -0
- package/dist/esm/utils/tenants.js +9 -0
- package/dist/esm/utils/textProcessing.d.ts +1 -0
- package/dist/esm/utils/textProcessing.d.ts.map +1 -1
- package/dist/esm/utils/textProcessing.js +48 -0
- package/dist/esm/utils/validation.js +1 -1
- package/package.json +1 -1
package/dist/esm/ChartBuilder.js
CHANGED
|
@@ -1,7 +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, ThemeContext, } from './Context';
|
|
4
|
-
import { getDataFromCloud } from './utils/dataFetcher';
|
|
3
|
+
import { ClientContext, DashboardConfigContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
5
4
|
import { PivotModal, generatePivotTable, isDateField, } from './internals/ReportBuilder/PivotModal';
|
|
6
5
|
import { PivotCard } from './internals/ReportBuilder/PivotList';
|
|
7
6
|
import { MemoizedModal, QuillTextInput, MemoizedButton, MemoizedSecondaryButton, MemoizedHeader, MemoizedLabel, MemoizedDeleteButton, MemoizedText, MemoizedPopover, QuillTableComponent, QuillChartBuilderInputRowContainer, QuillChartBuilderInputColumnContainer, MemoizedSubHeader, QuillErrorMessageComponent, QuillPivotRowContainer, QuillPivotColumnContainer, QuillChartBuilderFormContainer, QuillLoadingComponent, } from './components/UiComponents';
|
|
@@ -14,16 +13,16 @@ import { convertFieldTypeToJSType, isStringType, } from './utils/columnProcessin
|
|
|
14
13
|
import { getSelectFromAST, getTablesHelper } from './utils/astProcessing';
|
|
15
14
|
import { validateReport } from './utils/validation';
|
|
16
15
|
import { QuillChartErrorWithAction } from './components/Chart/ChartError';
|
|
17
|
-
import { convertInternalReportToReport,
|
|
18
|
-
// fetchReport,
|
|
19
|
-
// fetchReportRowCount,
|
|
20
|
-
saveReport, } from './utils/report';
|
|
16
|
+
import { convertInternalReportToReport, saveReport } from './utils/report';
|
|
21
17
|
import { mergeComparisonRange } from './utils/merge';
|
|
22
18
|
import { ExclamationFilledIcon } from './assets';
|
|
23
19
|
import InternalChart from './components/Chart/InternalChart';
|
|
24
20
|
import { shouldFetchMore, shouldSortInMemory, } from './utils/paginationProcessing';
|
|
25
21
|
import { fetchResultsByQuery, getUniqueValuesByColumns, } from './utils/tableProcessing';
|
|
26
22
|
import { getDateBucketFromRange } from './utils/dates';
|
|
23
|
+
import { QuillMultiSelectComponentWithCombo } from './components/QuillMultiSelectWithCombo';
|
|
24
|
+
import { asSingleDatabaseTenant } from './utils/tenants';
|
|
25
|
+
import { useQuillCloud } from './utils/dataFetcher';
|
|
27
26
|
const CHART_TYPES = ['column', 'line', 'table', 'metric', 'bar', 'pie'];
|
|
28
27
|
const CHART_TO_LABELS = {
|
|
29
28
|
column: { xAxisLabel: 'X-Axis', yAxisLabel: 'Y-Axis' },
|
|
@@ -96,17 +95,6 @@ function getChartTypeOptions(formData, dashboard) {
|
|
|
96
95
|
.map((elem) => ({ label: elem, value: elem }));
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
|
-
async function getReferencedTables(client, sqlQuery, dbTables) {
|
|
100
|
-
const resp = await getDataFromCloud(client, `astify`, {
|
|
101
|
-
query: sqlQuery,
|
|
102
|
-
publicKey: client.publicKey,
|
|
103
|
-
useNewNodeSql: true,
|
|
104
|
-
});
|
|
105
|
-
if (resp.success === false) {
|
|
106
|
-
return getTablesHelper(getSelectFromAST({}), dbTables);
|
|
107
|
-
}
|
|
108
|
-
return getTablesHelper(getSelectFromAST(resp.ast), dbTables);
|
|
109
|
-
}
|
|
110
98
|
function createReportFromForm(formData, report, selectedPivotTable, rows = [], filtersApplied = []) {
|
|
111
99
|
const newReport = convertInternalReportToReport(mergeComparisonRange({
|
|
112
100
|
...formData,
|
|
@@ -243,14 +231,16 @@ export function ChartBuilderWithModal(props) {
|
|
|
243
231
|
* ### Chart Builder API
|
|
244
232
|
* @see https://docs.quillsql.com/components/chart-builder
|
|
245
233
|
*/
|
|
246
|
-
export default function ChartBuilder({ TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, LabelComponent = MemoizedLabel, DeleteButtonComponent = MemoizedDeleteButton, TextComponent = MemoizedText, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, TableComponent = QuillTableComponent, ModalComponent = MemoizedModal, LoadingComponent = QuillLoadingComponent, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, FormContainer = QuillChartBuilderFormContainer, ErrorComponent = QuillChartErrorWithAction, onClickChartError, isOpen, isHorizontalView = true, setIsOpen, queryNoDateColumn, dateRange, isAdmin = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, recommendedPivots: rp = [], createdPivots: cp = [], dateColumn, buttonLabel, organizationName, hideDeleteButton = false, hideSubmitButton = false, hideDateRangeFilter = false, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled = true, filtersEnabled, onFiltersEnabledChanged,
|
|
234
|
+
export default function ChartBuilder({ TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, MultiSelectComponent = QuillMultiSelectComponentWithCombo, ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, LabelComponent = MemoizedLabel, DeleteButtonComponent = MemoizedDeleteButton, TextComponent = MemoizedText, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, TableComponent = QuillTableComponent, ModalComponent = MemoizedModal, LoadingComponent = QuillLoadingComponent, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, FormContainer = QuillChartBuilderFormContainer, ErrorComponent = QuillChartErrorWithAction, onClickChartError, isOpen, isHorizontalView = true, setIsOpen, queryNoDateColumn, dateRange, isAdmin = false, showDashboardDropdown = true, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, recommendedPivots: rp = [], createdPivots: cp = [], dateColumn, buttonLabel, organizationName, hideDeleteButton = false, hideSubmitButton = false, hideDateRangeFilter = false, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled = true, filtersEnabled, onFiltersEnabledChanged,
|
|
247
235
|
// isLoading,
|
|
248
|
-
onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
236
|
+
onClickChartElement, isEditingMode = false, disableSort = true, flagsList, }) {
|
|
249
237
|
const [client] = useContext(ClientContext);
|
|
250
238
|
const [theme] = useContext(ThemeContext);
|
|
251
239
|
const [schemaData] = useContext(SchemaDataContext);
|
|
252
240
|
const [dashboard, dispatch] = useContext(DashboardContext);
|
|
253
241
|
const { dashboardConfig } = useContext(DashboardConfigContext);
|
|
242
|
+
const { tenants, flags } = useContext(TenantContext);
|
|
243
|
+
const { getDataFromCloud } = useQuillCloud();
|
|
254
244
|
const report = useMemo(() => {
|
|
255
245
|
return dashboard[TEMP_REPORT_ID] ?? dashboard[reportId ?? TEMP_REPORT_ID];
|
|
256
246
|
}, [reportId]);
|
|
@@ -399,6 +389,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
399
389
|
},
|
|
400
390
|
};
|
|
401
391
|
const [currentProcessing, setCurrentProcessing] = useState(baseProcessing);
|
|
392
|
+
const [customTenantAccess, setCustomTenantAccess] = useState(!!Object.values(report?.flags ?? {}).length);
|
|
402
393
|
// initial state is the fields array passed in, but can eventually be changed to be the pivot fields
|
|
403
394
|
const [dateFieldOptions, setDateFieldOptions] = useState([]);
|
|
404
395
|
const [allTables, setAllTables] = useState([]);
|
|
@@ -424,6 +415,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
424
415
|
return acc;
|
|
425
416
|
}, {});
|
|
426
417
|
}, [currentDashboardFilters, filterMap, allTables]);
|
|
418
|
+
const [formFlags, setFormFlags] = useState(report?.flags);
|
|
427
419
|
const [defaultDateField, setDefaultDateField] = useState({
|
|
428
420
|
table: dateFieldOptions[0]?.name || '',
|
|
429
421
|
field: dateFieldOptions[0]?.columns[0]?.field || '',
|
|
@@ -457,7 +449,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
457
449
|
if (!client) {
|
|
458
450
|
return;
|
|
459
451
|
}
|
|
460
|
-
const { queryEndpoint, queryHeaders, publicKey,
|
|
452
|
+
const { queryEndpoint, queryHeaders, publicKey, withCredentials, } = client;
|
|
461
453
|
if (queryEndpoint) {
|
|
462
454
|
const response = await fetch(queryEndpoint, {
|
|
463
455
|
method: 'POST',
|
|
@@ -467,12 +459,12 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
467
459
|
},
|
|
468
460
|
body: JSON.stringify({
|
|
469
461
|
metadata: {
|
|
470
|
-
orgId: organizationId || '*',
|
|
471
462
|
task: 'dashboard',
|
|
472
463
|
name: dashboardName,
|
|
473
464
|
clientId: publicKey,
|
|
474
465
|
databaseType: client.databaseType,
|
|
475
466
|
useNewNodeSql: true,
|
|
467
|
+
tenants,
|
|
476
468
|
},
|
|
477
469
|
}),
|
|
478
470
|
credentials: withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
|
|
@@ -519,6 +511,17 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
519
511
|
],
|
|
520
512
|
};
|
|
521
513
|
};
|
|
514
|
+
const getReferencedTables = async (client, sqlQuery, dbTables) => {
|
|
515
|
+
const resp = await getDataFromCloud(client, `astify`, {
|
|
516
|
+
query: sqlQuery,
|
|
517
|
+
publicKey: client.publicKey,
|
|
518
|
+
useNewNodeSql: true,
|
|
519
|
+
});
|
|
520
|
+
if (resp.success === false) {
|
|
521
|
+
return getTablesHelper(getSelectFromAST({}), dbTables);
|
|
522
|
+
}
|
|
523
|
+
return getTablesHelper(getSelectFromAST(resp.ast), dbTables);
|
|
524
|
+
};
|
|
522
525
|
const formFormDataFromReport = (report) => {
|
|
523
526
|
let pivotData = {};
|
|
524
527
|
let dateField = defaultDateField;
|
|
@@ -537,6 +540,12 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
537
540
|
};
|
|
538
541
|
};
|
|
539
542
|
const [formData, setFormData] = useState(formFormDataFromReport(report));
|
|
543
|
+
const currentDashboard = useMemo(() => {
|
|
544
|
+
return dashboardConfig[formData.dashboardName ?? report?.dashboardName ?? '']?.config;
|
|
545
|
+
}, [dashboardConfig, formData.dashboardName, report?.dashboardName]);
|
|
546
|
+
const currentDashboardTenants = useMemo(() => {
|
|
547
|
+
return (currentDashboard?.tenantKeys?.map((tenantKey) => client?.allTenantTypes?.find((t) => t.tenantField === tenantKey)) ?? []);
|
|
548
|
+
}, [tenants]);
|
|
540
549
|
const invalidColumns = useMemo(() => {
|
|
541
550
|
if (!rows || !rows.length) {
|
|
542
551
|
return [];
|
|
@@ -614,9 +623,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
614
623
|
break;
|
|
615
624
|
}
|
|
616
625
|
}
|
|
617
|
-
setCustomFieldTableRef(customFieldUsage
|
|
618
|
-
!!client.organizationId &&
|
|
619
|
-
client.organizationId !== '*');
|
|
626
|
+
setCustomFieldTableRef(customFieldUsage);
|
|
620
627
|
const referencedColumns = result.referencedTablesAndColumns.reduce((acc, table) => {
|
|
621
628
|
acc[table.name] = table.columns.map((col) => col.field);
|
|
622
629
|
return acc;
|
|
@@ -659,12 +666,12 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
659
666
|
};
|
|
660
667
|
}, [selectedPivotTable, formData.pivot]);
|
|
661
668
|
const chartData = useMemo(() => {
|
|
662
|
-
const data = createReportFromForm(formData, report, selectedPivotTable, rows, currentDashboardFilters);
|
|
669
|
+
const data = createReportFromForm(formData, report ? { ...report, rowCount } : undefined, selectedPivotTable, rows, currentDashboardFilters);
|
|
663
670
|
return {
|
|
664
671
|
...data,
|
|
665
672
|
filterMap: canonicalFilterMap,
|
|
666
673
|
};
|
|
667
|
-
}, [formData, selectedPivotTable, report, rows]);
|
|
674
|
+
}, [formData, selectedPivotTable, report, rows, rowCount]);
|
|
668
675
|
const fetchPivotData = async (pivot, tableInfo, uniqueValues, overrideFilters) => {
|
|
669
676
|
const dashboardFilters = filtersEnabled
|
|
670
677
|
? (overrideFilters ?? currentDashboardFilters)
|
|
@@ -688,6 +695,8 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
688
695
|
report: { ...report, ...(tableInfo ?? { itemQuery }) },
|
|
689
696
|
client,
|
|
690
697
|
uniqueValues,
|
|
698
|
+
dashboardName: destinationDashboard,
|
|
699
|
+
tenants,
|
|
691
700
|
});
|
|
692
701
|
setSelectedPivotTable(pivotTable);
|
|
693
702
|
}
|
|
@@ -754,8 +763,8 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
754
763
|
return;
|
|
755
764
|
}
|
|
756
765
|
setRowCountIsLoading(true);
|
|
757
|
-
const tableInfo = await fetchResultsByQuery(query, client, processing, schemaData.customFields, filtersEnabled ? overrideFilters : undefined, filtersEnabled ? (report?.dateField ?? formData.dateField) : undefined, false, true, canonicalFilterMap);
|
|
758
|
-
if (tableInfo.rowCount) {
|
|
766
|
+
const tableInfo = await fetchResultsByQuery(query, client, tenants, processing, schemaData.customFields, filtersEnabled ? overrideFilters : undefined, filtersEnabled ? (report?.dateField ?? formData.dateField) : undefined, false, true, canonicalFilterMap);
|
|
767
|
+
if (tableInfo.rowCount !== undefined) {
|
|
759
768
|
setRowCount(tableInfo.rowCount);
|
|
760
769
|
}
|
|
761
770
|
setRowCountIsLoading(false);
|
|
@@ -792,7 +801,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
792
801
|
}
|
|
793
802
|
try {
|
|
794
803
|
setIsLoading(true);
|
|
795
|
-
const tableInfo = await fetchResultsByQuery(query, client, processing, schemaData.customFields, filtersEnabled ? overrideFilters : undefined, filtersEnabled ? (report?.dateField ?? formData.dateField) : undefined, true, false, canonicalFilterMap);
|
|
804
|
+
const tableInfo = await fetchResultsByQuery(query, client, tenants, processing, schemaData.customFields, filtersEnabled ? overrideFilters : undefined, filtersEnabled ? (report?.dateField ?? formData.dateField) : undefined, true, false, canonicalFilterMap, destinationDashboard);
|
|
796
805
|
setCurrentProcessing(processing);
|
|
797
806
|
setRows(tableInfo.rows);
|
|
798
807
|
setProcessedColumns(processColumns(tableInfo.columns));
|
|
@@ -800,7 +809,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
800
809
|
fetchRowCount(processing, overrideFilters);
|
|
801
810
|
if (formData.pivot) {
|
|
802
811
|
try {
|
|
803
|
-
const uniqueValues = await getUniqueValuesByColumns(tableInfo.columns.filter((column) => column.field === formData.pivot?.columnField), report.queryString, tableInfo.rows, client, schemaData.customFields ?? [], overrideFilters);
|
|
812
|
+
const uniqueValues = await getUniqueValuesByColumns(tableInfo.columns.filter((column) => column.field === formData.pivot?.columnField), report.queryString, tableInfo.rows, client, tenants, schemaData.customFields ?? [], overrideFilters, destinationDashboard);
|
|
804
813
|
fetchPivotData(formData.pivot, tableInfo, uniqueValues, overrideFilters);
|
|
805
814
|
}
|
|
806
815
|
catch (e) {
|
|
@@ -851,9 +860,9 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
851
860
|
setIsLoading(true);
|
|
852
861
|
try {
|
|
853
862
|
const updatedProcessing = { ...currentProcessing, ...processing };
|
|
854
|
-
const paginatedRows = await fetchResultsByQuery(query, client, updatedProcessing, schemaData.customFields, filtersEnabled ? currentDashboardFilters : undefined, filtersEnabled
|
|
863
|
+
const paginatedRows = await fetchResultsByQuery(query, client, tenants, updatedProcessing, schemaData.customFields, filtersEnabled ? currentDashboardFilters : undefined, filtersEnabled
|
|
855
864
|
? (report?.dateField ?? formData.dateField)
|
|
856
|
-
: undefined, false, false, canonicalFilterMap);
|
|
865
|
+
: undefined, false, false, canonicalFilterMap, destinationDashboard);
|
|
857
866
|
if (paginatedRows.error) {
|
|
858
867
|
throw new Error('Error fetching chart');
|
|
859
868
|
}
|
|
@@ -1087,7 +1096,12 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1087
1096
|
pivot: formData.pivot,
|
|
1088
1097
|
referencedTables: allTables,
|
|
1089
1098
|
referencedColumns,
|
|
1090
|
-
template:
|
|
1099
|
+
template: tenants
|
|
1100
|
+
? undefined
|
|
1101
|
+
: report && !isAdmin && formData.template
|
|
1102
|
+
? false
|
|
1103
|
+
: formData.template,
|
|
1104
|
+
reportFlags: formFlags,
|
|
1091
1105
|
};
|
|
1092
1106
|
const resp = await saveReport({
|
|
1093
1107
|
report: newReport,
|
|
@@ -1197,7 +1211,15 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1197
1211
|
paddingTop: modalPadding,
|
|
1198
1212
|
paddingBottom: modalPadding,
|
|
1199
1213
|
}),
|
|
1200
|
-
}, children: [_jsxs(FormContainer, { children: [
|
|
1214
|
+
}, children: [_jsxs(FormContainer, { children: [(formData.pivot || formData.chartType !== 'table') && windowWidth < 1200 &&
|
|
1215
|
+
_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
|
|
1216
|
+
onFiltersEnabledChanged(hide);
|
|
1217
|
+
}, colors: theme?.chartColors, loading: false, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
|
|
1218
|
+
width: '100%',
|
|
1219
|
+
height: 500,
|
|
1220
|
+
flexGrow: 1,
|
|
1221
|
+
marginBottom: 20,
|
|
1222
|
+
}, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange }), _jsxs(ChartBuilderInputRowContainer, { children: [_jsx("div", { ref: inputRef, style: { display: 'flex', flexDirection: 'column' }, children: _jsx(TextInputComponent
|
|
1201
1223
|
// {...autofocusRefProp}
|
|
1202
1224
|
, {
|
|
1203
1225
|
// {...autofocusRefProp}
|
|
@@ -1219,7 +1241,7 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1219
1241
|
// marginTop: 6,
|
|
1220
1242
|
display: 'flex',
|
|
1221
1243
|
flexDirection: 'column',
|
|
1222
|
-
}, 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 }) }), formData.pivot && (_jsx("div", { children: _jsx("div", { style: { width: pivotCardWidth }, children: _jsx(PivotCard, { pivotTable: pivotCardTable, theme: theme, index: 0, onSelectPivot: () => {
|
|
1244
|
+
}, 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 }) }), formData.pivot && (_jsx("div", { children: _jsx("div", { style: { width: pivotCardWidth }, children: _jsx(PivotCard, { pivotTable: pivotCardTable, theme: theme, index: 0, onSelectPivot: () => {
|
|
1223
1245
|
setIsEdittingPivot(true);
|
|
1224
1246
|
setShowPivotPopover(true);
|
|
1225
1247
|
setPivotRowField(formData.pivot?.rowField);
|
|
@@ -1228,13 +1250,13 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1228
1250
|
setPivotValueField2(formData.pivot?.valueField2);
|
|
1229
1251
|
setPivotAggregation(formData.pivot?.aggregationType);
|
|
1230
1252
|
setPivotPopUpTitle('Edit pivot');
|
|
1231
|
-
}, selectedPivotIndex: -1, onEditPivot: () => { }, CardComponent: CardComponent, ButtonComponent: ButtonComponent, HeaderComponent: HeaderComponent, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: LabelComponent, TextComponent: TextComponent }) }) }))] })] }), (formData.pivot || formData.chartType !== 'table') && (_jsxs("div", { children: [windowWidth < 1200 && _jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
|
|
1253
|
+
}, selectedPivotIndex: -1, onEditPivot: () => { }, CardComponent: CardComponent, ButtonComponent: ButtonComponent, HeaderComponent: HeaderComponent, showEdit: false, onClose: handleDeletePivot, minHeight: 180, LabelComponent: LabelComponent, TextComponent: TextComponent }) }) }))] })] }), (formData.pivot || formData.chartType !== 'table') && (_jsxs("div", { children: [windowWidth < 1200 && (_jsx(InternalChart, { report: chartData, filtersEnabled: filtersEnabled, setFiltersEnabled: (hide) => {
|
|
1232
1254
|
onFiltersEnabledChanged(hide);
|
|
1233
1255
|
}, colors: theme?.chartColors, loading: false, hideDateRangeFilter: hideDateRangeFilter, isAdmin: isAdmin, containerStyle: {
|
|
1234
1256
|
width: '100%',
|
|
1235
1257
|
height: 500,
|
|
1236
1258
|
flexGrow: 1,
|
|
1237
|
-
}, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange }), CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsx("div", { style: {
|
|
1259
|
+
}, onClickChartElement: onClickChartElement, filterToggleDisabled: Object.values(validFilter).includes(false), onDashboardFilterChange: onDashboardFilterChange })), CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsx("div", { style: {
|
|
1238
1260
|
display: 'flex',
|
|
1239
1261
|
flexDirection: 'column',
|
|
1240
1262
|
}, children: _jsx(HeaderComponent, { label: "Chart" }) })), CHART_TO_LABELS[formData.chartType]?.xAxisLabel && (_jsxs("div", { children: [_jsx(SubHeaderComponent, { label: CHART_TO_LABELS[formData.chartType]?.xAxisLabel ?? '' }), _jsxs(ChartBuilderInputRowContainer, { children: [_jsx(SelectComponent, { value: formData.xAxisField, onChange: (e) => handleChange(e.target.value, 'xAxisField'), options: formData.pivot
|
|
@@ -1409,11 +1431,77 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1409
1431
|
value: elem.field,
|
|
1410
1432
|
})) ?? [], width: 200 }), !validFilter[filter.label] && (_jsx("div", { style: { marginBottom: 8, marginTop: 'auto' }, children: _jsx(ExclamationFilledIcon, { height: 28, width: 28, style: {
|
|
1411
1433
|
color: '#dc143c',
|
|
1412
|
-
} }) }))] }, filter.label))) }))] })), isAdmin && !
|
|
1434
|
+
} }) }))] }, filter.label))) }))] })), isAdmin && !tenants && !flags && (_jsxs("div", { style: {
|
|
1413
1435
|
display: 'flex',
|
|
1414
1436
|
flexDirection: 'column',
|
|
1415
1437
|
gap: 12,
|
|
1416
|
-
}, children: [_jsx(HeaderComponent, { label: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template || !organizationName, theme: theme ?? undefined, organizationName: organizationName, customFieldTableRef: customFieldTableRef })] }))
|
|
1438
|
+
}, children: [_jsx(HeaderComponent, { label: "Organization access" }), _jsx(SegmentedControl, { onChange: (e) => handleChange(e, 'template'), value: formData.template || !organizationName, theme: theme ?? undefined, organizationName: organizationName, customFieldTableRef: customFieldTableRef })] })), isAdmin && tenants && currentDashboard?.tenantKeys?.length && (_jsxs("div", { style: {
|
|
1439
|
+
display: 'flex',
|
|
1440
|
+
flexDirection: 'column',
|
|
1441
|
+
gap: 12,
|
|
1442
|
+
marginBottom: 64,
|
|
1443
|
+
}, children: [_jsx(HeaderComponent, { label: "Tenant access" }), currentDashboard?.tenantKeys?.map((tenantKey, index) => (_jsxs("div", { style: {
|
|
1444
|
+
display: 'flex',
|
|
1445
|
+
flexDirection: 'row',
|
|
1446
|
+
gap: 16,
|
|
1447
|
+
}, children: [_jsxs("div", { style: {
|
|
1448
|
+
outline: '1px solid #E7E7E7',
|
|
1449
|
+
borderRadius: 6,
|
|
1450
|
+
padding: 4,
|
|
1451
|
+
display: 'flex',
|
|
1452
|
+
flexDirection: 'row',
|
|
1453
|
+
marginLeft: 2,
|
|
1454
|
+
backgroundColor: '#FCFCFC',
|
|
1455
|
+
height: 40,
|
|
1456
|
+
}, children: [_jsx("button", { onClick: () => {
|
|
1457
|
+
setCustomTenantAccess(false);
|
|
1458
|
+
setFormFlags(undefined);
|
|
1459
|
+
}, style: {
|
|
1460
|
+
width: 120,
|
|
1461
|
+
outline: !customTenantAccess
|
|
1462
|
+
? '1px solid #E7E7E7'
|
|
1463
|
+
: undefined,
|
|
1464
|
+
backgroundColor: !customTenantAccess
|
|
1465
|
+
? 'white'
|
|
1466
|
+
: undefined,
|
|
1467
|
+
// Center text vertically and horizontally
|
|
1468
|
+
display: 'flex',
|
|
1469
|
+
justifyContent: 'center',
|
|
1470
|
+
alignItems: 'center',
|
|
1471
|
+
borderRadius: 6,
|
|
1472
|
+
fontSize: 14,
|
|
1473
|
+
userSelect: 'none',
|
|
1474
|
+
}, children: "Global" }), _jsx("button", { onClick: () => setCustomTenantAccess(true), style: {
|
|
1475
|
+
width: 120,
|
|
1476
|
+
outline: customTenantAccess
|
|
1477
|
+
? '1px solid #E7E7E7'
|
|
1478
|
+
: undefined,
|
|
1479
|
+
backgroundColor: customTenantAccess
|
|
1480
|
+
? 'white'
|
|
1481
|
+
: undefined,
|
|
1482
|
+
// Center text vertically and horizontally
|
|
1483
|
+
display: 'flex',
|
|
1484
|
+
justifyContent: 'center',
|
|
1485
|
+
alignItems: 'center',
|
|
1486
|
+
borderRadius: 6,
|
|
1487
|
+
fontSize: 14,
|
|
1488
|
+
userSelect: 'none',
|
|
1489
|
+
}, children: "Custom" })] }), customTenantAccess && (_jsx(MultiSelectComponent, { value: formFlags?.[tenantKey] ?? [], onChange: (e) => setFormFlags({
|
|
1490
|
+
...formFlags,
|
|
1491
|
+
[tenantKey]: e.target.value,
|
|
1492
|
+
}), options: asSingleDatabaseTenant(client ?? undefined)
|
|
1493
|
+
? (flagsList?.map((f) => ({
|
|
1494
|
+
label: f,
|
|
1495
|
+
value: f,
|
|
1496
|
+
})) ?? [])
|
|
1497
|
+
: (currentDashboardTenants[index]?.tenantIds
|
|
1498
|
+
?.filter((t) => t.flag !== undefined)
|
|
1499
|
+
.map((t) => ({
|
|
1500
|
+
label: t.label ?? t.flag,
|
|
1501
|
+
value: t.flag,
|
|
1502
|
+
})) ?? []), width: 200, emptyLabel: asSingleDatabaseTenant(client ?? undefined)
|
|
1503
|
+
? 'No flags supplied'
|
|
1504
|
+
: undefined })), (currentDashboard?.tenantKeys?.length ?? 0) > 1 && (_jsx("div", { style: { display: 'flex', marginTop: 'auto' }, children: _jsx(DeleteButtonComponent, { onClick: () => { } }) }))] }, tenantKey)))] }))] }), _jsxs("div", { style: {
|
|
1417
1505
|
display: 'flex',
|
|
1418
1506
|
flexDirection: 'row',
|
|
1419
1507
|
justifyContent: 'flex-end',
|
|
@@ -1440,7 +1528,10 @@ onClickChartElement, isEditingMode = false, disableSort = true, }) {
|
|
|
1440
1528
|
formData.dashboardName === '' ||
|
|
1441
1529
|
formData.chartType === '' ||
|
|
1442
1530
|
filterIssues.length !== 0 ||
|
|
1443
|
-
Object.values(validFilter).includes(false)
|
|
1531
|
+
Object.values(validFilter).includes(false) ||
|
|
1532
|
+
(currentDashboard?.tenantKeys &&
|
|
1533
|
+
customTenantAccess &&
|
|
1534
|
+
Object.values(formFlags ?? {}).every((value) => !value?.length)), label: buttonLabel
|
|
1444
1535
|
? buttonLabel
|
|
1445
1536
|
: report
|
|
1446
1537
|
? 'Save changes'
|
|
@@ -180,8 +180,10 @@ export interface ChartEditorProps {
|
|
|
180
180
|
hideDeleteButton?: boolean;
|
|
181
181
|
/** Whether to hide the submit button. */
|
|
182
182
|
hideSubmitButton?: boolean;
|
|
183
|
-
/**
|
|
184
|
-
|
|
183
|
+
/**
|
|
184
|
+
* A list of flags that can be applied to the report (for single tenant per database setups)
|
|
185
|
+
*/
|
|
186
|
+
flagsList?: string[];
|
|
185
187
|
}
|
|
186
188
|
/**
|
|
187
189
|
* ### Quill Chart Editor
|
|
@@ -209,5 +211,5 @@ export interface ChartEditorProps {
|
|
|
209
211
|
* ### Chart Editor API
|
|
210
212
|
* @see https://docs.quillsql.com/components/chart-editor
|
|
211
213
|
*/
|
|
212
|
-
export default function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, onClickChartElement, onClickChartError, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
214
|
+
export default function ChartEditor({ isOpen, reportId, isAdmin, chartBuilderTitle, chartBuilderButtonLabel, onAddToDashboardComplete, organizationName, isHorizontalView, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent, CardComponent, PopoverComponent, LoadingComponent, TableComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, ErrorMessageComponent, ChartBuilderFormContainer, ErrorComponent, hideDeleteButton, hideSubmitButton, onClickChartElement, onClickChartError, flagsList, }: ChartEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
213
215
|
//# sourceMappingURL=ChartEditor.d.ts.map
|
|
@@ -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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"}
|
package/dist/esm/ChartEditor.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useEffect, useMemo, useRef, useState, } from 'react';
|
|
3
3
|
import ChartBuilder from './ChartBuilder';
|
|
4
|
-
import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataContext, } from './Context';
|
|
4
|
+
import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataContext, TenantContext, } from './Context';
|
|
5
5
|
import { MemoizedModal, QuillChartBuilderFormContainer, QuillChartBuilderInputColumnContainer, QuillChartBuilderInputRowContainer, QuillErrorMessageComponent, QuillLoadingComponent, QuillPivotColumnContainer, QuillPivotRowContainer, QuillTableComponent, } from './components/UiComponents';
|
|
6
6
|
import { QuillCard } from './components/QuillCard';
|
|
7
7
|
import { TEMP_REPORT_ID } from './models/Report';
|
|
@@ -35,13 +35,12 @@ import { fetchReport } from './utils/report';
|
|
|
35
35
|
*/
|
|
36
36
|
export default function ChartEditor({ isOpen, reportId, isAdmin = false,
|
|
37
37
|
// isDashboardLoading,
|
|
38
|
-
chartBuilderTitle = 'Edit chart', chartBuilderButtonLabel, onAddToDashboardComplete, organizationName, isHorizontalView = true, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent = MemoizedModal, CardComponent = QuillCard, PopoverComponent, LoadingComponent = QuillLoadingComponent, TableComponent = QuillTableComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderFormContainer = QuillChartBuilderFormContainer, ErrorComponent = QuillChartErrorWithAction, hideDeleteButton = false, hideSubmitButton = false,
|
|
39
|
-
// hideOrganizationDetails = false,
|
|
40
|
-
onClickChartElement, onClickChartError, }) {
|
|
38
|
+
chartBuilderTitle = 'Edit chart', chartBuilderButtonLabel, onAddToDashboardComplete, organizationName, isHorizontalView = true, onDelete, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, TextComponent, DeleteButtonComponent, ModalComponent = MemoizedModal, CardComponent = QuillCard, PopoverComponent, LoadingComponent = QuillLoadingComponent, TableComponent = QuillTableComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderFormContainer = QuillChartBuilderFormContainer, ErrorComponent = QuillChartErrorWithAction, hideDeleteButton = false, hideSubmitButton = false, onClickChartElement, onClickChartError, flagsList, }) {
|
|
41
39
|
const parentRef = useRef(null);
|
|
42
40
|
const [modalWidth, setModalWidth] = useState(200);
|
|
43
41
|
const [modalHeight, setModalHeight] = useState(200);
|
|
44
42
|
const [dashboard, dispatch] = useContext(DashboardContext);
|
|
43
|
+
const { tenants, flags } = useContext(TenantContext);
|
|
45
44
|
const report = dashboard[reportId];
|
|
46
45
|
const [client, isClientLoading] = useContext(ClientContext);
|
|
47
46
|
const [schemaData] = useContext(SchemaDataContext);
|
|
@@ -92,7 +91,7 @@ onClickChartElement, onClickChartError, }) {
|
|
|
92
91
|
return newFilter;
|
|
93
92
|
})
|
|
94
93
|
: [];
|
|
95
|
-
const { report, error } = await fetchReport(reportId, client, true, minimalFilters, processing, undefined, schemaData.customFields, true);
|
|
94
|
+
const { report, error } = await fetchReport(reportId, client, tenants, flags, true, minimalFilters, processing, undefined, schemaData.customFields, true);
|
|
96
95
|
if (error) {
|
|
97
96
|
return;
|
|
98
97
|
}
|
|
@@ -118,5 +117,5 @@ onClickChartElement, onClickChartError, }) {
|
|
|
118
117
|
setChartBuilderKey(chartBuilderKey + 1);
|
|
119
118
|
}, title: chartBuilderTitle, buttonLabel: chartBuilderButtonLabel, organizationName: organizationName, hideSubmitButton: hideSubmitButton, hideDeleteButton: hideDeleteButton, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (value) => {
|
|
120
119
|
setFiltersEnabled(value);
|
|
121
|
-
}, FormContainer: ChartBuilderFormContainer, onClickChartElement: onClickChartElement }, reportId + chartBuilderKey)) : (_jsx("div", { style: { padding: 20 }, children: _jsx(QuillLoadingComponent, {}) })) }) }));
|
|
120
|
+
}, FormContainer: ChartBuilderFormContainer, onClickChartElement: onClickChartElement, flagsList: flagsList }, reportId + chartBuilderKey)) : (_jsx("div", { style: { padding: 20 }, children: _jsx(QuillLoadingComponent, {}) })) }) }));
|
|
122
121
|
}
|
package/dist/esm/Context.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ type DashboardFiltersState = {
|
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
92
|
};
|
|
93
|
-
type DashboardFiltersActionType = 'SET_INITIAL_DASHBOARD_FILTERS' | 'UPDATE_DASHBOARD_FILTER' | '
|
|
93
|
+
type DashboardFiltersActionType = 'SET_INITIAL_DASHBOARD_FILTERS' | 'UPDATE_DASHBOARD_FILTER' | 'ADD_DASHBOARD_FILTERS' | 'DELETE_DASHBOARD_FILTERS' | 'CLEAR_DASHBOARD_FILTERS';
|
|
94
94
|
type DashboardFiltersAction = {
|
|
95
95
|
type: DashboardFiltersActionType;
|
|
96
96
|
dashboardName?: string;
|
|
@@ -108,16 +108,27 @@ type DashboardFiltersAction = {
|
|
|
108
108
|
export declare const DashboardFiltersContext: React.Context<{
|
|
109
109
|
dashboardFilters: DashboardFiltersState;
|
|
110
110
|
dispatch: React.Dispatch<DashboardFiltersAction>;
|
|
111
|
-
loadFiltersForDashboard: (dashboardName: string, filters: DashboardFilter[], updatedFilterLabel?: string, customFilters?: InternalFilter[]) => void
|
|
111
|
+
loadFiltersForDashboard: (dashboardName: string, filters: DashboardFilter[], updatedFilterLabel?: string, customFilters?: InternalFilter[]) => Promise<void>;
|
|
112
112
|
}>;
|
|
113
|
-
export declare const
|
|
113
|
+
export declare const TenantContext: React.Context<{
|
|
114
|
+
tenants?: {
|
|
115
|
+
tenantField: string;
|
|
116
|
+
tenantIds: (string | number)[];
|
|
117
|
+
}[] | (string | number)[];
|
|
118
|
+
flags?: string[];
|
|
119
|
+
}>;
|
|
120
|
+
export declare const ContextProvider: ({ children, initialTheme, publicKey, queryEndpoint, queryHeaders, withCredentials, tenants, flags, }: {
|
|
114
121
|
children: React.ReactNode;
|
|
115
122
|
initialTheme: QuillTheme;
|
|
116
123
|
publicKey: string;
|
|
117
|
-
organizationId?: string;
|
|
118
124
|
queryEndpoint: string;
|
|
119
125
|
queryHeaders?: HeadersInit;
|
|
120
126
|
withCredentials?: boolean;
|
|
127
|
+
tenants?: {
|
|
128
|
+
tenantField: string;
|
|
129
|
+
tenantIds: (string | number)[];
|
|
130
|
+
}[] | (string | number)[] | (string | number)[];
|
|
131
|
+
flags?: string[];
|
|
121
132
|
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
122
133
|
export {};
|
|
123
134
|
//# sourceMappingURL=Context.d.ts.map
|
|
@@ -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":"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"}
|