@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAMZ,SAAS,EAGV,MAAM,OAAO,CAAC;AAYf,OAAO,EAmBL,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EAGZ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SQLEditor.d.ts","sourceRoot":"","sources":["../../src/SQLEditor.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/SQLEditor.js
CHANGED
|
@@ -3,8 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
4
4
|
import { useState, useContext, useEffect, useRef, useMemo, useCallback, } from 'react';
|
|
5
5
|
import MonacoEditor from '@monaco-editor/react';
|
|
6
|
-
import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataContext, ThemeContext, } from './Context';
|
|
7
|
-
import { getDataFromCloud } from './utils/dataFetcher';
|
|
6
|
+
import { ClientContext, DashboardContext, DashboardFiltersContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
8
7
|
import { ChartBuilderWithModal, createInitialFormData } from './ChartBuilder';
|
|
9
8
|
import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedModal, MemoizedPopover, MemoizedSecondaryButton, MemoizedSubHeader, MemoizedText, OverflowContainer, QuillChartBuilderFormContainer, QuillChartBuilderInputColumnContainer, QuillChartBuilderInputRowContainer, QuillErrorMessageComponent, QuillLoadingComponent, QuillPivotColumnContainer, QuillPivotRowContainer, QuillTableSQLEditorComponent, } from './components/UiComponents';
|
|
10
9
|
import { QuillTextInput } from './components/UiComponents';
|
|
@@ -19,6 +18,7 @@ import { shouldFetchMore, shouldSortInMemory, } from './utils/paginationProcessi
|
|
|
19
18
|
import { EMPTY_INTERNAL_REPORT, formatRowsFromReport } from './utils/report';
|
|
20
19
|
import { cleanDashboardItem } from './utils/dashboard';
|
|
21
20
|
import { createDebounce } from './lib';
|
|
21
|
+
import { useQuillCloud } from './utils/dataFetcher';
|
|
22
22
|
function defineEditorTheme(monaco, theme) {
|
|
23
23
|
monaco.editor.defineTheme('onedark', {
|
|
24
24
|
base: theme.darkMode ? 'vs-dark' : 'vs',
|
|
@@ -84,10 +84,12 @@ function setEditorTheme(_editor, monaco, schema, databaseType, clientName) {
|
|
|
84
84
|
* ### SQLEditor API
|
|
85
85
|
* @see https://docs.quillsql.com/components/sql-editor
|
|
86
86
|
*/
|
|
87
|
-
export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, TableComponent = QuillTableSQLEditorComponent, isNewQueryEnabled = false, LoadingComponent = QuillLoadingComponent, ModalComponent = MemoizedModal, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, ChartBuilderFormContainer = QuillChartBuilderFormContainer, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled = false, isAdminEnabled = false, chartBuilderTitle, runQueryOnMount = false, onAddToDashboardComplete, addToDashboardButtonLabel = 'Add to dashboard', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, onClickChartElement, }) {
|
|
87
|
+
export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryButtonComponent = MemoizedSecondaryButton, DeleteButtonComponent = MemoizedDeleteButton, TextInputComponent = QuillTextInput, SelectComponent = QuillSelectComponent, TableComponent = QuillTableSQLEditorComponent, isNewQueryEnabled = false, LoadingComponent = QuillLoadingComponent, ModalComponent = MemoizedModal, PopoverComponent = MemoizedPopover, CardComponent = QuillCard, LabelComponent = MemoizedLabel, HeaderComponent = MemoizedHeader, SubHeaderComponent = MemoizedSubHeader, TextComponent = MemoizedText, ErrorMessageComponent = QuillErrorMessageComponent, ChartBuilderInputRowContainer = QuillChartBuilderInputRowContainer, ChartBuilderInputColumnContainer = QuillChartBuilderInputColumnContainer, PivotRowContainer = QuillPivotRowContainer, PivotColumnContainer = QuillPivotColumnContainer, ChartBuilderFormContainer = QuillChartBuilderFormContainer, defaultQuery, destinationDashboard, onChangeQuery, onChangeData, onChangeColumns, onChangeFields, onDiscardChanges, onSaveChanges, onCloseChartBuilder, isChartBuilderEnabled = false, isAdminEnabled = false, chartBuilderTitle, runQueryOnMount = false, onAddToDashboardComplete, addToDashboardButtonLabel = 'Add to dashboard', report = undefined, organizationName = undefined, isChartBuilderHorizontalView = true, containerStyle = { height: '100vh' }, className, onClickChartElement, flagsList, }) {
|
|
88
88
|
const [sqlPrompt, setSqlPrompt] = useState('');
|
|
89
89
|
const [client] = useContext(ClientContext);
|
|
90
90
|
const [theme] = useContext(ThemeContext);
|
|
91
|
+
const { tenants } = useContext(TenantContext);
|
|
92
|
+
const { getDataFromCloud } = useQuillCloud();
|
|
91
93
|
const [query, setQuery] = useState(defaultQuery);
|
|
92
94
|
const [rows, setRows] = useState([]);
|
|
93
95
|
const [filtersEnabled, setFiltersEnabled] = useState(!!report);
|
|
@@ -99,6 +101,63 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
99
101
|
return Object.values(dashboardFilters[report?.dashboardName ?? destinationDashboard ?? ''] ??
|
|
100
102
|
{}).map((f) => f.filter);
|
|
101
103
|
}, [dashboardFilters, destinationDashboard]);
|
|
104
|
+
// TODO: revisit if application state should influence the default flags
|
|
105
|
+
// const { dashboardConfig } = useContext(DashboardConfigContext);
|
|
106
|
+
// const flagsToAdd: { [tenantField: string]: string[] } = useMemo(() => {
|
|
107
|
+
// if (client && asSingleDatabaseTenant(client))
|
|
108
|
+
// return { 'QUILL_SINGLE_TENANT': flags ?? {} } as { [tenantField: string]: string[] };
|
|
109
|
+
// const tenantKeys =
|
|
110
|
+
// dashboardConfig[report?.dashboardName ?? destinationDashboard ?? '']
|
|
111
|
+
// ?.config.tenantKeys ?? [];
|
|
112
|
+
// if (!tenantKeys.length) return {};
|
|
113
|
+
// // Tenants is either an array or an object. If it's an array, just map the ids to the first tenantKey in the config
|
|
114
|
+
// if (
|
|
115
|
+
// tenants &&
|
|
116
|
+
// (typeof tenants[0] === 'string' || typeof tenants[0] === 'number')
|
|
117
|
+
// ) {
|
|
118
|
+
// const dashboardOwner = tenantKeys[0]!;
|
|
119
|
+
// const tenantIds = (client?.allTenantTypes as QuillTenant[])?.find(
|
|
120
|
+
// (tt) => dashboardOwner === tt.tenantField,
|
|
121
|
+
// )?.tenantIds;
|
|
122
|
+
// return {
|
|
123
|
+
// [dashboardOwner]:
|
|
124
|
+
// tenantIds
|
|
125
|
+
// ?.filter(
|
|
126
|
+
// (tt) =>
|
|
127
|
+
// (tenants as (string | number)[]).includes(tt.id) && tt.flag,
|
|
128
|
+
// )
|
|
129
|
+
// ?.map((tt) => tt.flag!) ?? [],
|
|
130
|
+
// };
|
|
131
|
+
// }
|
|
132
|
+
// const tenantKeysSet = new Set(tenantKeys);
|
|
133
|
+
// return (
|
|
134
|
+
// (
|
|
135
|
+
// tenants as
|
|
136
|
+
// | { tenantField: string; tenantIds: (string | number)[] }[]
|
|
137
|
+
// | undefined
|
|
138
|
+
// )
|
|
139
|
+
// ?.filter((t) => tenantKeysSet.has(t.tenantField))
|
|
140
|
+
// .reduce(
|
|
141
|
+
// (acc, t) => {
|
|
142
|
+
// const tenantIds = new Set(t.tenantIds);
|
|
143
|
+
// acc[t.tenantField] =
|
|
144
|
+
// (client?.allTenantTypes as QuillTenant[])
|
|
145
|
+
// ?.find((tt) => t.tenantField === tt.tenantField)
|
|
146
|
+
// ?.tenantIds?.filter((tt) => tenantIds.has(tt.id) && tt.flag)
|
|
147
|
+
// ?.map((tt) => tt.flag!) ?? [];
|
|
148
|
+
// return acc;
|
|
149
|
+
// },
|
|
150
|
+
// {} as { [tenantField: string]: string[] },
|
|
151
|
+
// ) ?? {}
|
|
152
|
+
// );
|
|
153
|
+
// }, [
|
|
154
|
+
// tenants,
|
|
155
|
+
// flags,
|
|
156
|
+
// dashboardConfig,
|
|
157
|
+
// destinationDashboard,
|
|
158
|
+
// report?.dashboardName,
|
|
159
|
+
// client?.allTenantTypes,
|
|
160
|
+
// ]);
|
|
102
161
|
const [errorMessage, setErrorMessage] = useState('');
|
|
103
162
|
const [sqlResponseLoading, setSqlResponseLoading] = useState(false);
|
|
104
163
|
const [sqlQueryLoading, setSqlQueryLoading] = useState(false);
|
|
@@ -140,10 +199,18 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
140
199
|
rowsPerPage,
|
|
141
200
|
rowsPerRequest: Math.max(rowsPerPage * Math.floor(1000 / rowsPerPage), rowsPerPage * 10),
|
|
142
201
|
};
|
|
143
|
-
const [currentProcessing, setCurrentProcessing] = useState({
|
|
144
|
-
page: pagination,
|
|
145
|
-
});
|
|
146
202
|
const [currentPage, setCurrentPage] = useState(0);
|
|
203
|
+
const [currentSort, setCurrentSort] = useState(undefined);
|
|
204
|
+
const currentProcessing = useMemo(() => {
|
|
205
|
+
return {
|
|
206
|
+
page: {
|
|
207
|
+
currentPage,
|
|
208
|
+
rowsPerPage,
|
|
209
|
+
rowsPerRequest: Math.max(rowsPerPage * Math.floor(1000 / rowsPerPage), rowsPerPage * 10),
|
|
210
|
+
},
|
|
211
|
+
sort: currentSort,
|
|
212
|
+
};
|
|
213
|
+
}, [currentPage, rowsPerPage, currentSort]);
|
|
147
214
|
const displayedTableData = useMemo(() => {
|
|
148
215
|
return (schemaData?.schema?.filter((table) => {
|
|
149
216
|
return (table.name
|
|
@@ -203,7 +270,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
203
270
|
if (currentProcessing.page && shouldFetchMore(pagination, page, maxPage)) {
|
|
204
271
|
const newPagination = { ...currentProcessing.page, page };
|
|
205
272
|
const updatedProcessing = { ...currentProcessing, page: newPagination };
|
|
206
|
-
|
|
273
|
+
setCurrentPage(page);
|
|
207
274
|
handleRunQuery(updatedProcessing);
|
|
208
275
|
}
|
|
209
276
|
if (page > maxPage) {
|
|
@@ -216,7 +283,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
216
283
|
}
|
|
217
284
|
const updatedProcessing = { page: pagination, sort };
|
|
218
285
|
handleRunQuery(updatedProcessing, true);
|
|
219
|
-
|
|
286
|
+
setCurrentSort(sort);
|
|
220
287
|
setMaxPage(0);
|
|
221
288
|
};
|
|
222
289
|
const fetchRowCount = async (processing, includeFilters) => {
|
|
@@ -224,7 +291,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
224
291
|
return;
|
|
225
292
|
}
|
|
226
293
|
setRowCountIsLoading(true);
|
|
227
|
-
const tableInfo = await fetchResultsByQuery(query, client, processing, schemaData.customFields, includeFilters ? specificDashboardFilters : undefined, includeFilters ? (tempReport.dateField ?? report?.dateField) : undefined, false, true);
|
|
294
|
+
const tableInfo = await fetchResultsByQuery(query, client, tenants, processing, schemaData.customFields, includeFilters ? specificDashboardFilters : undefined, includeFilters ? (tempReport.dateField ?? report?.dateField) : undefined, false, true, undefined, destinationDashboard);
|
|
228
295
|
if (tableInfo.rowCount) {
|
|
229
296
|
setRowCount(tableInfo.rowCount);
|
|
230
297
|
}
|
|
@@ -246,7 +313,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
246
313
|
setCurrentPage(0);
|
|
247
314
|
setMaxPage(1);
|
|
248
315
|
}
|
|
249
|
-
const tableInfo = await fetchResultsByQuery(query, client, processing, schemaData.customFields, undefined, undefined, true);
|
|
316
|
+
const tableInfo = await fetchResultsByQuery(query, client, tenants, processing, schemaData.customFields, undefined, undefined, true, undefined, undefined, destinationDashboard);
|
|
250
317
|
if (!!tableInfo.error) {
|
|
251
318
|
throw new Error(tableInfo.error);
|
|
252
319
|
}
|
|
@@ -260,7 +327,6 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
260
327
|
}
|
|
261
328
|
fetchRowCount(processing, includeFilters);
|
|
262
329
|
setSqlQueryLoading(false);
|
|
263
|
-
setCurrentProcessing(processing);
|
|
264
330
|
let tempRows = [...rows, ...tableInfo.rows];
|
|
265
331
|
if (resetRows) {
|
|
266
332
|
tempRows = tableInfo.rows;
|
|
@@ -429,6 +495,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
429
495
|
queryString: query ?? '',
|
|
430
496
|
dashboardName: report?.dashboardName ??
|
|
431
497
|
destinationDashboard,
|
|
498
|
+
// flags: flagsToAdd,
|
|
432
499
|
},
|
|
433
500
|
});
|
|
434
501
|
setIsChartBuilderOpen(true);
|
|
@@ -492,15 +559,11 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
492
559
|
rowCount: rowCount ?? 0,
|
|
493
560
|
queryString: query ?? '',
|
|
494
561
|
dashboardName: report?.dashboardName ?? destinationDashboard,
|
|
562
|
+
// flags: flagsToAdd,
|
|
495
563
|
},
|
|
496
564
|
});
|
|
497
565
|
setIsChartBuilderOpen(true);
|
|
498
|
-
}, label: addToDashboardButtonLabel, disabled: !!errorMessage || !(lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, isAdmin: isAdminEnabled, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, reportId: report?.id, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, onClickChartElement: onClickChartElement,
|
|
499
|
-
// onPageChange={onPageChange}
|
|
500
|
-
// onSortChange={onSortChange}
|
|
501
|
-
filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled),
|
|
502
|
-
// isLoading={sqlQueryLoading}
|
|
503
|
-
isEditingMode: true }))] }));
|
|
566
|
+
}, label: addToDashboardButtonLabel, disabled: !!errorMessage || !(lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, isAdmin: isAdminEnabled, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, reportId: report?.id, organizationName: organizationName, CardComponent: CardComponent, TableComponent: TableComponent, ModalComponent: ModalComponent, ButtonComponent: ButtonComponent, TextInputComponent: TextInputComponent, SelectComponent: SelectComponent, SecondaryButtonComponent: SecondaryButtonComponent, HeaderComponent: HeaderComponent, SubHeaderComponent: SubHeaderComponent, LabelComponent: LabelComponent, TextComponent: TextComponent, PopoverComponent: PopoverComponent, DeleteButtonComponent: DeleteButtonComponent, LoadingComponent: LoadingComponent, ChartBuilderInputRowContainer: ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer: ChartBuilderInputColumnContainer, ErrorMessageComponent: ErrorMessageComponent, PivotRowContainer: PivotRowContainer, PivotColumnContainer: PivotColumnContainer, FormContainer: ChartBuilderFormContainer, hideDateRangeFilter: true, onClickChartElement: onClickChartElement, filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled), isEditingMode: true, flagsList: flagsList }))] }));
|
|
504
567
|
}
|
|
505
568
|
const SQLEditorComponent = ({ query, schema, databaseType, clientName, setQuery, setEditorMounted, handleRunQuery, defineEditorTheme, setEditorTheme, runQueryOnMount = false, theme, loading, LoadingComponent = QuillLoadingComponent, }) => {
|
|
506
569
|
const [editorKey, setEditorKey] = useState(0);
|
package/dist/esm/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,SAAS,EAIV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,SAAS,EAIV,MAAM,OAAO,CAAC;AAef,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAwBnC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAwDD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,CAAA;SAAE,CAAC;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAClD,iBAAiB,EAAE,CAAC,EAClB,SAAS,EACT,OAAO,GACR,EAAE;YACD,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,KAAK,IAAI,CAAC;QACX,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;KACjE,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAC1B,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,mDA2C/B,CAAC;AAwTF,eAAe,KAAK,CAAC"}
|
package/dist/esm/Table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useEffect, useState, } from 'react';
|
|
3
|
-
import { ClientContext, DashboardContext, ReportFiltersContext, SchemaDataContext, ThemeContext, } from './Context';
|
|
3
|
+
import { ClientContext, DashboardContext, ReportFiltersContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
4
4
|
import QuillTable from './components/QuillTable';
|
|
5
5
|
import { useExport } from './hooks/useExport';
|
|
6
6
|
import { processFilterFromBackend, updateFilter, } from './utils/filterProcessing';
|
|
@@ -62,6 +62,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, f
|
|
|
62
62
|
const [initialLoad, setInitialLoad] = useState(true);
|
|
63
63
|
const { downloadCSV } = useExport(reportId);
|
|
64
64
|
const [schemaData] = useContext(SchemaDataContext);
|
|
65
|
+
const { tenants, flags } = useContext(TenantContext);
|
|
65
66
|
const [rows, setRows] = useState([]);
|
|
66
67
|
const [columns, setColumns] = useState([]);
|
|
67
68
|
const [tableFilters, setTableFilters] = useState([]);
|
|
@@ -103,7 +104,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, f
|
|
|
103
104
|
setLoading(true);
|
|
104
105
|
try {
|
|
105
106
|
const updatedProcessing = { ...currentProcessing, ...processing };
|
|
106
|
-
const paginatedRows = await fetchResultsByReport(reportId, client, updatedProcessing, tableFilters, schemaData.customFields);
|
|
107
|
+
const paginatedRows = await fetchResultsByReport(reportId, client, tenants, updatedProcessing, tableFilters, schemaData.customFields);
|
|
107
108
|
if (paginatedRows.error) {
|
|
108
109
|
throw new Error('Error fetching chart');
|
|
109
110
|
}
|
|
@@ -125,7 +126,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, f
|
|
|
125
126
|
};
|
|
126
127
|
const fetchReportHelper = async (useReportTask = true, reportFilters, processing) => {
|
|
127
128
|
setLoading(true);
|
|
128
|
-
const { report, error } = await fetchReport(reportId, client, useReportTask, reportFilters ? reportFilters.filters : [], processing, undefined, schemaData.customFields);
|
|
129
|
+
const { report, error } = await fetchReport(reportId, client, tenants, flags, useReportTask, reportFilters ? reportFilters.filters : [], processing, undefined, schemaData.customFields);
|
|
129
130
|
if (error) {
|
|
130
131
|
setLoading(false);
|
|
131
132
|
setInitialLoad(false);
|
|
@@ -150,7 +151,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, f
|
|
|
150
151
|
// },
|
|
151
152
|
// });
|
|
152
153
|
}
|
|
153
|
-
setRows(
|
|
154
|
+
setRows(convertedReport.rows); // convertInternalReportToReport already formats rows if chartType === table
|
|
154
155
|
setTableFilters(filterArray);
|
|
155
156
|
setRowCount(convertedReport.rowCount ?? 0);
|
|
156
157
|
setColumns(convertedReport.columns);
|
|
@@ -189,7 +190,7 @@ const ChartUpdater = ({ reportId, containerStyle, className, dashboardContext, f
|
|
|
189
190
|
}
|
|
190
191
|
const reportFilters = Object.values(filterContext[reportId] ?? {}).map((f) => f.filter);
|
|
191
192
|
const convertedReport = convertInternalReportToReport(report, reportFilters);
|
|
192
|
-
setRows(
|
|
193
|
+
setRows(convertedReport.rows); // convertInternalReportToReport already formats rows if chartType === table
|
|
193
194
|
setRowCount(convertedReport.rowCount);
|
|
194
195
|
setColumns(convertedReport.columns);
|
|
195
196
|
setTableFilters(reportFilters);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/InternalChart.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAMlE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAiH5D;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAKlE;AAkFD,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,mBAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAuC,EACvC,eAAsC,EACtC,oBAAgD,EAChD,wBAA+C,EAC/C,eAAsC,EACtC,OAAO,EACP,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,EACP,KAAK,EACL,OAAO,EACP,oBAAoB,GACrB,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,
|
|
1
|
+
{"version":3,"file":"InternalChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/InternalChart.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAMlE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAiH5D;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAKlE;AAkFD,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,2BAAmC,EACnC,yBAAgC,EAChC,wBAAgC,EAChC,sBAAgC,EAChC,sBAAsB,EACtB,mBAAmB,EACnB,mBAA2B,EAC3B,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAuC,EACvC,eAAsC,EACtC,oBAAgD,EAChD,wBAA+C,EAC/C,eAAsC,EACtC,OAAO,EACP,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,EACP,KAAK,EACL,OAAO,EACP,oBAAoB,GACrB,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG;IAChC,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,2CAucA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect, useContext, useMemo } from 'react';
|
|
2
|
+
import { useState, useEffect, useContext, useMemo, useRef, useLayoutEffect } from 'react';
|
|
3
3
|
import { differenceInHours } from 'date-fns';
|
|
4
4
|
import { DashboardConfigContext, ReportFiltersContext, ThemeContext, } from '../../Context';
|
|
5
5
|
import { QuillLoadingSkeleton } from '../../components/Chart/ChartSkeleton';
|
|
@@ -319,6 +319,32 @@ export default function InternalChart({ report, colors, className, containerStyl
|
|
|
319
319
|
}));
|
|
320
320
|
onDashboardFilterChange(filter.label, filterValue);
|
|
321
321
|
};
|
|
322
|
+
const [filtersExpanded, setFiltersExpanded] = useState(false);
|
|
323
|
+
const filtersContainerRef = useRef(null);
|
|
324
|
+
const [visibleFilters, setVisibleFilters] = useState([]);
|
|
325
|
+
const filtersOverflowing = useMemo(() => {
|
|
326
|
+
return visibleFilters.some((visible) => visible);
|
|
327
|
+
}, [visibleFilters]);
|
|
328
|
+
const measureItems = () => {
|
|
329
|
+
if (!filtersContainerRef.current) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const containerTop = filtersContainerRef.current.getBoundingClientRect().top;
|
|
333
|
+
const newVisibleItems = currentReportFilters.map((_, index) => {
|
|
334
|
+
const item = filtersContainerRef?.current?.children[index];
|
|
335
|
+
const itemTop = item?.getBoundingClientRect().top;
|
|
336
|
+
return containerTop - (itemTop ?? 0); // Same row as container
|
|
337
|
+
});
|
|
338
|
+
setVisibleFilters(newVisibleItems);
|
|
339
|
+
};
|
|
340
|
+
useLayoutEffect(() => {
|
|
341
|
+
requestAnimationFrame(() => measureItems());
|
|
342
|
+
const handleResize = () => {
|
|
343
|
+
measureItems();
|
|
344
|
+
};
|
|
345
|
+
window.addEventListener("resize", handleResize);
|
|
346
|
+
return () => window.removeEventListener("resize", handleResize);
|
|
347
|
+
}, [currentReportFilters]);
|
|
322
348
|
if (error) {
|
|
323
349
|
return (_jsx("div", { style: containerStyle, className: className, children: _jsx(ChartError, { errorMessage: error }) }));
|
|
324
350
|
}
|
|
@@ -327,7 +353,7 @@ export default function InternalChart({ report, colors, className, containerStyl
|
|
|
327
353
|
flexDirection: 'column',
|
|
328
354
|
...containerStyle,
|
|
329
355
|
}, id: `quill-internal-chart-${report.id}`, className: className, children: [isAdmin && !!currentReportFilters?.length && (_jsxs("div", { style: {
|
|
330
|
-
maxWidth: 'fit-content',
|
|
356
|
+
maxWidth: filtersOverflowing ? '100%' : 'fit-content',
|
|
331
357
|
marginBottom: 25,
|
|
332
358
|
display: 'flex',
|
|
333
359
|
flexDirection: 'column',
|
|
@@ -340,40 +366,93 @@ export default function InternalChart({ report, colors, className, containerStyl
|
|
|
340
366
|
padding: filtersEnabled ? 12 : 0,
|
|
341
367
|
borderRadius: 6,
|
|
342
368
|
opacity: filterToggleDisabled ? 0.5 : 1,
|
|
343
|
-
}, children: [
|
|
369
|
+
}, children: [_jsx("div", { style: {
|
|
344
370
|
display: 'flex',
|
|
345
371
|
flexDirection: 'row',
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
372
|
+
justifyContent: 'space-between',
|
|
373
|
+
width: '100%',
|
|
374
|
+
}, children: _jsxs("div", { style: {
|
|
375
|
+
display: 'flex',
|
|
376
|
+
flexDirection: 'row',
|
|
377
|
+
gap: 8,
|
|
378
|
+
border: `1px solid ${theme?.borderColor ?? 'black'}`,
|
|
379
|
+
padding: 8,
|
|
380
|
+
borderRadius: 6,
|
|
381
|
+
}, children: [_jsx(TogglePrimitive, { value: filtersEnabled, onClick: () => setFiltersEnabled(!filtersEnabled), style: {
|
|
382
|
+
marginTop: 2,
|
|
383
|
+
cursor: filterToggleDisabled ? 'not-allowed' : 'pointer',
|
|
384
|
+
}, disabled: filterToggleDisabled }), _jsx("h1", { style: {
|
|
385
|
+
fontSize: 14,
|
|
386
|
+
fontWeight: 600,
|
|
387
|
+
fontFamily: theme?.fontFamily,
|
|
388
|
+
color: theme?.primaryTextColor || '#575E6A',
|
|
389
|
+
userSelect: 'none',
|
|
390
|
+
margin: 0,
|
|
391
|
+
}, children: filtersEnabled
|
|
392
|
+
? 'Previewing with dashboard filters'
|
|
393
|
+
: 'Previewing without dashboard filters' })] }) }), _jsxs("div", { ref: filtersContainerRef, style: {
|
|
363
394
|
display: 'flex',
|
|
364
395
|
flexDirection: 'row',
|
|
365
396
|
alignItems: 'flex-end',
|
|
366
397
|
flexWrap: 'wrap',
|
|
367
398
|
gap: 12,
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
399
|
+
flexGrow: 1,
|
|
400
|
+
// If filters are expanded, show all filters, otherwise show only the first row
|
|
401
|
+
maxHeight: filtersExpanded ? undefined : 108,
|
|
402
|
+
minWidth: 500,
|
|
403
|
+
paddingBottom: !filtersExpanded && filtersOverflowing ? 116 : 0,
|
|
404
|
+
position: 'relative',
|
|
405
|
+
// overflow: filtersExpanded ? undefined : 'hidden',
|
|
406
|
+
}, children: [filtersEnabled &&
|
|
407
|
+
currentReportFilters.map((filter, index) => (_jsx(DashboardFilter, { filter: {
|
|
408
|
+
...filter.filter,
|
|
409
|
+
...(filter.filter.filterType === 'date_range' && {
|
|
410
|
+
options: presetOptions,
|
|
411
|
+
}),
|
|
412
|
+
...filterValues[filter.filter.label],
|
|
413
|
+
}, isLoading: filter.loading, onChangeFilter: updateFilter, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent, disabled: !filtersEnabled, containerStyle: {
|
|
414
|
+
// display: !filtersExpanded && visibleFilters[index] ? 'none' : 'inline',
|
|
415
|
+
visibility: !filtersExpanded && visibleFilters[index] ? 'hidden' : 'visible',
|
|
416
|
+
} }, index))), filtersOverflowing && (_jsx("div", { style: {
|
|
417
|
+
width: '100%',
|
|
418
|
+
position: filtersExpanded ? 'static' : 'absolute',
|
|
419
|
+
bottom: filtersExpanded ? 'auto' : 0,
|
|
420
|
+
backgroundColor: filtersExpanded ? 'none' : 'white',
|
|
421
|
+
zIndex: filtersExpanded ? 'auto' : 1,
|
|
422
|
+
}, children: _jsxs("button", { className: "quill-secondary-button", onClick: () => setFiltersExpanded(!filtersExpanded), style: {
|
|
423
|
+
fontFamily: theme?.fontFamily,
|
|
424
|
+
color: theme?.primaryTextColor,
|
|
425
|
+
height: '38px', // 40px - 2px for top and bottom border
|
|
426
|
+
fontWeight: 400,
|
|
427
|
+
marginLeft: 2,
|
|
428
|
+
boxSizing: 'content-box',
|
|
429
|
+
fontSize: '14px',
|
|
430
|
+
cursor: 'pointer',
|
|
431
|
+
whiteSpace: 'nowrap',
|
|
432
|
+
display: 'flex',
|
|
433
|
+
flexDirection: 'row',
|
|
434
|
+
alignItems: 'center',
|
|
435
|
+
gap: 6,
|
|
436
|
+
}, children: [_jsx("style", { children: `
|
|
437
|
+
.quill-secondary-button {
|
|
438
|
+
background-color: #F5F5F6;
|
|
439
|
+
background-color: white;
|
|
440
|
+
color: #212121';
|
|
441
|
+
color: rgba(56, 65, 81, 0.75);
|
|
442
|
+
height: 40px;
|
|
443
|
+
border-radius: 6px;
|
|
444
|
+
padding-left: 8px;
|
|
445
|
+
padding-right: 8px;
|
|
446
|
+
box-sizing: content-box;
|
|
447
|
+
font-size: 15px;
|
|
448
|
+
cursor: pointer;
|
|
449
|
+
}
|
|
450
|
+
.quill-secondary-button:hover {
|
|
451
|
+
background-color: rgba(56, 65, 81, 0.09);
|
|
452
|
+
}
|
|
453
|
+
` }), filtersExpanded ? 'Collapse' : 'See all'] }) }))] })] })), loading || !report ? (_jsx(LoadingComponent, {})) : (_jsxs(_Fragment, { children: ['metric' === report.chartType && (_jsx(MetricComponent, { error: error, isLoading: loading, report: report })), report.chartType !== 'table' && report.chartType !== 'metric' && (_jsx(ChartDisplay, { config: report, containerStyle: {
|
|
376
454
|
width: '100%',
|
|
377
455
|
height: '100%',
|
|
456
|
+
minHeight: 300,
|
|
378
457
|
}, reportId: TEMP_REPORT_ID, colors: colors, className: className, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement }))] }))] }));
|
|
379
458
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/PieChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB,CAAC;AAEF,QAAA,MAAM,iBAAiB,6DAMb,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEhD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAE9D,QAAA,MAAM,eAAe,wFAMX,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,QAAA,MAAM,UAAU,yCAA0C,CAAC;AAE3D,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,QAAA,MAAM,WAAW,gNAuBP,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,QAAA,MAAM,oBAAoB,oEAOhB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,QAAA,MAAM,gBAAgB,4DAMZ,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,GAAG,aAAa,GAAG,aAAa,CAAC;AAE1E,eAAO,MAAM,qBAAqB,EAAE,cACN,CAAC;AAE/B,eAAO,MAAM,eAAe,QAAS,MAAM,EAAE,WACO,CAAC;AAErD,eAAO,MAAM,SAAS,SACd,GAAG,EAAE,UACH,MAAM,EAAE,eACH,MAAM,YACT,MAAM,
|
|
1
|
+
{"version":3,"file":"PieChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/PieChart.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Pie, PieChart, ResponsiveContainer, Tooltip } from 'recharts';
|
|
4
4
|
import { generateArrayFromColor } from '../../utils/color';
|
|
5
|
-
import Big from 'big.js';
|
|
6
5
|
const iconVariantValues = [
|
|
7
6
|
'simple',
|
|
8
7
|
'light',
|
|
@@ -62,9 +61,11 @@ export const sumNumericArray = (arr) => arr.reduce((prefixSum, num) => prefixSum
|
|
|
62
61
|
export const parseData = (data, colors, categoryKey, valueKey) => {
|
|
63
62
|
const maxItems = 20;
|
|
64
63
|
const slicedData = data.slice(0, maxItems);
|
|
65
|
-
const totalValue = slicedData.reduce((acc, dataPoint) =>
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
const totalValue = slicedData.reduce((acc, dataPoint) =>
|
|
65
|
+
// Big(acc)
|
|
66
|
+
// .add(Big(Number(dataPoint[valueKey]) ?? 0))
|
|
67
|
+
// .toNumber(),
|
|
68
|
+
acc + parseFloat(dataPoint[valueKey] ?? '0'), 0);
|
|
68
69
|
slicedData.forEach((dataPoint) => {
|
|
69
70
|
dataPoint[valueKey] = totalValue
|
|
70
71
|
? (Number(dataPoint[valueKey]) * 100) / totalValue
|
|
@@ -82,9 +83,11 @@ export const parseData = (data, colors, categoryKey, valueKey) => {
|
|
|
82
83
|
});
|
|
83
84
|
if (data.length > maxItems) {
|
|
84
85
|
const otherData = data.slice(maxItems);
|
|
85
|
-
const otherSum = otherData.reduce((acc, dataPoint) =>
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
const otherSum = otherData.reduce((acc, dataPoint) =>
|
|
87
|
+
// Big(acc)
|
|
88
|
+
// .add(Big(Number(dataPoint[valueKey])) ?? 0)
|
|
89
|
+
// .toNumber(),
|
|
90
|
+
acc + parseFloat(dataPoint[valueKey] ?? '0'), 0);
|
|
88
91
|
const otherColor = colors[colors.length - 1];
|
|
89
92
|
const normalizedOtherSum = totalValue
|
|
90
93
|
? (otherSum * 100) / totalValue
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { CSSProperties } from 'react';
|
|
2
2
|
import { type DateRangePickerComponentProps } from '../../DateRangePicker/QuillDateRangePicker';
|
|
3
3
|
import { QuillTheme } from '../../QuillProvider';
|
|
4
4
|
import { DashboardFilter as Filters } from '../../models/Filter';
|
|
@@ -49,7 +49,8 @@ interface DashboardFilterProps {
|
|
|
49
49
|
theme: QuillTheme;
|
|
50
50
|
isLoading?: boolean;
|
|
51
51
|
disabled?: boolean;
|
|
52
|
+
containerStyle?: CSSProperties;
|
|
52
53
|
}
|
|
53
|
-
export declare function DashboardFilter({ filter, onChangeFilter, SelectComponent, MultiSelectComponent, DateRangePickerComponent, theme, isLoading, disabled, }: DashboardFilterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
54
|
+
export declare function DashboardFilter({ filter, onChangeFilter, SelectComponent, MultiSelectComponent, DateRangePickerComponent, theme, isLoading, disabled, containerStyle, }: DashboardFilterProps): import("react/jsx-runtime").JSX.Element | null;
|
|
54
55
|
export {};
|
|
55
56
|
//# sourceMappingURL=DashboardFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AAKtD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEjE,KAAK,mBAAmB,GAAG,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,wBAAwB,GAAG,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CACR,KAAK,EACD,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GACpC;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;SAAE,CAAA;KAAE,KACzC,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,KAAK,GAAG,CAAC,OAAO,CAAC;AAElB,KAAK,4BAA4B,GAAG,CAAC,EACnC,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,MAAM,EACN,WAAW,EACX,QAAQ,GACT,EAAE,6BAA6B,KAAK,GAAG,CAAC,OAAO,CAAC;AAEjD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CACd,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EACF,MAAM,GACN,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GACjB;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,GAClC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACtB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KACzC,IAAI,CAAC;IACV,eAAe,EACX,mBAAmB,GACnB,KAAK,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IACnD,oBAAoB,EAChB,wBAAwB,GACxB,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;IACxD,wBAAwB,EACpB,4BAA4B,GAC5B,KAAK,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,eAAsC,EACtC,oBAAgD,EAChD,wBAA+C,EAC/C,KAAK,EACL,SAAS,EACT,QAAQ,EACR,cAAc,GACf,EAAE,oBAAoB,kDA0KtB"}
|