@quillsql/react 2.14.13 → 2.14.14
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 +12 -0
- package/dist/cjs/ChartBuilder.d.ts +3 -2
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +105 -16
- package/dist/cjs/ChartEditor.d.ts.map +1 -1
- package/dist/cjs/ChartEditor.js +2 -0
- package/dist/cjs/Context.d.ts +6 -2
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +163 -35
- package/dist/cjs/Dashboard.d.ts.map +1 -1
- package/dist/cjs/Dashboard.js +93 -16
- package/dist/cjs/QuillProvider.d.ts +40 -1
- package/dist/cjs/QuillProvider.d.ts.map +1 -1
- package/dist/cjs/QuillProvider.js +2 -2
- package/dist/cjs/ReportBuilder.d.ts +4 -1
- package/dist/cjs/ReportBuilder.d.ts.map +1 -1
- package/dist/cjs/ReportBuilder.js +103 -1262
- package/dist/cjs/SQLEditor.d.ts.map +1 -1
- package/dist/cjs/SQLEditor.js +50 -6
- package/dist/cjs/Table.d.ts.map +1 -1
- package/dist/cjs/Table.js +12 -0
- package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/BarChart.js +14 -9
- package/dist/cjs/components/Chart/CustomBar.d.ts +18 -0
- package/dist/cjs/components/Chart/CustomBar.d.ts.map +1 -0
- package/dist/cjs/components/Chart/CustomBar.js +70 -0
- package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/cjs/components/Chart/InternalChart.js +24 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +73 -2
- package/dist/cjs/components/Dashboard/util.d.ts +2 -1
- package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/util.js +12 -1
- package/dist/cjs/components/QuillTable.d.ts +2 -1
- package/dist/cjs/components/QuillTable.d.ts.map +1 -1
- package/dist/cjs/components/QuillTable.js +2 -2
- package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/AddColumnModal.js +7 -1
- package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts +48 -0
- package/dist/cjs/components/ReportBuilder/ColumnComponent.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/ColumnComponent.js +46 -0
- package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts +65 -0
- package/dist/cjs/components/ReportBuilder/FilterComponent.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/FilterComponent.js +51 -0
- package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts +42 -0
- package/dist/cjs/components/ReportBuilder/LimitComponent.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/LimitComponent.js +50 -0
- package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts +66 -0
- package/dist/cjs/components/ReportBuilder/PivotComponent.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/PivotComponent.js +47 -0
- package/dist/cjs/components/ReportBuilder/SaveReport.d.ts +162 -0
- package/dist/cjs/components/ReportBuilder/SaveReport.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/SaveReport.js +31 -0
- package/dist/cjs/components/ReportBuilder/SortComponent.d.ts +42 -0
- package/dist/cjs/components/ReportBuilder/SortComponent.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/SortComponent.js +50 -0
- package/dist/cjs/components/ReportBuilder/TableComponent.d.ts +28 -0
- package/dist/cjs/components/ReportBuilder/TableComponent.d.ts.map +1 -0
- package/dist/cjs/components/ReportBuilder/TableComponent.js +24 -0
- package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/cjs/components/ReportBuilder/ui.js +3 -1
- package/dist/cjs/components/UiComponents.d.ts +5 -2
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +6 -5
- package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useAskQuill.js +38 -0
- package/dist/cjs/hooks/useDashboard.d.ts +3 -1
- package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
- package/dist/cjs/hooks/useDashboard.js +91 -6
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +17 -9
- package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
- package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
- package/dist/cjs/hooks/useLongLoading.js +67 -0
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +25 -1
- package/dist/cjs/hooks/useReportBuilder.d.ts +178 -0
- package/dist/cjs/hooks/useReportBuilder.d.ts.map +1 -0
- package/dist/cjs/hooks/useReportBuilder.js +1476 -0
- package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/cjs/hooks/useVirtualTables.js +27 -2
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +17 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +14 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotForm.js +86 -3
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +19 -2
- package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/cjs/internals/ReportBuilder/PivotModal.js +421 -141
- package/dist/cjs/models/Client.d.ts +6 -2
- package/dist/cjs/models/Client.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.d.ts +4 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/astProcessing.js +25 -2
- package/dist/cjs/utils/client.d.ts +2 -1
- package/dist/cjs/utils/client.d.ts.map +1 -1
- package/dist/cjs/utils/client.js +13 -2
- package/dist/cjs/utils/dashboard.d.ts +3 -1
- package/dist/cjs/utils/dashboard.d.ts.map +1 -1
- package/dist/cjs/utils/dashboard.js +44 -3
- package/dist/cjs/utils/filterProcessing.d.ts +2 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +12 -1
- package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/pivotConstructor.js +11 -9
- package/dist/cjs/utils/report.d.ts +11 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +55 -8
- package/dist/cjs/utils/reportBuilder.d.ts.map +1 -1
- package/dist/cjs/utils/reportBuilder.js +5 -2
- package/dist/cjs/utils/schema.d.ts +5 -2
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +14 -2
- package/dist/cjs/utils/tableProcessing.d.ts +17 -10
- package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/tableProcessing.js +99 -17
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +13 -1
- package/dist/esm/ChartBuilder.d.ts +3 -2
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +107 -18
- package/dist/esm/ChartEditor.d.ts.map +1 -1
- package/dist/esm/ChartEditor.js +3 -1
- package/dist/esm/Context.d.ts +6 -2
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +162 -34
- package/dist/esm/Dashboard.d.ts.map +1 -1
- package/dist/esm/Dashboard.js +94 -17
- package/dist/esm/QuillProvider.d.ts +40 -1
- package/dist/esm/QuillProvider.d.ts.map +1 -1
- package/dist/esm/QuillProvider.js +2 -2
- package/dist/esm/ReportBuilder.d.ts +4 -1
- package/dist/esm/ReportBuilder.d.ts.map +1 -1
- package/dist/esm/ReportBuilder.js +106 -1262
- package/dist/esm/SQLEditor.d.ts.map +1 -1
- package/dist/esm/SQLEditor.js +51 -7
- package/dist/esm/Table.d.ts.map +1 -1
- package/dist/esm/Table.js +13 -1
- package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/BarChart.js +15 -10
- package/dist/esm/components/Chart/CustomBar.d.ts +18 -0
- package/dist/esm/components/Chart/CustomBar.d.ts.map +1 -0
- package/dist/esm/components/Chart/CustomBar.js +68 -0
- package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
- package/dist/esm/components/Chart/InternalChart.js +25 -2
- package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +74 -3
- package/dist/esm/components/Dashboard/util.d.ts +2 -1
- package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/util.js +12 -1
- package/dist/esm/components/QuillTable.d.ts +2 -1
- package/dist/esm/components/QuillTable.d.ts.map +1 -1
- package/dist/esm/components/QuillTable.js +2 -2
- package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/AddColumnModal.js +7 -1
- package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts +48 -0
- package/dist/esm/components/ReportBuilder/ColumnComponent.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/ColumnComponent.js +39 -0
- package/dist/esm/components/ReportBuilder/FilterComponent.d.ts +65 -0
- package/dist/esm/components/ReportBuilder/FilterComponent.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/FilterComponent.js +44 -0
- package/dist/esm/components/ReportBuilder/LimitComponent.d.ts +42 -0
- package/dist/esm/components/ReportBuilder/LimitComponent.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/LimitComponent.js +46 -0
- package/dist/esm/components/ReportBuilder/PivotComponent.d.ts +66 -0
- package/dist/esm/components/ReportBuilder/PivotComponent.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/PivotComponent.js +40 -0
- package/dist/esm/components/ReportBuilder/SaveReport.d.ts +162 -0
- package/dist/esm/components/ReportBuilder/SaveReport.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/SaveReport.js +31 -0
- package/dist/esm/components/ReportBuilder/SortComponent.d.ts +42 -0
- package/dist/esm/components/ReportBuilder/SortComponent.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/SortComponent.js +46 -0
- package/dist/esm/components/ReportBuilder/TableComponent.d.ts +28 -0
- package/dist/esm/components/ReportBuilder/TableComponent.d.ts.map +1 -0
- package/dist/esm/components/ReportBuilder/TableComponent.js +20 -0
- package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
- package/dist/esm/components/ReportBuilder/ui.js +4 -2
- package/dist/esm/components/UiComponents.d.ts +5 -2
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +6 -5
- package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useAskQuill.js +39 -1
- package/dist/esm/hooks/useDashboard.d.ts +3 -1
- package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
- package/dist/esm/hooks/useDashboard.js +92 -7
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +18 -10
- package/dist/esm/hooks/useLongLoading.d.ts +13 -0
- package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
- package/dist/esm/hooks/useLongLoading.js +64 -0
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +26 -2
- package/dist/esm/hooks/useReportBuilder.d.ts +178 -0
- package/dist/esm/hooks/useReportBuilder.d.ts.map +1 -0
- package/dist/esm/hooks/useReportBuilder.js +1471 -0
- package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
- package/dist/esm/hooks/useVirtualTables.js +28 -3
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +14 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotForm.js +87 -4
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +19 -2
- package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
- package/dist/esm/internals/ReportBuilder/PivotModal.js +423 -143
- package/dist/esm/models/Client.d.ts +6 -2
- package/dist/esm/models/Client.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.d.ts +4 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/astProcessing.js +25 -2
- package/dist/esm/utils/client.d.ts +2 -1
- package/dist/esm/utils/client.d.ts.map +1 -1
- package/dist/esm/utils/client.js +13 -2
- package/dist/esm/utils/dashboard.d.ts +3 -1
- package/dist/esm/utils/dashboard.d.ts.map +1 -1
- package/dist/esm/utils/dashboard.js +44 -3
- package/dist/esm/utils/filterProcessing.d.ts +2 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +12 -1
- package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
- package/dist/esm/utils/pivotConstructor.js +11 -9
- package/dist/esm/utils/report.d.ts +11 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +55 -8
- package/dist/esm/utils/reportBuilder.d.ts.map +1 -1
- package/dist/esm/utils/reportBuilder.js +5 -2
- package/dist/esm/utils/schema.d.ts +5 -2
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +14 -2
- package/dist/esm/utils/tableProcessing.d.ts +17 -10
- package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
- package/dist/esm/utils/tableProcessing.js +99 -17
- 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;
|
|
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,7 +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, DashboardFiltersContext, FetchContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
6
|
+
import { ClientContext, DashboardFiltersContext, EventTrackingContext, FetchContext, SchemaDataContext, TenantContext, ThemeContext, } from './Context';
|
|
7
7
|
import { ChartBuilderWithModal, createInitialFormData } from './ChartBuilder';
|
|
8
8
|
import { MemoizedButton, MemoizedDeleteButton, MemoizedHeader, MemoizedLabel, MemoizedModal, MemoizedPopover, MemoizedSecondaryButton, MemoizedSubHeader, MemoizedText, OverflowContainer, QuillChartBuilderCheckboxComponent, QuillChartBuilderFormContainer, QuillChartBuilderInputColumnContainer, QuillChartBuilderInputRowContainer, QuillErrorMessageComponent, QuillLoadingComponent, QuillPivotColumnContainer, QuillPivotRowContainer, QuillTableSQLEditorComponent, QuillToolTip, } from './components/UiComponents';
|
|
9
9
|
import { QuillTextInput } from './components/UiComponents';
|
|
@@ -22,6 +22,7 @@ import { isSimpleSelectStarQuery } from './components/ReportBuilder/convert';
|
|
|
22
22
|
import { getSelectFromAST, getTablesHelper } from './utils/astProcessing';
|
|
23
23
|
import { useDashboardInternal, useDashboards } from './hooks/useDashboard';
|
|
24
24
|
import { SAVED_QUERIES_DASHBOARD, SINGLE_TENANT } from './utils/constants';
|
|
25
|
+
import { useLongLoading } from './hooks/useLongLoading';
|
|
25
26
|
function defineEditorTheme(monaco, theme) {
|
|
26
27
|
monaco.editor.defineTheme('onedark', {
|
|
27
28
|
base: theme.darkMode ? 'vs-dark' : 'vs',
|
|
@@ -39,7 +40,7 @@ function defineEditorTheme(monaco, theme) {
|
|
|
39
40
|
},
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
|
-
function setEditorTheme(_editor, monaco, schema, databaseType, clientName) {
|
|
43
|
+
function setEditorTheme(_editor, monaco, schema, databaseType, clientName, eventTracking) {
|
|
43
44
|
try {
|
|
44
45
|
monaco.editor.setTheme('onedark');
|
|
45
46
|
monaco.languages.register({ id: clientName });
|
|
@@ -59,6 +60,17 @@ function setEditorTheme(_editor, monaco, schema, databaseType, clientName) {
|
|
|
59
60
|
return provider;
|
|
60
61
|
}
|
|
61
62
|
catch (e) {
|
|
63
|
+
eventTracking?.logError?.({
|
|
64
|
+
type: 'bug', // TODO: determine type
|
|
65
|
+
severity: 'medium',
|
|
66
|
+
message: 'Error setting editor theme',
|
|
67
|
+
errorMessage: e.message,
|
|
68
|
+
errorStack: e.stack,
|
|
69
|
+
errorData: {
|
|
70
|
+
caller: 'SQLEditor',
|
|
71
|
+
function: 'setEditorTheme',
|
|
72
|
+
},
|
|
73
|
+
});
|
|
62
74
|
return null;
|
|
63
75
|
}
|
|
64
76
|
}
|
|
@@ -95,12 +107,12 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
95
107
|
const { dashboards } = useDashboards();
|
|
96
108
|
const { data, isLoading: dashboardIsLoading, reload, } = useDashboardInternal(destinationDashboard);
|
|
97
109
|
const { getToken, quillFetchWithToken } = useContext(FetchContext);
|
|
110
|
+
const { eventTracking } = useContext(EventTrackingContext);
|
|
98
111
|
const destinationDashboardConfig = useMemo(() => {
|
|
99
112
|
return dashboards?.find((d) => d.name === destinationDashboard);
|
|
100
113
|
}, [dashboards, destinationDashboard]);
|
|
101
114
|
const [query, setQuery] = useState(defaultQuery);
|
|
102
115
|
const [rows, setRows] = useState([]);
|
|
103
|
-
const [filtersEnabled, setFiltersEnabled] = useState(!!report);
|
|
104
116
|
const [columns, setColumns] = useState([]);
|
|
105
117
|
const [schemaData] = useContext(SchemaDataContext);
|
|
106
118
|
const { dashboardFilters } = useContext(DashboardFiltersContext);
|
|
@@ -167,7 +179,15 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
167
179
|
// ]);
|
|
168
180
|
const [errorMessage, setErrorMessage] = useState('');
|
|
169
181
|
const [sqlResponseLoading, setSqlResponseLoading] = useState(false);
|
|
182
|
+
useLongLoading(sqlResponseLoading, {
|
|
183
|
+
origin: 'SQLEditor',
|
|
184
|
+
loadDescription: 'Loading SQL response',
|
|
185
|
+
});
|
|
170
186
|
const [sqlQueryLoading, setSqlQueryLoading] = useState(false);
|
|
187
|
+
useLongLoading(sqlQueryLoading, {
|
|
188
|
+
origin: 'SQLEditor',
|
|
189
|
+
loadDescription: 'Loading SQL query',
|
|
190
|
+
});
|
|
171
191
|
const [isChartBuilderOpen, setIsChartBuilderOpen] = useState(false);
|
|
172
192
|
const [displayTable, setDisplayTable] = useState(false);
|
|
173
193
|
const [formattedRows, setFormattedRows] = useState([]);
|
|
@@ -337,6 +357,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
337
357
|
rowCountOnly: true,
|
|
338
358
|
dashboardName: destinationDashboard,
|
|
339
359
|
getToken,
|
|
360
|
+
eventTracking,
|
|
340
361
|
});
|
|
341
362
|
if (tableInfo.rowCount) {
|
|
342
363
|
setRowCount(tableInfo.rowCount);
|
|
@@ -374,6 +395,7 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
374
395
|
rowsOnly: true,
|
|
375
396
|
dashboardName: destinationDashboard,
|
|
376
397
|
getToken,
|
|
398
|
+
eventTracking,
|
|
377
399
|
});
|
|
378
400
|
if (!!tableInfo.error) {
|
|
379
401
|
throw new Error(tableInfo.error);
|
|
@@ -423,11 +445,23 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
423
445
|
customFields: schemaData.customFields,
|
|
424
446
|
getToken,
|
|
425
447
|
tenants,
|
|
448
|
+
eventTracking,
|
|
426
449
|
});
|
|
427
450
|
setTempReport(cleaned);
|
|
428
451
|
setLastSuccessfulQuery(query);
|
|
429
452
|
}
|
|
430
453
|
catch (e) {
|
|
454
|
+
eventTracking?.logError?.({
|
|
455
|
+
type: 'bug', // TODO: determine type
|
|
456
|
+
severity: 'high',
|
|
457
|
+
message: 'Error running query',
|
|
458
|
+
errorMessage: e.message,
|
|
459
|
+
errorStack: e.stack,
|
|
460
|
+
errorData: {
|
|
461
|
+
caller: 'SQLEditor',
|
|
462
|
+
function: 'handleRunQuery',
|
|
463
|
+
},
|
|
464
|
+
});
|
|
431
465
|
setErrorMessage(e.message);
|
|
432
466
|
return;
|
|
433
467
|
}
|
|
@@ -458,6 +492,17 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
458
492
|
setSqlResponseLoading(false);
|
|
459
493
|
}
|
|
460
494
|
catch (e) {
|
|
495
|
+
eventTracking?.logError?.({
|
|
496
|
+
type: 'bug', // TODO: determine type
|
|
497
|
+
severity: 'high',
|
|
498
|
+
message: 'Error fixing query',
|
|
499
|
+
errorMessage: e.message,
|
|
500
|
+
errorStack: e.stack,
|
|
501
|
+
errorData: {
|
|
502
|
+
caller: 'SQLEditor',
|
|
503
|
+
function: 'handleFixWithAI',
|
|
504
|
+
},
|
|
505
|
+
});
|
|
461
506
|
setErrorMessage('Failed to fix query');
|
|
462
507
|
setSqlResponseLoading(false);
|
|
463
508
|
}
|
|
@@ -719,12 +764,11 @@ export default function SQLEditor({ ButtonComponent = MemoizedButton, SecondaryB
|
|
|
719
764
|
// flags: flagsToAdd,
|
|
720
765
|
});
|
|
721
766
|
setIsChartBuilderOpen(true);
|
|
722
|
-
}, label: addToDashboardButtonLabel, disabled: !!errorMessage || !(lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, destinationDashboard: destinationDashboard, isAdmin: isAdminEnabled, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, tempReport: tempReport, 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, CheckboxComponent: CheckboxComponent, hideDateRangeFilter: true, hideDeleteButton: true, onClickChartElement: onClickChartElement,
|
|
723
|
-
// hide filters table, make it a table chart etc
|
|
724
|
-
filtersEnabled: filtersEnabled, onFiltersEnabledChanged: (enabled) => setFiltersEnabled(enabled), isEditingMode: true }))] }));
|
|
767
|
+
}, label: addToDashboardButtonLabel, disabled: !!errorMessage || !(lastSuccessfulQuery === query) }))] }))] })] }) }) })), (!isChartBuilderHorizontalView || isChartBuilderOpen) && (_jsx(ChartBuilderWithModal, { isHorizontalView: isChartBuilderHorizontalView, isOpen: isChartBuilderOpen, setIsOpen: setIsChartBuilderOpen, onAddToDashboardComplete: onAddToDashboardComplete, destinationDashboard: destinationDashboard, isAdmin: isAdminEnabled, title: chartBuilderTitle, buttonLabel: addToDashboardButtonLabel, tempReport: tempReport, 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, CheckboxComponent: CheckboxComponent, hideDateRangeFilter: true, hideDeleteButton: true, onClickChartElement: onClickChartElement, isEditingMode: true })), isSaveQueryModalOpen && (_jsx(ChartBuilderWithModal, { isHorizontalView: false, hideTableView: true, hideChartView: true, hidePivotForm: true, hideChartType: true, isOpen: isSaveQueryModalOpen, setIsOpen: setIsSaveQueryModalOpen, onAddToDashboardComplete: onSaveQueryComplete, destinationDashboard: SAVED_QUERIES_DASHBOARD, isAdmin: false, title: 'Save query', buttonLabel: 'Save query', tempReport: tempReport, 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, CheckboxComponent: CheckboxComponent, hideDateRangeFilter: true, hideDeleteButton: true, hideDiscardChanges: true, hideSQLQuery: false, onClickChartElement: onClickChartElement, isEditingMode: true }))] }));
|
|
725
768
|
}
|
|
726
769
|
const SQLEditorComponent = ({ query, schema, databaseType, clientName, setQuery, setEditorMounted, handleRunQuery, defineEditorTheme, setEditorTheme, runQueryOnMount = false, theme, loading, LoadingComponent = QuillLoadingComponent, }) => {
|
|
727
770
|
const [editorKey, setEditorKey] = useState(0);
|
|
771
|
+
const { eventTracking } = useContext(EventTrackingContext);
|
|
728
772
|
const currentProvider = useRef(null);
|
|
729
773
|
useEffect(() => {
|
|
730
774
|
if (currentProvider.current) {
|
|
@@ -766,7 +810,7 @@ const SQLEditorComponent = ({ query, schema, databaseType, clientName, setQuery,
|
|
|
766
810
|
},
|
|
767
811
|
padding: { top: 16 },
|
|
768
812
|
}, onChange: (query) => setQuery(query || ''), beforeMount: (monaco) => defineEditorTheme(monaco, theme), onMount: (_editor, monaco) => {
|
|
769
|
-
currentProvider.current = setEditorTheme(_editor, monaco, schema, databaseType, clientName);
|
|
813
|
+
currentProvider.current = setEditorTheme(_editor, monaco, schema, databaseType, clientName, eventTracking);
|
|
770
814
|
setEditorMounted();
|
|
771
815
|
if (runQueryOnMount) {
|
|
772
816
|
handleRunQuery();
|
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,EAKV,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/Table.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useContext, useEffect, useMemo, useState, } from 'react';
|
|
3
|
-
import { ClientContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, ReportsContext, SchemaDataContext, } from './Context';
|
|
3
|
+
import { ClientContext, DashboardContext, DashboardFiltersContext, EventTrackingContext, ReportFiltersContext, ReportsContext, SchemaDataContext, } from './Context';
|
|
4
4
|
import QuillTable from './components/QuillTable';
|
|
5
5
|
import { convertCustomFilter, FilterType } from './models/Filter';
|
|
6
6
|
import { DEFAULT_PAGINATION } from './utils/paginationProcessing';
|
|
@@ -45,6 +45,7 @@ const Table = ({ TableComponent = QuillTableComponent, ...props }) => {
|
|
|
45
45
|
const { dashboardFilters, dashboardCustomFilters } = useContext(DashboardFiltersContext);
|
|
46
46
|
const [client, clientLoading] = useContext(ClientContext);
|
|
47
47
|
const [schemaData] = useContext(SchemaDataContext);
|
|
48
|
+
const { eventTracking } = useContext(EventTrackingContext);
|
|
48
49
|
const { allReportsById } = useAllReports();
|
|
49
50
|
const [loading, setLoading] = useState(false);
|
|
50
51
|
const report = useMemo(() => {
|
|
@@ -92,6 +93,17 @@ const Table = ({ TableComponent = QuillTableComponent, ...props }) => {
|
|
|
92
93
|
}
|
|
93
94
|
catch (error) {
|
|
94
95
|
console.log('Error fetching chart: ' + error);
|
|
96
|
+
eventTracking?.logError?.({
|
|
97
|
+
type: 'bug', // TODO: determine type
|
|
98
|
+
severity: 'high',
|
|
99
|
+
message: 'Error fetching table',
|
|
100
|
+
errorMessage: error.message,
|
|
101
|
+
errorStack: error.stack,
|
|
102
|
+
errorData: {
|
|
103
|
+
caller: 'Table',
|
|
104
|
+
function: 'fetchReportHelper',
|
|
105
|
+
},
|
|
106
|
+
});
|
|
95
107
|
}
|
|
96
108
|
finally {
|
|
97
109
|
setLoading(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/BarChart.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/BarChart.tsx"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAc7C,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,cAAc,EACd,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,EACL,UAAU,EACV,SAAS,EACT,iBAAyB,EACzB,SAAiB,EACjB,SAAiB,EACjB,iBAAyB,EACzB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,UAAkB,EAClB,WAAmB,GACpB,EAAE;IACD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,GAAG,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,2CA+PA"}
|
|
@@ -7,11 +7,12 @@ import ChartTooltip from '../../components/Chart/ChartTooltip';
|
|
|
7
7
|
import getDomain from '../../utils/getDomain';
|
|
8
8
|
import CustomReferenceLine from './CustomReferenceLine';
|
|
9
9
|
import { RenderLegend } from './CustomLegend';
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
import CustomBar from './CustomBar';
|
|
11
|
+
import { useMemo } from 'react';
|
|
12
|
+
const createCustomBar = (yAxisFields, theme) => {
|
|
13
|
+
return (props) => (_jsx(CustomBar, { ...props, yAxisFields: yAxisFields, theme: theme }));
|
|
14
|
+
};
|
|
15
|
+
export default function BarChart({ colors, colorMap, yAxisFields, data, containerStyle, className, xAxisField, xAxisFormat, theme, comparison, isStacked, isAnimationActive = false, hideXAxis = false, hideYAxis = false, hideCartesianGrid = false, onClickChartElement, dateFilter, referenceLines, showLegend = false, stackedMode = false, }) {
|
|
15
16
|
const getCustomColor = (field) => {
|
|
16
17
|
const key = field.startsWith('comparison_') ? 'comparison' : 'primary';
|
|
17
18
|
field = field.replace('comparison_', '');
|
|
@@ -29,6 +30,12 @@ export default function BarChart({ colors, colorMap, yAxisFields, data, containe
|
|
|
29
30
|
}
|
|
30
31
|
return fields;
|
|
31
32
|
};
|
|
33
|
+
// Memoize the CustomBar creator for stacked bars
|
|
34
|
+
const customBarShape = useMemo(() => {
|
|
35
|
+
if (!theme?.barChartCornerRadius && !theme?.barChartCornerRadiusRatio)
|
|
36
|
+
return undefined;
|
|
37
|
+
return createCustomBar(sortYAxisFields([...yAxisFields]), theme);
|
|
38
|
+
}, [isStacked, yAxisFields]);
|
|
32
39
|
if (!data || data.length === 0) {
|
|
33
40
|
return (_jsx("div", { style: {
|
|
34
41
|
display: 'flex',
|
|
@@ -102,17 +109,15 @@ export default function BarChart({ colors, colorMap, yAxisFields, data, containe
|
|
|
102
109
|
fields: yAxisFields,
|
|
103
110
|
});
|
|
104
111
|
}, xAxisFormat: xAxisFormat, xAxisField: xAxisField, colors: colors, comparison: comparison, dateFilter: dateFilter, hideDot: showLegend }));
|
|
105
|
-
}, position: { y: 0 } }), sortYAxisFields([...yAxisFields]).map((elem
|
|
106
|
-
return (_jsx(Bar, {
|
|
107
|
-
? [0.1 * barWidth, 0.1 * barWidth, 0, 0]
|
|
108
|
-
: 0, dataKey: elem.field, stackId: stackedMode
|
|
112
|
+
}, position: { y: 0 } }), sortYAxisFields([...yAxisFields]).map((elem) => {
|
|
113
|
+
return (_jsx(Bar, { dataKey: elem.field, stackId: stackedMode
|
|
109
114
|
? 'same_id'
|
|
110
115
|
: isStacked
|
|
111
116
|
? elem.field.replace('comparison_', '')
|
|
112
117
|
: undefined, type: "linear", fill: getCustomColor(elem.field) ??
|
|
113
118
|
selectColor(elem, colors.length >= yAxisFields.length / (comparison ? 2 : 1)
|
|
114
119
|
? colors
|
|
115
|
-
: generateArrayFromColor(colors.slice(0, 2), yAxisFields.length), yAxisFields.findIndex((field) => field.field === elem.field?.replace('comparison_', ''))), isAnimationActive: isAnimationActive }, elem.field));
|
|
120
|
+
: generateArrayFromColor(colors.slice(0, 2), yAxisFields.length), yAxisFields.findIndex((field) => field.field === elem.field?.replace('comparison_', ''))), isAnimationActive: isAnimationActive, shape: customBarShape }, elem.field));
|
|
116
121
|
}), referenceLines &&
|
|
117
122
|
referenceLines.map(({ label, query }) => (_jsx(Customized, { component: (props) => (_jsx(CustomReferenceLine, { ...props, referenceLine: query, label: label })) }, label)))] }) }) }));
|
|
118
123
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { QuillTheme } from '../../QuillProvider';
|
|
2
|
+
interface CustomBarProps {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
fill: string;
|
|
8
|
+
payload?: Record<string, any>;
|
|
9
|
+
dataKey?: string;
|
|
10
|
+
yAxisFields?: Array<{
|
|
11
|
+
field: string;
|
|
12
|
+
}>;
|
|
13
|
+
cornerRadius?: number;
|
|
14
|
+
theme?: QuillTheme;
|
|
15
|
+
}
|
|
16
|
+
declare const CustomBar: import("react").MemoExoticComponent<(props: CustomBarProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
17
|
+
export default CustomBar;
|
|
18
|
+
//# sourceMappingURL=CustomBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomBar.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/CustomBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,UAAU,cAAc;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAyCD,QAAA,MAAM,SAAS,8CAAgB,cAAc,oDA0D3C,CAAC;AAIH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useMemo } from 'react';
|
|
3
|
+
function isTopMostBarWithValue(yAxisFields, dataKey, payload) {
|
|
4
|
+
if (!dataKey || !yAxisFields.length)
|
|
5
|
+
return false;
|
|
6
|
+
// Find the topmost field with a non-zero value
|
|
7
|
+
for (let i = yAxisFields.length - 1; i >= 0; i--) {
|
|
8
|
+
const field = yAxisFields[i]?.field;
|
|
9
|
+
const value = payload[field ?? ''];
|
|
10
|
+
if (value != null && value !== 0) {
|
|
11
|
+
return field === dataKey;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
function createRoundedPath(x, y, width, height, radius, roundTop) {
|
|
17
|
+
const r = Math.min(radius, width / 2, height / 2);
|
|
18
|
+
if (roundTop) {
|
|
19
|
+
return `M ${x + r} ${y} h ${width - 2 * r} q ${r} 0 ${r} ${r} v ${height - r} h -${width} v -${height - r} q 0 -${r} ${r} -${r} z`
|
|
20
|
+
.replace(/\s+/g, ' ')
|
|
21
|
+
.trim();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return `M ${x} ${y} h ${width} v ${height - r} q 0 ${r} -${r} ${r} h -${width + 2 * r} q -${r} 0 -${r} -${r} v -${height - r} z`
|
|
25
|
+
.replace(/\s+/g, ' ')
|
|
26
|
+
.trim();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const CustomBar = memo((props) => {
|
|
30
|
+
const { x, y, width, height, fill, yAxisFields = [], dataKey, payload = {}, theme, } = props;
|
|
31
|
+
if (width <= 0 || height === 0) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const customCornerRadius = theme?.barChartCornerRadius ??
|
|
35
|
+
(theme?.barChartCornerRadiusRatio
|
|
36
|
+
? theme?.barChartCornerRadiusRatio * width
|
|
37
|
+
: undefined);
|
|
38
|
+
const shouldRoundCorners = useMemo(() => {
|
|
39
|
+
return customCornerRadius !== undefined
|
|
40
|
+
? customCornerRadius > 0
|
|
41
|
+
: isTopMostBarWithValue(yAxisFields, dataKey, payload);
|
|
42
|
+
}, [customCornerRadius, yAxisFields, dataKey, payload]);
|
|
43
|
+
const radius = useMemo(() => {
|
|
44
|
+
return shouldRoundCorners
|
|
45
|
+
? Math.min(customCornerRadius || width * 0.1, width / 2, Math.abs(height) / 2)
|
|
46
|
+
: 0;
|
|
47
|
+
}, [shouldRoundCorners, customCornerRadius, width, height]);
|
|
48
|
+
// Handle both positive and negative heights
|
|
49
|
+
const isNegative = height < 0;
|
|
50
|
+
const absHeight = Math.abs(height);
|
|
51
|
+
const startY = isNegative ? y : y;
|
|
52
|
+
const endY = isNegative ? y + height : y + height;
|
|
53
|
+
const path = useMemo(() => {
|
|
54
|
+
if (isNegative) {
|
|
55
|
+
return radius > 0
|
|
56
|
+
? createRoundedPath(x, startY, width, absHeight, radius, false)
|
|
57
|
+
: `M ${x} ${startY} h ${width} v ${height} h -${width} z`;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return radius > 0
|
|
61
|
+
? createRoundedPath(x, endY - absHeight, width, absHeight, radius, true)
|
|
62
|
+
: `M ${x} ${endY} h ${width} v -${absHeight} h -${width} z`;
|
|
63
|
+
}
|
|
64
|
+
}, [x, startY, endY, width, height, absHeight, radius, isNegative]);
|
|
65
|
+
return _jsx("path", { d: path, fill: fill });
|
|
66
|
+
});
|
|
67
|
+
CustomBar.displayName = 'CustomBar';
|
|
68
|
+
export default CustomBar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/InternalChart.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InternalChart.d.ts","sourceRoot":"","sources":["../../../../src/components/Chart/InternalChart.tsx"],"names":[],"mappings":"AAoCA,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAQlE,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAiH5D;AAyFD,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,eAA+C,EAC/C,oBAAyD,EACzD,wBAA+C,EAC/C,eAAsC,EACtC,OAAO,EACP,uBAAuB,EACvB,mBAAmB,EACnB,OAAO,EACP,KAAK,EACL,OAAO,EACP,oBAAoB,EACpB,aAAa,GACd,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;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,2CAufA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect, useContext, useMemo, useRef, useLayoutEffect, } from 'react';
|
|
3
3
|
import { differenceInHours } from 'date-fns';
|
|
4
|
-
import { DashboardConfigContext, ReportFiltersContext, ThemeContext, } from '../../Context';
|
|
4
|
+
import { DashboardConfigContext, EventTrackingContext, ReportFiltersContext, ThemeContext, } from '../../Context';
|
|
5
5
|
import { QuillLoadingSkeleton } from '../../components/Chart/ChartSkeleton';
|
|
6
6
|
import ChartError from '../../components/Chart/ChartError';
|
|
7
7
|
import {
|
|
@@ -163,6 +163,7 @@ const TogglePrimitive = ({ value, onClick, style, disabled, }) => {
|
|
|
163
163
|
export default function InternalChart({ report, colors, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter = false, filtersEnabled, setFiltersEnabled, mapColorsToFields, LoadingComponent = QuillLoadingSkeleton, SelectComponent = QuillSelectComponentWithCombo, MultiSelectComponent = QuillMultiSelectComponentWithCombo, DateRangePickerComponent = QuillDateRangePicker, MetricComponent = QuillMetricComponent, filters, onDashboardFilterChange, onClickChartElement, loading, error, isAdmin, filterToggleDisabled, layoutChanged, }) {
|
|
164
164
|
const { reportFilters } = useContext(ReportFiltersContext);
|
|
165
165
|
const { dashboardConfig } = useContext(DashboardConfigContext);
|
|
166
|
+
const { eventTracking } = useContext(EventTrackingContext);
|
|
166
167
|
const currentReportFilters = useMemo(() => {
|
|
167
168
|
const dashFilters = dashboardConfig[report?.dashboardName ?? '']?.config.filters;
|
|
168
169
|
if (!dashFilters)
|
|
@@ -228,6 +229,17 @@ export default function InternalChart({ report, colors, className, containerStyl
|
|
|
228
229
|
}
|
|
229
230
|
}, [report, theme]);
|
|
230
231
|
const updateFilter = (filter, value, comparison) => {
|
|
232
|
+
eventTracking?.addBreadcrumb?.({
|
|
233
|
+
message: 'Updated filter in InternalChart',
|
|
234
|
+
data: {
|
|
235
|
+
filter: filter,
|
|
236
|
+
value: value,
|
|
237
|
+
comparison: comparison,
|
|
238
|
+
},
|
|
239
|
+
category: 'log',
|
|
240
|
+
level: 'info',
|
|
241
|
+
timestamp: Date.now(),
|
|
242
|
+
});
|
|
231
243
|
let filterValue = {};
|
|
232
244
|
if (filter.filterType === DashboardFilterVariant.String) {
|
|
233
245
|
if (filter.stringFilterType === 'multiselect') {
|
|
@@ -361,7 +373,18 @@ export default function InternalChart({ report, colors, className, containerStyl
|
|
|
361
373
|
border: `1px solid ${theme?.borderColor ?? 'black'}`,
|
|
362
374
|
padding: 8,
|
|
363
375
|
borderRadius: 6,
|
|
364
|
-
}, children: [_jsx(TogglePrimitive, { value: filtersEnabled, onClick: () =>
|
|
376
|
+
}, children: [_jsx(TogglePrimitive, { value: filtersEnabled, onClick: () => {
|
|
377
|
+
setFiltersEnabled(!filtersEnabled);
|
|
378
|
+
eventTracking?.addBreadcrumb?.({
|
|
379
|
+
message: 'Toggled filters in InternalChart',
|
|
380
|
+
data: {
|
|
381
|
+
filtersEnabled: !filtersEnabled,
|
|
382
|
+
},
|
|
383
|
+
category: 'interaction',
|
|
384
|
+
level: 'info',
|
|
385
|
+
timestamp: Date.now(),
|
|
386
|
+
});
|
|
387
|
+
}, style: {
|
|
365
388
|
marginTop: 2,
|
|
366
389
|
cursor: filterToggleDisabled ? 'not-allowed' : 'pointer',
|
|
367
390
|
}, disabled: filterToggleDisabled }), _jsx("h1", { style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DashboardTemplate.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DashboardTemplate.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,IAAI,EACJ,eAAe,EACf,MAAM,EACN,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,GAChB,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,cAAc,EAAE,GAAG,CAAC;IACpB,cAAc,EAAE,GAAG,CAAC;IACpB,sBAAsB,EAAE,GAAG,CAAC;IAC5B,uBAAuB,EAAE,GAAG,CAAC;IAC7B,sBAAsB,EAAE,GAAG,CAAC;IAC5B,eAAe,EAAE,GAAG,CAAC;CACtB,kDA6GA"}
|
|
@@ -2,11 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useContext, useState } from 'react';
|
|
3
3
|
import { addTemplatesToDashboard, validateTemplatesAgainstFilters, } from './util';
|
|
4
4
|
import { useDashboardInternal } from '../../hooks/useDashboard';
|
|
5
|
-
import { DashboardConfigContext, FetchContext } from '../../Context';
|
|
5
|
+
import { DashboardConfigContext, EventTrackingContext, FetchContext, } from '../../Context';
|
|
6
6
|
import Dashboard from '../../Dashboard';
|
|
7
7
|
export default function QuillDashboardTemplate({ name, originDashboard, client, appliedFilters, ModalComponent, TemplateChartComponent, TemplateMetricComponent, TemplateTableComponent, ButtonComponent, }) {
|
|
8
8
|
const { isLoading, data } = useDashboardInternal(name ?? '');
|
|
9
9
|
const { getToken } = useContext(FetchContext);
|
|
10
|
+
const { eventTracking } = useContext(EventTrackingContext);
|
|
10
11
|
const { dashboardConfig, dashboardConfigDispatch } = useContext(DashboardConfigContext);
|
|
11
12
|
const [addItemModalIsOpen, setAddItemModalIsOpen] = useState(false);
|
|
12
13
|
const [selectedTemplates, setSelectedTemplates] = useState([]);
|
|
@@ -24,7 +25,7 @@ export default function QuillDashboardTemplate({ name, originDashboard, client,
|
|
|
24
25
|
setAddItemModalIsOpen(false);
|
|
25
26
|
const newTemplates = selectedTemplates;
|
|
26
27
|
setSelectedTemplates([]);
|
|
27
|
-
const newData = await addTemplatesToDashboard(originDashboard, newTemplates, client, dashboardConfig, getToken);
|
|
28
|
+
const newData = await addTemplatesToDashboard(originDashboard, newTemplates, client, dashboardConfig, getToken, eventTracking);
|
|
28
29
|
if (newData) {
|
|
29
30
|
// Dispatch the action to update the dashboard state
|
|
30
31
|
dashboardConfigDispatch({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA4B9E,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AA6KF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAAoB,EAAE,2BAA2B,EACjD,aAAa,EACb,gBAAgB,GACjB,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CAwZd;AAED,KAAK,YAAY,GAAG;IAClB,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,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe,iHASzB;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC9C,KAAG,GAAG,CAAC,OAkNP,CAAC"}
|