@quillsql/admin 1.6.4 → 1.7.0
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/Admin.d.ts +11 -8
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +114 -7
- package/dist/cjs/AdminProvider.d.ts +24 -5
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +173 -85
- package/dist/cjs/api/ConnectionClient.d.ts +6 -3
- package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
- package/dist/cjs/api/ConnectionClient.js +66 -6
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/XIcon.d.ts.map +1 -1
- package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
- package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
- package/dist/cjs/components/DashboardSelectPopover.js +29 -1
- package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
- package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/InternalDashboard.js +114 -34
- package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
- package/dist/cjs/components/OrgSelect.js +48 -4
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +5 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +328 -149
- package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
- package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelectWithCombo.js +34 -6
- package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
- package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
- package/dist/cjs/components/SqlTextEditor.js +15 -2
- package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
- package/dist/cjs/components/Tenants/EditTenant.js +51 -8
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +1 -0
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.js +50 -2
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.js +33 -1
- package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
- package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +55 -21
- package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +1 -1
- package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +1 -1
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +92 -10
- package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
- package/dist/cjs/hooks/useDatabaseSchema.js +12 -1
- 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/useOnClickOutside.d.ts.map +1 -1
- package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
- package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
- package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
- package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
- package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
- package/dist/cjs/modals/CodePreview.js +7 -2
- package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
- package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
- package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
- package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
- package/dist/cjs/modals/EditEnvironmentModal.js +67 -15
- package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
- package/dist/cjs/modals/EditFiltersModal.js +12 -8
- package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
- package/dist/cjs/modals/NewDashboardModal.js +54 -28
- package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteReportModal.js +15 -4
- package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteViewModal.js +13 -2
- package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
- package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/PopoverPrimitive.js +16 -5
- package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
- package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
- package/dist/cjs/public_components/ChartQueryBuilder.js +6 -6
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +49 -16
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +63 -5
- package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/cjs/public_components/EnvSelectPopover.js +31 -3
- package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
- package/dist/cjs/public_components/VirtualTableManager.js +95 -5
- package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +41 -2
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +6 -1
- package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
- package/dist/cjs/utils/databases.d.ts +6 -1
- package/dist/cjs/utils/databases.d.ts.map +1 -1
- package/dist/cjs/utils/databases.js +18 -0
- package/dist/cjs/utils/delay.d.ts.map +1 -1
- package/dist/cjs/utils/filter.d.ts +17 -21
- package/dist/cjs/utils/filter.d.ts.map +1 -1
- package/dist/cjs/utils/filter.js +6 -6
- package/dist/cjs/utils/report.d.ts +5 -5
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/schema.d.ts +6 -3
- package/dist/cjs/utils/schema.d.ts.map +1 -1
- package/dist/cjs/utils/schema.js +42 -3
- package/dist/cjs/utils/table.d.ts.map +1 -1
- package/dist/cjs/utils/tenants.d.ts.map +1 -1
- package/dist/cjs/utils/ui.d.ts.map +1 -1
- package/dist/esm/Admin.d.ts +11 -8
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +115 -8
- package/dist/esm/AdminProvider.d.ts +24 -5
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +174 -86
- package/dist/esm/api/ConnectionClient.d.ts +6 -3
- package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
- package/dist/esm/api/ConnectionClient.js +66 -6
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/XIcon.d.ts.map +1 -1
- package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
- package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
- package/dist/esm/components/DashboardSelectPopover.js +29 -1
- package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
- package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/DashboardFilter.js +1 -1
- package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/InternalDashboard.js +115 -35
- package/dist/esm/components/OrgSelect.d.ts.map +1 -1
- package/dist/esm/components/OrgSelect.js +48 -4
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +5 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +328 -149
- package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
- package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillSelectWithCombo.js +34 -6
- package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
- package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
- package/dist/esm/components/SqlTextEditor.js +15 -2
- package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
- package/dist/esm/components/Tenants/EditTenant.js +51 -8
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +1 -0
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.js +50 -2
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.js +33 -1
- package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
- package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/CreateVirtualTables.js +56 -22
- package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +1 -1
- package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +1 -1
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +93 -11
- package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
- package/dist/esm/hooks/useDatabaseSchema.js +12 -1
- 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/useOnClickOutside.d.ts.map +1 -1
- package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
- package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
- package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
- package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
- package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
- package/dist/esm/modals/CodePreview.d.ts.map +1 -1
- package/dist/esm/modals/CodePreview.js +7 -2
- package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
- package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
- package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
- package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
- package/dist/esm/modals/EditEnvironmentModal.js +67 -15
- package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
- package/dist/esm/modals/EditFiltersModal.js +13 -9
- package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
- package/dist/esm/modals/NewDashboardModal.js +55 -29
- package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteReportModal.js +15 -4
- package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteViewModal.js +13 -2
- package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
- package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/PopoverPrimitive.js +16 -5
- package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
- package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
- package/dist/esm/public_components/ChartQueryBuilder.js +8 -8
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +49 -16
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +64 -6
- package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/esm/public_components/EnvSelectPopover.js +31 -3
- package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
- package/dist/esm/public_components/VirtualTableManager.js +95 -5
- package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +41 -2
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +6 -1
- package/dist/esm/utils/dataEditor.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/databases.d.ts +6 -1
- package/dist/esm/utils/databases.d.ts.map +1 -1
- package/dist/esm/utils/databases.js +18 -0
- package/dist/esm/utils/delay.d.ts.map +1 -1
- package/dist/esm/utils/filter.d.ts +17 -21
- package/dist/esm/utils/filter.d.ts.map +1 -1
- package/dist/esm/utils/filter.js +5 -5
- package/dist/esm/utils/report.d.ts +5 -5
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/schema.d.ts +6 -3
- package/dist/esm/utils/schema.d.ts.map +1 -1
- package/dist/esm/utils/schema.js +42 -3
- package/dist/esm/utils/table.d.ts.map +1 -1
- package/dist/esm/utils/tenants.d.ts.map +1 -1
- package/dist/esm/utils/ui.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/Admin.js
CHANGED
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import { useState, useEffect, useRef, useCallback } from 'react';
|
|
4
4
|
import {
|
|
5
5
|
// QuillProvider,
|
|
6
|
-
ChartEditor, ReportBuilder, useQuill, } from '@quillsql/react';
|
|
6
|
+
ChartEditor, ReportBuilder, useDashboardInternal, useQuill, } from '@quillsql/react';
|
|
7
7
|
import { Highlight, themes } from 'prism-react-renderer';
|
|
8
8
|
// import { DashboardManager } from './components';
|
|
9
9
|
import {
|
|
@@ -251,7 +251,8 @@ const FakeSQLEditorModal = ({ children, isOpen, }) => {
|
|
|
251
251
|
return _jsx("div", { style: { height: '100%' }, children: children });
|
|
252
252
|
};
|
|
253
253
|
function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSave, ModalComponent = MemoizedModal, fallbackData, }) {
|
|
254
|
-
const { state, dispatch, getToken } = useAdmin();
|
|
254
|
+
const { state, dispatch, getToken, eventTracking, quillFetchWithToken } = useAdmin();
|
|
255
|
+
const { reload } = useDashboardInternal(state.selectedDashboard);
|
|
255
256
|
const { data, loading } = useQuill(reportId, {
|
|
256
257
|
rowsPerPage: 10,
|
|
257
258
|
rowsPerRequest: 100,
|
|
@@ -290,6 +291,59 @@ function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSa
|
|
|
290
291
|
setIsOpenChartBuilder(isOpen);
|
|
291
292
|
setIsOpen(isOpen);
|
|
292
293
|
};
|
|
294
|
+
const handleDuplicateReport = async () => {
|
|
295
|
+
if (!state.client?.clientId) {
|
|
296
|
+
console.error('No client in state');
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
const clientId = state.client.clientId;
|
|
300
|
+
// self-promote
|
|
301
|
+
try {
|
|
302
|
+
const respJson = await quillFetchWithToken({
|
|
303
|
+
client: {
|
|
304
|
+
queryEndpoint: state.queryEndpoint,
|
|
305
|
+
clientId,
|
|
306
|
+
queryHeaders: state.queryHeaders,
|
|
307
|
+
withCredentials: !!state.withCredentials,
|
|
308
|
+
},
|
|
309
|
+
task: 'promote-item',
|
|
310
|
+
metadata: {
|
|
311
|
+
clientId,
|
|
312
|
+
fromClientId: clientId,
|
|
313
|
+
toClientId: clientId,
|
|
314
|
+
dashboardName: data?.dashboardName,
|
|
315
|
+
itemId: reportId,
|
|
316
|
+
skipWarning: true,
|
|
317
|
+
},
|
|
318
|
+
adminMode: true,
|
|
319
|
+
});
|
|
320
|
+
if (respJson?.error) {
|
|
321
|
+
alert(respJson?.error);
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
const respData = respJson?.data;
|
|
325
|
+
if (respData.error) {
|
|
326
|
+
alert(respData.error);
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
alert('Report duplicated successfully.');
|
|
330
|
+
reload(state.selectedDashboard ?? undefined, true);
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
eventTracking?.logError?.({
|
|
334
|
+
type: 'bug', // TODO: determine type
|
|
335
|
+
severity: 'high',
|
|
336
|
+
message: 'Error promoting report',
|
|
337
|
+
errorMessage: error.message,
|
|
338
|
+
errorStack: error.stack,
|
|
339
|
+
errorData: {
|
|
340
|
+
caller: 'PromoteReportModal',
|
|
341
|
+
function: 'handlePromote',
|
|
342
|
+
},
|
|
343
|
+
});
|
|
344
|
+
console.error('Promotion failed:', error);
|
|
345
|
+
}
|
|
346
|
+
};
|
|
293
347
|
if ((!data && !fallbackData) || loading) {
|
|
294
348
|
return null;
|
|
295
349
|
}
|
|
@@ -323,6 +377,12 @@ function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSa
|
|
|
323
377
|
alignItems: 'center',
|
|
324
378
|
gap: 5,
|
|
325
379
|
}, onClick: () => {
|
|
380
|
+
eventTracking?.addBreadcrumb?.({
|
|
381
|
+
message: 'Clicked edit chart button in QuillReportDetail',
|
|
382
|
+
category: 'navigation',
|
|
383
|
+
level: 'info',
|
|
384
|
+
timestamp: Date.now(),
|
|
385
|
+
});
|
|
326
386
|
setIsOpenChartBuilder(true);
|
|
327
387
|
dispatch({
|
|
328
388
|
type: 'SET_ACTIVE_QUERY',
|
|
@@ -350,6 +410,12 @@ function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSa
|
|
|
350
410
|
dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
|
|
351
411
|
return;
|
|
352
412
|
}
|
|
413
|
+
eventTracking?.addBreadcrumb?.({
|
|
414
|
+
message: 'Clicked edit query button in QuillReportDetail',
|
|
415
|
+
category: 'navigation',
|
|
416
|
+
level: 'info',
|
|
417
|
+
timestamp: Date.now(),
|
|
418
|
+
});
|
|
353
419
|
dispatch({
|
|
354
420
|
type: 'SET_ACTIVE_QUERY',
|
|
355
421
|
payload: data?.queryString || fallbackData?.queryString,
|
|
@@ -378,6 +444,12 @@ function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSa
|
|
|
378
444
|
gap: 4,
|
|
379
445
|
}, onClick: () => {
|
|
380
446
|
setIsPromoteReportModalOpen(true);
|
|
447
|
+
eventTracking?.addBreadcrumb?.({
|
|
448
|
+
message: 'Clicked promote report button in QuillReportDetail',
|
|
449
|
+
category: 'navigation',
|
|
450
|
+
level: 'info',
|
|
451
|
+
timestamp: Date.now(),
|
|
452
|
+
});
|
|
381
453
|
}, className: "secondary-button-quill", children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 14, width: 14, children: _jsx("path", { fillRule: "evenodd", d: "M11.47 2.47a.75.75 0 0 1 1.06 0l4.5 4.5a.75.75 0 0 1-1.06 1.06l-3.22-3.22V16.5a.75.75 0 0 1-1.5 0V4.81L8.03 8.03a.75.75 0 0 1-1.06-1.06l4.5-4.5ZM3 15.75a.75.75 0 0 1 .75.75v2.25a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5V16.5a.75.75 0 0 1 1.5 0v2.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V16.5a.75.75 0 0 1 .75-.75Z", clipRule: "evenodd" }) }), "Promote"] }), _jsxs("button", { style: {
|
|
382
454
|
height: 36,
|
|
383
455
|
color: state.theme?.secondaryTextColor,
|
|
@@ -393,7 +465,36 @@ function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSa
|
|
|
393
465
|
flexDirection: 'row',
|
|
394
466
|
alignItems: 'center',
|
|
395
467
|
gap: 4,
|
|
468
|
+
}, onClick: () => {
|
|
469
|
+
eventTracking?.addBreadcrumb?.({
|
|
470
|
+
message: 'Clicked duplicate report button in QuillReportDetail',
|
|
471
|
+
category: 'navigation',
|
|
472
|
+
level: 'info',
|
|
473
|
+
timestamp: Date.now(),
|
|
474
|
+
});
|
|
475
|
+
handleDuplicateReport();
|
|
476
|
+
}, className: "secondary-button-quill", children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 14, width: 14, children: _jsx("path", { fillRule: "evenodd", d: "M15.75 2.25a3 3 0 0 0-3 3v4.5a3 3 0 0 0 3 3h4.5a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-4.5ZM9.75 9.75a3 3 0 0 0-3 3v4.5a3 3 0 0 0 3 3h4.5a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-4.5ZM3 6a3 3 0 0 0-3 3v4.5a3 3 0 0 0 3 3h4.5a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3H3Z", clipRule: "evenodd" }) }), "Duplicate"] }), _jsxs("button", { style: {
|
|
477
|
+
height: 36,
|
|
478
|
+
color: state.theme?.secondaryTextColor,
|
|
479
|
+
border: '1px solid #e7e7e7',
|
|
480
|
+
borderRadius: 6,
|
|
481
|
+
outline: 'none',
|
|
482
|
+
cursor: 'pointer',
|
|
483
|
+
fontFamily: state.theme?.fontFamily,
|
|
484
|
+
fontWeight: state.theme?.buttonFontWeight || 500,
|
|
485
|
+
fontSize: 14,
|
|
486
|
+
padding: '0px 12px',
|
|
487
|
+
display: 'flex',
|
|
488
|
+
flexDirection: 'row',
|
|
489
|
+
alignItems: 'center',
|
|
490
|
+
gap: 4,
|
|
396
491
|
}, onClick: async () => {
|
|
492
|
+
eventTracking?.addBreadcrumb?.({
|
|
493
|
+
message: 'Clicked delete report button in QuillReportDetail',
|
|
494
|
+
category: 'interaction',
|
|
495
|
+
level: 'info',
|
|
496
|
+
timestamp: Date.now(),
|
|
497
|
+
});
|
|
397
498
|
if (await deleteReport(reportId)) {
|
|
398
499
|
setIsOpen(false);
|
|
399
500
|
}
|
|
@@ -425,7 +526,7 @@ function QuillReportDetail({ reportId, isOpen, setIsOpen, deleteReport, handleSa
|
|
|
425
526
|
}, destinationDashboard: data.dashboardName })) : null, _jsx(PromoteReportModal, { ModalComponent: ModalPrimitive, HeaderComponent: HeaderPrimitive, ButtonComponent: MemoizedButton, SelectComponent: QuillSelectComponentWithCombo, CheckboxComponent: CheckboxPrimitive, isOpen: isPromoteReportModalOpen, setIsOpen: setIsPromoteReportModalOpen, reportId: reportId, currentClientId: state.client._id, currentDashboardName: state.selectedDashboard || '' })] }) })] }) }) }));
|
|
426
527
|
}
|
|
427
528
|
function QueryEditor({ onSave }) {
|
|
428
|
-
const { state, dispatch } = useAdmin();
|
|
529
|
+
const { state, dispatch, onRequestAddVirtualTable } = useAdmin();
|
|
429
530
|
const modeToggleOptions = [
|
|
430
531
|
{ label: 'SQL Editor', value: 'SQL Editor' },
|
|
431
532
|
{ label: 'Report Builder', value: 'Report Builder' },
|
|
@@ -486,7 +587,7 @@ function QueryEditor({ onSave }) {
|
|
|
486
587
|
width: '100%',
|
|
487
588
|
}, isAIEnabled: state.client?.databaseType?.toLowerCase() === 'mssql'
|
|
488
589
|
? false
|
|
489
|
-
: true })) : (_jsx(SQLEditor, { isChartBuilderHorizontalView: true, isAdminEnabled: true, defaultQuery: state.activeQuery, addToDashboardButtonLabel: state.activeQuery ? 'Save changes' : 'Add to dashboard', chartBuilderTitle: state.activeQuery ? 'Save changes' : 'Add to dashboard', report: state.activeQuery ? state.activeEditItem : undefined, destinationDashboard: state.activeEditItem.dashboardName, onDiscardChanges: () => {
|
|
590
|
+
: true, onRequestAddVirtualTable: onRequestAddVirtualTable })) : (_jsx(SQLEditor, { isChartBuilderHorizontalView: true, isAdminEnabled: true, defaultQuery: state.activeQuery, addToDashboardButtonLabel: state.activeQuery ? 'Save changes' : 'Add to dashboard', chartBuilderTitle: state.activeQuery ? 'Save changes' : 'Add to dashboard', report: state.activeQuery ? state.activeEditItem : undefined, destinationDashboard: state.activeEditItem.dashboardName, onDiscardChanges: () => {
|
|
490
591
|
dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
|
|
491
592
|
dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
|
|
492
593
|
setIsChartBuilderOpen(false);
|
|
@@ -504,28 +605,34 @@ function QueryEditor({ onSave }) {
|
|
|
504
605
|
width: '100%',
|
|
505
606
|
},
|
|
506
607
|
// @ts-ignore
|
|
507
|
-
ModalComponent: FakeSQLEditorModal, ButtonComponent: MemoizedButton, isChartBuilderEnabled: true })) })] }));
|
|
608
|
+
ModalComponent: FakeSQLEditorModal, ButtonComponent: MemoizedButton, isChartBuilderEnabled: true, onRequestAddVirtualTable: onRequestAddVirtualTable })) })] }));
|
|
508
609
|
}
|
|
509
610
|
export function ReportWrapper({ ModalComponent, isOpen, setIsOpen, reloadDashboard, }) {
|
|
510
|
-
const { state, getToken } = useAdmin();
|
|
611
|
+
const { state, getToken, eventTracking } = useAdmin();
|
|
511
612
|
const handleSave = (reportAction) => {
|
|
512
613
|
reloadDashboard(reportAction);
|
|
513
614
|
};
|
|
514
615
|
return (_jsx(QuillReportDetail, { reportId: state.reportId, isOpen: isOpen, setIsOpen: setIsOpen, deleteReport: async (reportId) => {
|
|
515
|
-
const success = await deleteReport(reportId, state, getToken);
|
|
616
|
+
const success = await deleteReport(reportId, state, getToken, eventTracking);
|
|
516
617
|
if (success) {
|
|
517
618
|
handleSave({ report: { id: reportId }, action: 'delete' });
|
|
518
619
|
}
|
|
519
620
|
return success;
|
|
520
621
|
}, handleSave: handleSave, ModalComponent: ModalComponent, fallbackData: state.report }));
|
|
521
622
|
}
|
|
522
|
-
export const deleteReport = async (reportId, state, getToken) => {
|
|
623
|
+
export const deleteReport = async (reportId, state, getToken, eventTracking) => {
|
|
523
624
|
if (!state.client) {
|
|
524
625
|
return false;
|
|
525
626
|
}
|
|
526
627
|
if (!confirm('Are you sure?')) {
|
|
527
628
|
return false;
|
|
528
629
|
}
|
|
630
|
+
eventTracking?.addBreadcrumb?.({
|
|
631
|
+
message: 'Confirmed delete report button in QuillReportDetail',
|
|
632
|
+
category: 'interaction',
|
|
633
|
+
level: 'info',
|
|
634
|
+
timestamp: Date.now(),
|
|
635
|
+
});
|
|
529
636
|
await quillFetch({
|
|
530
637
|
client: {
|
|
531
638
|
queryEndpoint: state.queryEndpoint,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { QuillProviderClient, QuillTheme } from './Admin';
|
|
3
|
+
import { EventTracking } from '@quillsql/react';
|
|
3
4
|
import { QuillReportInternal } from './utils/report';
|
|
4
5
|
import { QuillTenant } from './utils/tenants';
|
|
5
|
-
import { ColumnsByTable } from './utils/table';
|
|
6
|
+
import { ColumnsByTable, Table } from './utils/table';
|
|
6
7
|
import { QuillFetchOptions, QuillResults } from './utils/dataFetcher';
|
|
7
8
|
export interface State {
|
|
8
9
|
loading: boolean;
|
|
@@ -15,7 +16,7 @@ export interface State {
|
|
|
15
16
|
activeQuery: string;
|
|
16
17
|
activeSavedQueryReportId: string;
|
|
17
18
|
activeEditItem: QuillReportInternal | undefined;
|
|
18
|
-
tables:
|
|
19
|
+
tables: Table[];
|
|
19
20
|
schema: any[];
|
|
20
21
|
databaseSchema: {
|
|
21
22
|
schema: ColumnsByTable[];
|
|
@@ -32,7 +33,9 @@ export interface State {
|
|
|
32
33
|
navigateToDashboardManager?: () => void;
|
|
33
34
|
navigateToDashboardBuilder?: () => void;
|
|
34
35
|
navigateToVirtualTableBuilder?: (element: any) => void;
|
|
36
|
+
/** @deprecated Use clerkOrgId instead */
|
|
35
37
|
domainName?: string;
|
|
38
|
+
clerkOrgId?: string;
|
|
36
39
|
databaseTypeMismatch: {
|
|
37
40
|
show: boolean;
|
|
38
41
|
backendDatabaseType: string;
|
|
@@ -71,7 +74,7 @@ type Action = {
|
|
|
71
74
|
payload: any;
|
|
72
75
|
} | {
|
|
73
76
|
type: 'SET_TABLES';
|
|
74
|
-
payload:
|
|
77
|
+
payload: Table[];
|
|
75
78
|
} | {
|
|
76
79
|
type: 'SET_ACTIVE_COMPONENT';
|
|
77
80
|
payload: string;
|
|
@@ -133,23 +136,39 @@ type Action = {
|
|
|
133
136
|
} | {
|
|
134
137
|
type: 'SET_QUERY_HEADERS';
|
|
135
138
|
payload: object | undefined;
|
|
139
|
+
} | {
|
|
140
|
+
type: 'SET_PUBLIC_KEY';
|
|
141
|
+
payload: string;
|
|
142
|
+
} | {
|
|
143
|
+
type: 'SET_CLERK_ORG_ID';
|
|
144
|
+
payload: string;
|
|
145
|
+
} | {
|
|
146
|
+
type: 'SET_ALL_STATE';
|
|
147
|
+
payload: any;
|
|
136
148
|
};
|
|
137
149
|
declare const useAdmin: () => {
|
|
138
150
|
state: State;
|
|
139
151
|
dispatch: React.Dispatch<Action>;
|
|
140
152
|
clientLoading: boolean;
|
|
141
|
-
setClient: (client: QuillProviderClient,
|
|
153
|
+
setClient: (client: QuillProviderClient, fetchTenantInfo?: boolean) => void;
|
|
142
154
|
getToken: () => Promise<string>;
|
|
143
155
|
quillFetchWithToken: (options: Omit<QuillFetchOptions, "getToken">) => Promise<QuillResults>;
|
|
156
|
+
eventTracking: EventTracking | null;
|
|
157
|
+
onOnboardComplete?: (client: any) => void;
|
|
158
|
+
onRequestAddVirtualTable?: () => void;
|
|
144
159
|
};
|
|
145
160
|
interface BaseQuillProviderProps {
|
|
146
161
|
publicKey?: string;
|
|
147
162
|
children?: React.ReactNode;
|
|
163
|
+
/** @deprecated Use clerkOrgId instead */
|
|
148
164
|
domainName?: string;
|
|
165
|
+
clerkOrgId?: string | null;
|
|
149
166
|
onOnboardComplete?: (client: any) => void;
|
|
150
167
|
flagsList?: string[];
|
|
151
168
|
getAuthorizationToken?: () => Promise<string>;
|
|
152
169
|
theme?: QuillTheme;
|
|
170
|
+
eventTracking?: EventTracking | null;
|
|
171
|
+
onRequestAddVirtualTable?: () => void;
|
|
153
172
|
}
|
|
154
173
|
interface QuillCloudProviderProps extends BaseQuillProviderProps {
|
|
155
174
|
queryEndpoint?: never;
|
|
@@ -162,7 +181,7 @@ interface SelfHostedProviderProps extends BaseQuillProviderProps {
|
|
|
162
181
|
withCredentials?: boolean;
|
|
163
182
|
}
|
|
164
183
|
export type QuillProviderProps = QuillCloudProviderProps | SelfHostedProviderProps;
|
|
165
|
-
declare function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withCredentials,
|
|
184
|
+
declare function AdminProvider({ children, publicKey, queryEndpoint, queryHeaders, withCredentials, clerkOrgId, onOnboardComplete, flagsList, getAuthorizationToken, theme, eventTracking, onRequestAddVirtualTable, }: QuillProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
166
185
|
export declare function getClientTenantIds({ queryEndpoint, queryHeaders, withCredentials, tenant, clientId, getToken, }: {
|
|
167
186
|
queryEndpoint: string;
|
|
168
187
|
queryHeaders?: object;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminProvider.d.ts","sourceRoot":"","sources":["../../src/AdminProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AdminProvider.d.ts","sourceRoot":"","sources":["../../src/AdminProvider.tsx"],"names":[],"mappings":"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"}
|