@quillsql/admin 1.6.4 → 1.7.1
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 +3 -44
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +117 -28
- package/dist/cjs/AdminProvider.d.ts +9 -145
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +176 -97
- package/dist/cjs/api/ConnectionClient.d.ts +7 -4
- 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/Banner/index.js +2 -2
- package/dist/cjs/components/CardSection.js +2 -2
- 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/DatabaseSelector.d.ts +1 -1
- package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +2 -2
- package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +2 -2
- package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.js +2 -2
- package/dist/cjs/components/DynamicBanner.d.ts +1 -1
- package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
- package/dist/cjs/components/EmptyDashboardComponent/index.js +2 -2
- package/dist/cjs/components/EmptyVirtualTablesComponent.js +2 -2
- package/dist/cjs/components/FormTooltip.js +2 -2
- package/dist/cjs/components/InputLabel.js +2 -2
- 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/DashboardFilter.js +2 -2
- package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +2 -2
- 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 +118 -38
- package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
- package/dist/cjs/components/OrgSelect.js +51 -7
- 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 +331 -152
- package/dist/cjs/components/QuillPopover.js +2 -2
- package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
- package/dist/cjs/components/QuillSelect.js +2 -2
- 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 +36 -8
- package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
- package/dist/cjs/components/QuillToolTipPortal.js +2 -2
- 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 +1 -1
- package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
- package/dist/cjs/components/Tenants/EditTenant.js +52 -9
- package/dist/cjs/components/UiComponents.d.ts +1 -1
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +9 -8
- package/dist/cjs/components/VirtualTableTile.d.ts +1 -1
- package/dist/cjs/components/VirtualTableTile.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.js +51 -3
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.js +34 -2
- package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +1 -8
- package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +24 -39
- package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.js +2 -2
- package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +5 -5
- package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +5 -5
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts +1 -1
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +98 -16
- package/dist/cjs/hooks/useAdmin.d.ts +16 -0
- package/dist/cjs/hooks/useAdmin.d.ts.map +1 -0
- package/dist/cjs/hooks/useAdmin.js +13 -0
- package/dist/cjs/hooks/useDashboardManager.js +2 -2
- package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
- package/dist/cjs/hooks/useDatabaseSchema.js +13 -2
- 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/useTenants.d.ts +1 -1
- package/dist/cjs/hooks/useTenants.d.ts.map +1 -1
- package/dist/cjs/hooks/useTenants.js +2 -2
- 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 +8 -3
- 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 +68 -16
- package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
- package/dist/cjs/modals/EditFiltersModal.js +14 -10
- package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
- package/dist/cjs/modals/NewDashboardModal.js +56 -30
- package/dist/cjs/modals/PromoteDashboardModal.js +2 -2
- package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteReportModal.js +16 -5
- package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
- package/dist/cjs/modals/PromoteViewModal.js +14 -3
- package/dist/cjs/modals/ReorderDashboardModal.js +2 -2
- package/dist/cjs/modals/SavedQueriesModal.js +3 -3
- package/dist/cjs/modals/TenantFieldModal.d.ts +9 -0
- package/dist/cjs/modals/TenantFieldModal.d.ts.map +1 -0
- package/dist/cjs/modals/TenantFieldModal.js +54 -0
- package/dist/cjs/models/AdminContext.d.ts +158 -0
- package/dist/cjs/models/AdminContext.d.ts.map +1 -0
- package/dist/cjs/models/AdminContext.js +5 -0
- package/dist/cjs/models/Provider.d.ts +45 -0
- package/dist/cjs/models/Provider.d.ts.map +1 -0
- package/dist/cjs/models/Provider.js +21 -0
- package/dist/cjs/models/Tenant.d.ts +39 -0
- package/dist/cjs/models/Tenant.d.ts.map +1 -0
- package/dist/cjs/models/Tenant.js +2 -0
- package/dist/cjs/primitives/ButtonPrimitive.d.ts +1 -1
- package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/ButtonPrimitive.js +2 -2
- package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
- package/dist/cjs/primitives/HeaderPrimitive.d.ts +1 -1
- package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/HeaderPrimitive.js +2 -2
- package/dist/cjs/primitives/MiniButtonPrimitive.js +2 -2
- package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/PopoverPrimitive.js +18 -7
- package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts +1 -1
- package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/SecondaryButtonPrimitive.js +2 -2
- package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -1
- package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/TextInputPrimitive.js +2 -2
- 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 +11 -10
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +50 -17
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +70 -10
- package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/cjs/public_components/EnvSelectPopover.js +32 -4
- package/dist/cjs/public_components/VirtualTableManager.d.ts +0 -1
- package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
- package/dist/cjs/public_components/VirtualTableManager.js +99 -25
- package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +43 -4
- package/dist/cjs/utils/astProcessing.d.ts +1 -1
- package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.d.ts +1 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +23 -1
- package/dist/cjs/utils/dataEditor.d.ts +1 -1
- package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
- package/dist/cjs/utils/dataFetcher.d.ts +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 +8 -5
- 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 +2 -39
- 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 +3 -44
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +116 -29
- package/dist/esm/AdminProvider.d.ts +9 -145
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +177 -96
- package/dist/esm/api/ConnectionClient.d.ts +7 -4
- 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/Banner/index.js +1 -1
- package/dist/esm/components/CardSection.js +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/DatabaseSelector.d.ts +1 -1
- package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/esm/components/DateRangePicker/SingleDatePicker.js +1 -1
- package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +1 -1
- package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.js +1 -1
- package/dist/esm/components/DynamicBanner.d.ts +1 -1
- package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
- package/dist/esm/components/EmptyDashboardComponent/index.js +1 -1
- package/dist/esm/components/EmptyVirtualTablesComponent.js +1 -1
- package/dist/esm/components/FormTooltip.js +1 -1
- package/dist/esm/components/InputLabel.js +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 +2 -2
- package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +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 +116 -36
- package/dist/esm/components/OrgSelect.d.ts.map +1 -1
- package/dist/esm/components/OrgSelect.js +49 -5
- 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 +329 -150
- package/dist/esm/components/QuillPopover.js +1 -1
- package/dist/esm/components/QuillSelect.d.ts.map +1 -1
- package/dist/esm/components/QuillSelect.js +1 -1
- 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 +35 -7
- package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
- package/dist/esm/components/QuillToolTipPortal.js +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 +1 -1
- package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
- package/dist/esm/components/Tenants/EditTenant.js +52 -9
- package/dist/esm/components/UiComponents.d.ts +1 -1
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +2 -1
- package/dist/esm/components/VirtualTableTile.d.ts +1 -1
- package/dist/esm/components/VirtualTableTile.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.js +51 -3
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.js +34 -2
- package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +1 -8
- package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/CreateVirtualTables.js +23 -37
- package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.js +1 -1
- package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +3 -3
- package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +3 -3
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts +1 -1
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +96 -14
- package/dist/esm/hooks/useAdmin.d.ts +16 -0
- package/dist/esm/hooks/useAdmin.d.ts.map +1 -0
- package/dist/esm/hooks/useAdmin.js +9 -0
- package/dist/esm/hooks/useDashboardManager.js +1 -1
- package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
- package/dist/esm/hooks/useDatabaseSchema.js +13 -2
- 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/useTenants.d.ts +1 -1
- package/dist/esm/hooks/useTenants.d.ts.map +1 -1
- package/dist/esm/hooks/useTenants.js +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 +8 -3
- 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 +68 -16
- package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
- package/dist/esm/modals/EditFiltersModal.js +14 -10
- package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
- package/dist/esm/modals/NewDashboardModal.js +56 -30
- package/dist/esm/modals/PromoteDashboardModal.js +1 -1
- package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteReportModal.js +16 -5
- package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
- package/dist/esm/modals/PromoteViewModal.js +14 -3
- package/dist/esm/modals/ReorderDashboardModal.js +1 -1
- package/dist/esm/modals/SavedQueriesModal.js +1 -1
- package/dist/esm/modals/TenantFieldModal.d.ts +9 -0
- package/dist/esm/modals/TenantFieldModal.d.ts.map +1 -0
- package/dist/esm/modals/TenantFieldModal.js +51 -0
- package/dist/esm/models/AdminContext.d.ts +158 -0
- package/dist/esm/models/AdminContext.d.ts.map +1 -0
- package/dist/esm/models/AdminContext.js +2 -0
- package/dist/esm/models/Provider.d.ts +45 -0
- package/dist/esm/models/Provider.d.ts.map +1 -0
- package/dist/esm/models/Provider.js +18 -0
- package/dist/esm/models/Tenant.d.ts +39 -0
- package/dist/esm/models/Tenant.d.ts.map +1 -0
- package/dist/esm/models/Tenant.js +1 -0
- package/dist/esm/primitives/ButtonPrimitive.d.ts +1 -1
- package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/ButtonPrimitive.js +1 -1
- package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
- package/dist/esm/primitives/HeaderPrimitive.d.ts +1 -1
- package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/HeaderPrimitive.js +1 -1
- package/dist/esm/primitives/MiniButtonPrimitive.js +1 -1
- package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/PopoverPrimitive.js +17 -6
- package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts +1 -1
- package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/SecondaryButtonPrimitive.js +1 -1
- package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -1
- package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/TextInputPrimitive.js +1 -1
- 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 +11 -10
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +50 -17
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +68 -8
- package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/esm/public_components/EnvSelectPopover.js +32 -4
- package/dist/esm/public_components/VirtualTableManager.d.ts +0 -1
- package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
- package/dist/esm/public_components/VirtualTableManager.js +97 -21
- package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +42 -3
- package/dist/esm/utils/astProcessing.d.ts +1 -1
- package/dist/esm/utils/astProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.d.ts +1 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +21 -1
- package/dist/esm/utils/dataEditor.d.ts +1 -1
- package/dist/esm/utils/dataEditor.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.d.ts +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 +8 -5
- 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 +2 -39
- 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
|
@@ -4,15 +4,15 @@ import React, { useCallback, useMemo, useState, } from 'react';
|
|
|
4
4
|
import ConnectDatabase from '../forms/client_onboard/ConnectDatabase';
|
|
5
5
|
import StepDisplay from '../components/StepDisplay';
|
|
6
6
|
import ConnectSchema from '../forms/client_onboard/ConnectSchema';
|
|
7
|
-
import { useAdmin } from '../
|
|
7
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
8
8
|
import { getDatabaseConnectionFormat, } from '../utils/databases';
|
|
9
|
-
import CreateVirtualTables from '../forms/client_onboard/CreateVirtualTables';
|
|
10
9
|
import { getTableColumnsBySchema } from '../api/ConnectionClient';
|
|
11
10
|
import { quillFetch } from '../utils/dataFetcher';
|
|
11
|
+
import { useLongLoading } from '../hooks/useLongLoading';
|
|
12
12
|
export default function CreateEnvironment({ onOnboardComplete, containerStyle, }) {
|
|
13
13
|
const parentRef = React.useRef(null);
|
|
14
|
-
const { state, dispatch, setClient, getToken, quillFetchWithToken } = useAdmin();
|
|
15
|
-
const
|
|
14
|
+
const { state, dispatch, setClient, getToken, quillFetchWithToken, eventTracking, } = useAdmin();
|
|
15
|
+
const clerkOrgId = state.client?.clerkOrgId || state.clerkOrgId;
|
|
16
16
|
const defaultDatabaseType = state.client?.databaseType || 'PostgreSQL';
|
|
17
17
|
const [createEnvSteps, setCreateEnvSteps] = useState({
|
|
18
18
|
connectDB: {
|
|
@@ -40,6 +40,14 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
40
40
|
}), [newClient, connection, databaseSchema]);
|
|
41
41
|
const [tenantInit, setTenantInit] = useState({});
|
|
42
42
|
const [fetchSchemasLoading, setFetchSchemasLoading] = useState(false);
|
|
43
|
+
useLongLoading(onboardingCompleteIsLoading, {
|
|
44
|
+
origin: 'CreateEnvironment',
|
|
45
|
+
loadDescription: 'Finishing onboarding',
|
|
46
|
+
});
|
|
47
|
+
useLongLoading(fetchSchemasLoading, {
|
|
48
|
+
origin: 'CreateEnvironment',
|
|
49
|
+
loadDescription: 'Fetching schemas',
|
|
50
|
+
});
|
|
43
51
|
const onConnectDatabase = useCallback(async (clientId) => {
|
|
44
52
|
setTenantInit({});
|
|
45
53
|
setSqlTables([]);
|
|
@@ -58,6 +66,10 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
58
66
|
getToken,
|
|
59
67
|
});
|
|
60
68
|
}
|
|
69
|
+
eventTracking?.logEvent?.('start-onboarding', {
|
|
70
|
+
clientId,
|
|
71
|
+
clerkOrgId,
|
|
72
|
+
});
|
|
61
73
|
setNewClient({
|
|
62
74
|
clientId,
|
|
63
75
|
});
|
|
@@ -71,7 +83,7 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
71
83
|
clientId,
|
|
72
84
|
databaseType: connectionInfo.type,
|
|
73
85
|
schemaNames: selectedSchemaNames,
|
|
74
|
-
|
|
86
|
+
clerkOrgId,
|
|
75
87
|
});
|
|
76
88
|
// FIXME: Error handling
|
|
77
89
|
try {
|
|
@@ -92,10 +104,31 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
92
104
|
openStep('connectSchema');
|
|
93
105
|
})
|
|
94
106
|
.catch((error) => {
|
|
107
|
+
eventTracking?.logError?.({
|
|
108
|
+
type: 'bug', // TODO: determine type
|
|
109
|
+
severity: 'high',
|
|
110
|
+
message: 'Error fetching schema',
|
|
111
|
+
errorMessage: error.message,
|
|
112
|
+
errorData: {
|
|
113
|
+
caller: 'CreateEnvironment',
|
|
114
|
+
function: 'setEnvironmentDetails',
|
|
115
|
+
},
|
|
116
|
+
});
|
|
95
117
|
console.error(error);
|
|
96
118
|
});
|
|
97
119
|
}
|
|
98
120
|
catch (error) {
|
|
121
|
+
eventTracking?.logError?.({
|
|
122
|
+
type: 'bug', // TODO: determine type
|
|
123
|
+
severity: 'high',
|
|
124
|
+
message: 'Error setting up database',
|
|
125
|
+
errorMessage: error.message,
|
|
126
|
+
errorStack: error.stack,
|
|
127
|
+
errorData: {
|
|
128
|
+
caller: 'CreateEnvironment',
|
|
129
|
+
function: 'setEnvironmentDetails',
|
|
130
|
+
},
|
|
131
|
+
});
|
|
99
132
|
console.error(error);
|
|
100
133
|
}
|
|
101
134
|
setFetchSchemasLoading(false);
|
|
@@ -114,6 +147,7 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
114
147
|
};
|
|
115
148
|
const finishOnboarding = async () => {
|
|
116
149
|
setOnboardingCompleteIsLoading(true);
|
|
150
|
+
const orgName = localStorage.getItem('orgName'); // Set via portal, alternatively, pass a prop through Admin Provider
|
|
117
151
|
// TODO: Anyone could create a client with some domain through this endpoint
|
|
118
152
|
const response = await quillFetchWithToken({
|
|
119
153
|
client: {
|
|
@@ -128,8 +162,9 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
128
162
|
...newClient,
|
|
129
163
|
allTenantTypes: undefined,
|
|
130
164
|
},
|
|
131
|
-
|
|
165
|
+
clerkOrgId: clerkOrgId,
|
|
132
166
|
clientId: newClient.clientId,
|
|
167
|
+
orgName,
|
|
133
168
|
},
|
|
134
169
|
adminMode: true,
|
|
135
170
|
});
|
|
@@ -137,7 +172,15 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
137
172
|
setOnboardingCompleteIsLoading(false);
|
|
138
173
|
throw new Error(response.message);
|
|
139
174
|
}
|
|
175
|
+
eventTracking?.logEvent?.('finish-onboarding', {
|
|
176
|
+
clientId: newClient.clientId,
|
|
177
|
+
clerkOrgId: clerkOrgId,
|
|
178
|
+
});
|
|
140
179
|
setClient(response.data.client);
|
|
180
|
+
dispatch({
|
|
181
|
+
type: 'UPDATE_CLIENTS',
|
|
182
|
+
payload: response.data.client,
|
|
183
|
+
});
|
|
141
184
|
sessionStorage.removeItem('quill-adminState');
|
|
142
185
|
sessionStorage.setItem('quill-client', JSON.stringify(response.data.client));
|
|
143
186
|
dispatch({
|
|
@@ -195,7 +238,7 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
195
238
|
ownerTenantFields: [tenantInit.ownerTenant.tenantField],
|
|
196
239
|
allTenantTypes: [tenantInit.ownerTenant],
|
|
197
240
|
});
|
|
198
|
-
|
|
241
|
+
finishOnboarding();
|
|
199
242
|
}, returnToConnectDatabase: () => {
|
|
200
243
|
setNewClient({
|
|
201
244
|
...newClient,
|
|
@@ -209,15 +252,5 @@ export default function CreateEnvironment({ onOnboardComplete, containerStyle, }
|
|
|
209
252
|
!!newClient?.schemaNames?.length) {
|
|
210
253
|
openStep('connectSchema');
|
|
211
254
|
}
|
|
212
|
-
} })), createEnvSteps.createVirtualTables.open ? (_jsx(CreateVirtualTables, { containerStyle: {
|
|
213
|
-
borderRadius: 6,
|
|
214
|
-
border: '1px solid #e7e7e7',
|
|
215
|
-
boxShadow: '0px 1px 6px rgba(0, 0, 0, 0.07)',
|
|
216
|
-
height: 'calc(100vh - 59px)',
|
|
217
|
-
width: 'calc(100vw - 200px)',
|
|
218
|
-
}, header1Style: header1Style, header2Style: header2Style, databaseSchema: databaseSchema, environmentDetails: connection, completeOnboarding: finishOnboarding, state: state, client: newClient, tenantInit: tenantInit, isLoading: onboardingCompleteIsLoading, sqlTables: sqlTables, setSqlTables: setSqlTables })) : (_jsx(StepDisplay, { label: "Create Virtual Tables", completed: false, header1Style: header1Style, onClick: () => {
|
|
219
|
-
if (tenantInit?.ownerTenant) {
|
|
220
|
-
openStep('createVirtualTables');
|
|
221
|
-
}
|
|
222
255
|
} }))] }));
|
|
223
256
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/DashboardManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4C,MAAM,OAAO,CAAC;AA2ChF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,6BAA6B,EAAE,6BAA6B,EAC5D,cAAc,GACf,EAAE;IACD,6BAA6B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,2CAw3BA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
-
import { useAdmin } from '../
|
|
4
|
-
import {
|
|
5
|
-
import { useDashboard, useDashboards } from '@quillsql/react';
|
|
3
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
4
|
+
import { useDashboardInternal, useDashboards, } from '@quillsql/react';
|
|
6
5
|
import { deleteReport, ReportWrapper } from '../Admin';
|
|
7
6
|
import { ButtonPrimitive, HeaderPrimitive, ModalPrimitive, SecondaryButtonPrimitive, TextInputPrimitive, CheckboxPrimitive, } from '../primitives';
|
|
8
7
|
import { NewDashboardModal } from '../modals/NewDashboardModal';
|
|
@@ -21,9 +20,13 @@ import { Popover } from '../primitives/PopoverPrimitive';
|
|
|
21
20
|
import CodePreview from '../modals/CodePreview';
|
|
22
21
|
import SavedQueriesModal from '../modals/SavedQueriesModal';
|
|
23
22
|
import { InternalDashboard } from '../components/InternalDashboard/InternalDashboard';
|
|
24
|
-
import
|
|
23
|
+
import { useLongLoading } from '../hooks/useLongLoading';
|
|
24
|
+
import CreateEnvironmentModal from '../modals/CreateEnvironmentModal';
|
|
25
|
+
import EnvSelectPopover from './EnvSelectPopover';
|
|
26
|
+
import DashboardSelectPopover from '../components/DashboardSelectPopover';
|
|
27
|
+
import OrgSelect from '../components/OrgSelect';
|
|
25
28
|
export default function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTableManager, containerStyle, }) {
|
|
26
|
-
const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, } = useAdmin();
|
|
29
|
+
const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, eventTracking, } = useAdmin();
|
|
27
30
|
const parentRef = useRef(null);
|
|
28
31
|
const envSelectPopoverRef = useRef(null);
|
|
29
32
|
const dashboardSelectPopoverRef = useRef(null);
|
|
@@ -35,8 +38,12 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
35
38
|
//FIXME: we don't want to lift up this state
|
|
36
39
|
const [userFilters, setUserFilters] = useState([]);
|
|
37
40
|
const [showCreateEnvironmentModal, setShowCreateEnvironmentModal] = useState(false);
|
|
38
|
-
const { data: dashboardConfig, reload: reloadDashboard } =
|
|
41
|
+
const { data: dashboardConfig, reload: reloadDashboard } = useDashboardInternal(state.selectedDashboard, userFilters);
|
|
39
42
|
const { dashboards, isLoading: dashboardsLoading } = useDashboards();
|
|
43
|
+
useLongLoading(dashboardsLoading, {
|
|
44
|
+
origin: 'DashboardManager',
|
|
45
|
+
loadDescription: 'Loading dashboards',
|
|
46
|
+
});
|
|
40
47
|
const { setSelectedDashboard } = useDashboardManager();
|
|
41
48
|
// const [editMode, setEditMode] = useState(true);
|
|
42
49
|
const [autoPromoteVirtualTables, setAutoPromoteVirtualTables] = useState(true);
|
|
@@ -57,6 +64,15 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
57
64
|
type: 'SET_ACTIVE_COMPONENT',
|
|
58
65
|
payload: 'Report',
|
|
59
66
|
});
|
|
67
|
+
eventTracking?.addBreadcrumb?.({
|
|
68
|
+
message: 'Clicked report in DashboardManager',
|
|
69
|
+
data: {
|
|
70
|
+
report: elem.id,
|
|
71
|
+
},
|
|
72
|
+
category: 'navigation',
|
|
73
|
+
level: 'info',
|
|
74
|
+
timestamp: Date.now(),
|
|
75
|
+
});
|
|
60
76
|
}, [dispatch]);
|
|
61
77
|
const hoverActions = (data) => {
|
|
62
78
|
return (_jsx("div", { style: {
|
|
@@ -80,7 +96,7 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
80
96
|
gap: 4,
|
|
81
97
|
}, onClick: async (event) => {
|
|
82
98
|
event.stopPropagation();
|
|
83
|
-
if (await deleteReport(data.id, state, getToken)) {
|
|
99
|
+
if (await deleteReport(data.id, state, getToken, eventTracking)) {
|
|
84
100
|
reloadDashboard(undefined, false, {
|
|
85
101
|
report: { id: data.id },
|
|
86
102
|
action: 'delete',
|
|
@@ -154,11 +170,22 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
154
170
|
}
|
|
155
171
|
catch (error) {
|
|
156
172
|
console.error('Promotion failed:', error);
|
|
173
|
+
eventTracking?.logError?.({
|
|
174
|
+
type: 'bug', // TODO: determine type
|
|
175
|
+
severity: 'high',
|
|
176
|
+
message: 'Error promoting dashboard',
|
|
177
|
+
errorMessage: error.message,
|
|
178
|
+
errorStack: error.stack,
|
|
179
|
+
errorData: {
|
|
180
|
+
caller: 'DashboardManager',
|
|
181
|
+
function: 'handlePromote',
|
|
182
|
+
},
|
|
183
|
+
});
|
|
157
184
|
alert('Could not promote this dashboard.');
|
|
158
185
|
}
|
|
159
186
|
};
|
|
160
187
|
if (showCreateEnvironmentModal) {
|
|
161
|
-
return (_jsx(
|
|
188
|
+
return (_jsx(CreateEnvironmentModal, { showCreateEnvironmentModal: showCreateEnvironmentModal, setShowCreateEnvironmentModal: setShowCreateEnvironmentModal }));
|
|
162
189
|
}
|
|
163
190
|
return (_jsxs("div", { style: containerStyle, children: [(state.activeComponent === 'Report Builder' ||
|
|
164
191
|
state.activeComponent === 'SQL Editor') && (_jsx(ChartQueryBuilder, { activeComponent: state.activeComponent, destinationDashboard: state.selectedDashboard ??
|
|
@@ -268,6 +295,12 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
268
295
|
type: 'SET_ACTIVE_COMPONENT',
|
|
269
296
|
payload: 'CodePreview',
|
|
270
297
|
});
|
|
298
|
+
eventTracking?.addBreadcrumb?.({
|
|
299
|
+
message: 'Opened embed preview in DashboardManager',
|
|
300
|
+
category: 'navigation',
|
|
301
|
+
level: 'info',
|
|
302
|
+
timestamp: Date.now(),
|
|
303
|
+
});
|
|
271
304
|
}, label: "Embed Preview" }), _jsx(Popover, { content: _jsxs("div", { style: {
|
|
272
305
|
display: 'flex',
|
|
273
306
|
flexDirection: 'column',
|
|
@@ -281,6 +314,12 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
281
314
|
type: 'SET_ACTIVE_COMPONENT',
|
|
282
315
|
payload: 'Report Builder',
|
|
283
316
|
});
|
|
317
|
+
eventTracking?.addBreadcrumb?.({
|
|
318
|
+
message: 'Opened report builder in DashboardManager',
|
|
319
|
+
category: 'navigation',
|
|
320
|
+
level: 'info',
|
|
321
|
+
timestamp: Date.now(),
|
|
322
|
+
});
|
|
284
323
|
}, label: "Report Builder \u2197" }), _jsx(SecondaryButtonPrimitive, { onClick: () => {
|
|
285
324
|
if (!state.selectedDashboard) {
|
|
286
325
|
return;
|
|
@@ -289,6 +328,12 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
289
328
|
type: 'SET_ACTIVE_COMPONENT',
|
|
290
329
|
payload: 'SQL Editor',
|
|
291
330
|
});
|
|
331
|
+
eventTracking?.addBreadcrumb?.({
|
|
332
|
+
message: 'Opened SQL editor in DashboardManager',
|
|
333
|
+
category: 'navigation',
|
|
334
|
+
level: 'info',
|
|
335
|
+
timestamp: Date.now(),
|
|
336
|
+
});
|
|
292
337
|
}, label: "SQL Editor \u2197" }), _jsx(SecondaryButtonPrimitive, { onClick: () => {
|
|
293
338
|
if (!state.selectedDashboard) {
|
|
294
339
|
return;
|
|
@@ -297,6 +342,12 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
297
342
|
type: 'SET_ACTIVE_COMPONENT',
|
|
298
343
|
payload: 'SavedQueries',
|
|
299
344
|
});
|
|
345
|
+
eventTracking?.addBreadcrumb?.({
|
|
346
|
+
message: 'Opened saved queries in DashboardManager',
|
|
347
|
+
category: 'navigation',
|
|
348
|
+
level: 'info',
|
|
349
|
+
timestamp: Date.now(),
|
|
350
|
+
});
|
|
300
351
|
}, label: "Saved Queries \u2197" })] }), trigger: _jsx(ButtonPrimitive
|
|
301
352
|
// onClick={() => {
|
|
302
353
|
// if (!state.selectedDashboard) {
|
|
@@ -360,6 +411,15 @@ export default function DashboardManager({ navigateToVirtualTableManager: naviga
|
|
|
360
411
|
dashboardsLoading ||
|
|
361
412
|
dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)
|
|
362
413
|
.length ? (_jsx("div", { style: { width: '100%', position: 'relative' }, children: _jsx(InternalDashboard, { name: state.selectedDashboard ?? '', containerStyle: { padding: 25, width: '100%' }, onClickReport: handleClickReport, hoverActions: hoverActions, onUserFiltersUpdated: setUserFilters, parentLoading: clientLoading || dashboardsLoading, onManageDashboard: () => {
|
|
414
|
+
eventTracking?.addBreadcrumb?.({
|
|
415
|
+
message: 'Opened manage dashboard in DashboardManager',
|
|
416
|
+
data: {
|
|
417
|
+
dashboard: state.selectedDashboard,
|
|
418
|
+
},
|
|
419
|
+
category: 'navigation',
|
|
420
|
+
level: 'info',
|
|
421
|
+
timestamp: Date.now(),
|
|
422
|
+
});
|
|
363
423
|
setEditFilterModalIsOpen(true);
|
|
364
424
|
} }) })) : null] }), !clientLoading && !dashboardsLoading && (_jsxs(_Fragment, { children: [_jsx(EditEnvironmentModal, { isOpen: editEnvironmentModalIsOpen, setIsOpen: setEditEnvironmentModalIsOpen, onSave: async () => {
|
|
365
425
|
await reloadDashboard(state.selectedDashboard ?? undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/public_components/EnvSelectPopover.tsx"],"names":[],"mappings":"AAMA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,yBAAyB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"EnvSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/public_components/EnvSelectPopover.tsx"],"names":[],"mappings":"AAMA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC;IACX,yBAAyB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,EAAE,qBAAqB,2CAsQvB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo, useState } from 'react';
|
|
3
|
-
import { useAdmin } from '../
|
|
3
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
4
4
|
import { ListboxRow, Popover } from '../components/OrgSelect';
|
|
5
5
|
import MiniButtonPrimitive from '../primitives/MiniButtonPrimitive';
|
|
6
6
|
import { LoadingSpinner } from '../components/UiComponents';
|
|
7
7
|
import { ListboxTextInput } from '../components/QuillMultiSelectWithCombo';
|
|
8
8
|
export default function EnvSelectPopover({ clients, setClient, client, theme, onSelectedEditEnvironment, parentRef, isLoading, onCreateNewEnvironment, }) {
|
|
9
|
-
const { state, dispatch } = useAdmin();
|
|
9
|
+
const { state, dispatch, eventTracking } = useAdmin();
|
|
10
10
|
const [isOpen, setIsOpen] = useState(false);
|
|
11
11
|
const [searchQuery, setSearchQuery] = useState('');
|
|
12
12
|
const filteredClients = useMemo(() => {
|
|
@@ -20,6 +20,15 @@ export default function EnvSelectPopover({ clients, setClient, client, theme, on
|
|
|
20
20
|
dispatch({ type: 'SET_ACTIVE_QUERY', payload: '' });
|
|
21
21
|
dispatch({ type: 'SET_ACTIVE_EDIT_ITEM', payload: null });
|
|
22
22
|
}
|
|
23
|
+
eventTracking?.addBreadcrumb?.({
|
|
24
|
+
message: 'Set client in EnvSelectPopover',
|
|
25
|
+
data: {
|
|
26
|
+
clientId: selectedClient._id || selectedClient.id,
|
|
27
|
+
},
|
|
28
|
+
category: 'navigation',
|
|
29
|
+
level: 'info',
|
|
30
|
+
timestamp: Date.now(),
|
|
31
|
+
});
|
|
23
32
|
setClient(selectedClient);
|
|
24
33
|
setIsOpen(false);
|
|
25
34
|
};
|
|
@@ -84,7 +93,9 @@ export default function EnvSelectPopover({ clients, setClient, client, theme, on
|
|
|
84
93
|
boxSizing: 'border-box',
|
|
85
94
|
fontSize: 14,
|
|
86
95
|
maxHeight: '50vh',
|
|
87
|
-
}, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange:
|
|
96
|
+
}, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange: (e) => {
|
|
97
|
+
setSearchQuery(e);
|
|
98
|
+
}, width: 180 }), _jsx("div", { style: {
|
|
88
99
|
height: 9,
|
|
89
100
|
width: 230,
|
|
90
101
|
borderTop: `1px solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
|
|
@@ -93,6 +104,15 @@ export default function EnvSelectPopover({ clients, setClient, client, theme, on
|
|
|
93
104
|
: undefined, item: item.name, isSelected: client._id === item._id, hoverActions: onSelectedEditEnvironment
|
|
94
105
|
? (item) => (_jsx(MiniButtonPrimitive, { label: "Manage", onClick: () => {
|
|
95
106
|
onSelectedEditEnvironment(item);
|
|
107
|
+
eventTracking?.addBreadcrumb?.({
|
|
108
|
+
message: 'Opened manage environment in EnvSelectPopover',
|
|
109
|
+
data: {
|
|
110
|
+
environment: item,
|
|
111
|
+
},
|
|
112
|
+
category: 'navigation',
|
|
113
|
+
level: 'info',
|
|
114
|
+
timestamp: Date.now(),
|
|
115
|
+
});
|
|
96
116
|
setIsOpen(false);
|
|
97
117
|
}, style: {
|
|
98
118
|
marginRight: -8,
|
|
@@ -102,7 +122,15 @@ export default function EnvSelectPopover({ clients, setClient, client, theme, on
|
|
|
102
122
|
color: theme.secondaryTextColor,
|
|
103
123
|
backgroundColor: theme.backgroundColor,
|
|
104
124
|
} }))
|
|
105
|
-
: undefined }, item._id))), _jsx("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: _jsxs("a", { onClick:
|
|
125
|
+
: undefined }, item._id))), _jsx("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: _jsxs("a", { onClick: () => {
|
|
126
|
+
eventTracking?.addBreadcrumb?.({
|
|
127
|
+
message: 'Opened create new environment in EnvSelectPopover',
|
|
128
|
+
category: 'navigation',
|
|
129
|
+
level: 'info',
|
|
130
|
+
timestamp: Date.now(),
|
|
131
|
+
});
|
|
132
|
+
onCreateNewEnvironment?.();
|
|
133
|
+
}, style: {
|
|
106
134
|
height: 42,
|
|
107
135
|
width: 216,
|
|
108
136
|
borderRadius: 6,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualTableManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/VirtualTableManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VirtualTableManager.d.ts","sourceRoot":"","sources":["../../../src/public_components/VirtualTableManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,MAAM,OAAO,CAAC;AA6C5E,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,cAAc,EACd,YAAY,GACb,EAAE;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,2CAukCA"}
|
|
@@ -2,7 +2,7 @@ import { createElement as _createElement } from "react";
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { ButtonPrimitive, HeaderPrimitive, ModalPrimitive, SecondaryButtonPrimitive, TextInputPrimitive, } from '../primitives';
|
|
5
|
-
import { useAdmin } from '../
|
|
5
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
6
6
|
import { EnvSelectPopover } from '../components';
|
|
7
7
|
import { TableCell } from '../Admin';
|
|
8
8
|
import CreateEditVirtualTable from '../forms/virtual_tables/CreateEditVirtualTable';
|
|
@@ -23,22 +23,8 @@ import { onlySingleDatabaseTenant } from '../utils/tenants';
|
|
|
23
23
|
import { useDatabaseSchema } from '../hooks/useDatabaseSchema';
|
|
24
24
|
import InputLabel from '../components/InputLabel';
|
|
25
25
|
import { useDashboardManager } from '../hooks/useDashboardManager';
|
|
26
|
-
import
|
|
27
|
-
|
|
28
|
-
if (!columns) {
|
|
29
|
-
return [];
|
|
30
|
-
}
|
|
31
|
-
const columnCount = columns?.reduce((acc, curr) => {
|
|
32
|
-
if (acc[curr.field]) {
|
|
33
|
-
acc[curr.field] += 1;
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
acc[curr.field] = 1;
|
|
37
|
-
}
|
|
38
|
-
return acc;
|
|
39
|
-
}, {});
|
|
40
|
-
return Object.keys(columnCount).filter((column) => columnCount[column] > 1);
|
|
41
|
-
};
|
|
26
|
+
import CreateEnvironmentModal from '../modals/CreateEnvironmentModal';
|
|
27
|
+
import { getDuplicateColumns } from '../utils/columnProcessing';
|
|
42
28
|
export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
43
29
|
const { data: tables, isLoading: areTablesLoading, reloadAll, refreshSome, loadingTables, } = useVirtualTables();
|
|
44
30
|
const { reloadFilteredReports } = useReports();
|
|
@@ -64,7 +50,7 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
64
50
|
const [showCreateEnvironmentModal, setShowCreateEnvironmentModal] = useState(false);
|
|
65
51
|
const parentRef = useRef(null);
|
|
66
52
|
const envHeaderRef = useRef(null);
|
|
67
|
-
const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, } = useAdmin();
|
|
53
|
+
const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, eventTracking, } = useAdmin();
|
|
68
54
|
const closeEditModal = () => {
|
|
69
55
|
setEditModalIsOpen(false);
|
|
70
56
|
setEditName('');
|
|
@@ -80,6 +66,16 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
80
66
|
setEditError(table.broken ? (table.error ?? 'Invalid query') : undefined);
|
|
81
67
|
setCustomFieldInfo(table.customFieldInfo);
|
|
82
68
|
!suppressModal && setEditModalIsOpen(true);
|
|
69
|
+
eventTracking?.addBreadcrumb?.({
|
|
70
|
+
message: 'Clicked table cell in VirtualTableManager',
|
|
71
|
+
data: {
|
|
72
|
+
table: table.name,
|
|
73
|
+
suppressModal: suppressModal,
|
|
74
|
+
},
|
|
75
|
+
category: 'interaction',
|
|
76
|
+
level: 'info',
|
|
77
|
+
timestamp: Date.now(),
|
|
78
|
+
});
|
|
83
79
|
};
|
|
84
80
|
const reloadTables = async (tables) => {
|
|
85
81
|
const tempClient = {
|
|
@@ -256,6 +252,17 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
256
252
|
setEditQueryView(false);
|
|
257
253
|
}
|
|
258
254
|
catch (e) {
|
|
255
|
+
eventTracking?.logError?.({
|
|
256
|
+
type: 'bug', // TODO: determine type
|
|
257
|
+
severity: 'high',
|
|
258
|
+
message: 'Error submitting virtual table',
|
|
259
|
+
errorMessage: e.message,
|
|
260
|
+
errorStack: e.stack,
|
|
261
|
+
errorData: {
|
|
262
|
+
caller: 'VirtualTableManager',
|
|
263
|
+
function: 'handleModalSubmit',
|
|
264
|
+
},
|
|
265
|
+
});
|
|
259
266
|
console.error(e);
|
|
260
267
|
}
|
|
261
268
|
};
|
|
@@ -283,6 +290,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
283
290
|
alert(`This table is referenced in the following dashboard filter${filtersIsPlural}.\n\n${referencedFilterInfo.join('\n')} \n\nPlease delete those filters before deleting this table.`);
|
|
284
291
|
return;
|
|
285
292
|
}
|
|
293
|
+
eventTracking?.addBreadcrumb?.({
|
|
294
|
+
message: 'Confirmed delete table in VirtualTableManager',
|
|
295
|
+
data: {
|
|
296
|
+
table: name,
|
|
297
|
+
},
|
|
298
|
+
category: 'interaction',
|
|
299
|
+
level: 'info',
|
|
300
|
+
timestamp: Date.now(),
|
|
301
|
+
});
|
|
286
302
|
const response = await requestDeleteVirtualTable(id, state, getToken);
|
|
287
303
|
await reloadTables();
|
|
288
304
|
return response;
|
|
@@ -298,7 +314,7 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
298
314
|
}
|
|
299
315
|
};
|
|
300
316
|
if (showCreateEnvironmentModal) {
|
|
301
|
-
return (_jsx(
|
|
317
|
+
return (_jsx(CreateEnvironmentModal, { showCreateEnvironmentModal: showCreateEnvironmentModal, setShowCreateEnvironmentModal: setShowCreateEnvironmentModal }));
|
|
302
318
|
}
|
|
303
319
|
return (_jsx("div", { style: { ...containerStyle }, children: _jsxs("div", { style: {
|
|
304
320
|
minHeight: '100%',
|
|
@@ -347,6 +363,12 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
347
363
|
flexDirection: 'row',
|
|
348
364
|
gap: 8,
|
|
349
365
|
}, children: [_jsx(SecondaryButtonPrimitive, { onClick: () => {
|
|
366
|
+
eventTracking?.addBreadcrumb?.({
|
|
367
|
+
message: 'Clicked refresh tables button in VirtualTableManager',
|
|
368
|
+
category: 'interaction',
|
|
369
|
+
level: 'info',
|
|
370
|
+
timestamp: Date.now(),
|
|
371
|
+
});
|
|
350
372
|
reloadTables(tables);
|
|
351
373
|
}, label: "Refresh Tables" }), _jsx(ButtonPrimitive, { onClick: () => {
|
|
352
374
|
setEditName('');
|
|
@@ -354,6 +376,12 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
354
376
|
setEditVirtualTableId('');
|
|
355
377
|
setInitialVirtualTable(undefined);
|
|
356
378
|
setEditQueryView(true);
|
|
379
|
+
eventTracking?.addBreadcrumb?.({
|
|
380
|
+
message: 'Clicked add virtual table button in VirtualTableManager',
|
|
381
|
+
category: 'interaction',
|
|
382
|
+
level: 'info',
|
|
383
|
+
timestamp: Date.now(),
|
|
384
|
+
});
|
|
357
385
|
}, label: "Add Virtual Table +" })] }))] }) })), clientLoading || areTablesLoading ? (_jsx("div", { style: {
|
|
358
386
|
display: 'grid',
|
|
359
387
|
gridGap: 24,
|
|
@@ -372,6 +400,12 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
372
400
|
overflow: 'hidden',
|
|
373
401
|
}, children: _jsxs("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", children: [_jsx("rect", { width: "100%", height: "100%", fill: '#F9F9FA' }), _jsx("defs", { fill: '#F9F9FA', children: _jsxs("linearGradient", { id: "skeletonGradient", x1: "0%", y1: "0%", x2: "10%", y2: "0%", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { offset: "0%", stopColor: "rgba(255,255,255,0)" }), _jsx("stop", { offset: "50%", stopColor: "#FEFEFE" }), _jsx("stop", { offset: "100%", stopColor: "rgba(255,255,255,0)" }), _jsx("animate", { attributeName: "x1", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }), _jsx("animate", { attributeName: "x2", from: "-50%", to: "150%", dur: "2s", repeatCount: "indefinite" })] }) }), _jsx("rect", { width: "50%", height: "100%", fill: "url(#skeletonGradient)", children: _jsx("animate", { attributeName: "x", from: "-100%", to: "100%", dur: "2s", repeatCount: "indefinite" }) })] }) }) }, i))) }, 'edit-view-query')) : state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environmentName: state.client.name, environmentDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsxs(_Fragment, { children: [!editQueryView ? (tables && tables.length === 0 ? (_jsx(EmptyVirtualTablesComponent, { onClick: () => {
|
|
374
402
|
setEditQueryView(true);
|
|
403
|
+
eventTracking?.addBreadcrumb?.({
|
|
404
|
+
message: 'Clicked EmptyVirtualTablesComponent in VirtualTableManager',
|
|
405
|
+
category: 'interaction',
|
|
406
|
+
level: 'info',
|
|
407
|
+
timestamp: Date.now(),
|
|
408
|
+
});
|
|
375
409
|
} })) : (_jsx("div", { style: {
|
|
376
410
|
display: 'grid',
|
|
377
411
|
gridGap: 24,
|
|
@@ -385,6 +419,12 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
385
419
|
}, children: tables && tables?.length ? (_jsxs(_Fragment, { children: [tables.map((table) => (_jsx(TableCell, { table: table, clickTableCellHeader: clickTableCell, clickTableCellBody: () => {
|
|
386
420
|
clickTableCell(table, true);
|
|
387
421
|
setEditQueryView(true);
|
|
422
|
+
eventTracking?.addBreadcrumb?.({
|
|
423
|
+
message: 'Clicked table body in VirtualTableManager',
|
|
424
|
+
category: 'interaction',
|
|
425
|
+
level: 'info',
|
|
426
|
+
timestamp: Date.now(),
|
|
427
|
+
});
|
|
388
428
|
}, isLoading: loadingTables[table._id], reloadAction: (table) => reloadTables([table]), hoverActions: (table) => (_jsxs("div", { style: {
|
|
389
429
|
display: 'flex',
|
|
390
430
|
flexDirection: 'row',
|
|
@@ -403,6 +443,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
403
443
|
border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
|
|
404
444
|
}, onClick: (event) => {
|
|
405
445
|
event.stopPropagation();
|
|
446
|
+
eventTracking?.addBreadcrumb?.({
|
|
447
|
+
message: 'Clicked edit query button in VirtualTableManager Table Cell',
|
|
448
|
+
data: {
|
|
449
|
+
table: table.name,
|
|
450
|
+
},
|
|
451
|
+
category: 'interaction',
|
|
452
|
+
level: 'info',
|
|
453
|
+
timestamp: Date.now(),
|
|
454
|
+
});
|
|
406
455
|
clickTableCell(table, true);
|
|
407
456
|
setEditQueryView(true);
|
|
408
457
|
}, 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: 12, width: 12, style: {
|
|
@@ -422,6 +471,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
422
471
|
border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
|
|
423
472
|
}, onClick: (event) => {
|
|
424
473
|
event.stopPropagation();
|
|
474
|
+
eventTracking?.addBreadcrumb?.({
|
|
475
|
+
message: 'Clicked table settings in VirtualTableManager Table Cell',
|
|
476
|
+
data: {
|
|
477
|
+
table: table.name,
|
|
478
|
+
},
|
|
479
|
+
category: 'interaction',
|
|
480
|
+
level: 'info',
|
|
481
|
+
timestamp: Date.now(),
|
|
482
|
+
});
|
|
425
483
|
clickTableCell(table);
|
|
426
484
|
}, className: "secondary-button-quill", children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", height: 16, width: 16, style: {
|
|
427
485
|
marginLeft: 'auto',
|
|
@@ -446,6 +504,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
446
504
|
border: `0 solid ${state.theme?.borderColor ?? '#e7e7e7'}`,
|
|
447
505
|
}, className: "secondary-button-quill", onClick: (event) => {
|
|
448
506
|
event.stopPropagation();
|
|
507
|
+
eventTracking?.addBreadcrumb?.({
|
|
508
|
+
message: 'Clicked refresh table button in VirtualTableManager Table Cell',
|
|
509
|
+
data: {
|
|
510
|
+
table: table.name,
|
|
511
|
+
},
|
|
512
|
+
category: 'interaction',
|
|
513
|
+
level: 'info',
|
|
514
|
+
timestamp: Date.now(),
|
|
515
|
+
});
|
|
449
516
|
reloadTables([table]);
|
|
450
517
|
}, children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 16 16", strokeWidth: 1.5, height: 16, width: 16, style: {
|
|
451
518
|
marginLeft: 'auto',
|
|
@@ -464,6 +531,15 @@ export default function VirtualTableManager({ containerStyle, virtualTable, }) {
|
|
|
464
531
|
alignItems: 'center',
|
|
465
532
|
}, onClick: (event) => {
|
|
466
533
|
event.stopPropagation();
|
|
534
|
+
eventTracking?.addBreadcrumb?.({
|
|
535
|
+
message: 'Clicked delete table button in VirtualTableManager Table Cell',
|
|
536
|
+
data: {
|
|
537
|
+
table: table.name,
|
|
538
|
+
},
|
|
539
|
+
category: 'interaction',
|
|
540
|
+
level: 'info',
|
|
541
|
+
timestamp: Date.now(),
|
|
542
|
+
});
|
|
467
543
|
deleteVirtualTable(table._id, table.name, table.name);
|
|
468
544
|
}, 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 20 20", fill: "currentColor", height: 14, width: 14, style: {
|
|
469
545
|
marginLeft: 'auto',
|
|
@@ -500,7 +576,7 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
|
|
|
500
576
|
const [tableData, setTableData] = useState(undefined);
|
|
501
577
|
const [errorInfo, setErrorInfo] = useState({ show: false, message: '' });
|
|
502
578
|
const clientIsSingleTenant = useMemo(() => onlySingleDatabaseTenant(state.client), [state.client]);
|
|
503
|
-
const { getToken } = useAdmin();
|
|
579
|
+
const { getToken, eventTracking } = useAdmin();
|
|
504
580
|
useEffect(() => {
|
|
505
581
|
setCustomFieldQuery(customFieldInfo?.query || '');
|
|
506
582
|
setCustomFieldType(customFieldInfo?.type || 'eav');
|
|
@@ -622,7 +698,7 @@ function EditAddViewModal({ viewName, viewQuery, viewOwnerTenantFields, viewId,
|
|
|
622
698
|
}
|
|
623
699
|
setErrorInfo({ show: false, message: '' });
|
|
624
700
|
setRunQueryButtonLoading(true);
|
|
625
|
-
const getSqlResults = await getVirtualTableData(state.client._id, customFieldQuery, state.client.databaseType, state.queryEndpoint, getToken, state.queryHeaders);
|
|
701
|
+
const getSqlResults = await getVirtualTableData(state.client._id, customFieldQuery, state.client.databaseType, state.queryEndpoint, getToken, eventTracking, state.queryHeaders);
|
|
626
702
|
if (!getSqlResults.success) {
|
|
627
703
|
setErrorInfo({
|
|
628
704
|
show: true,
|