@quillsql/admin 1.6.3 → 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 +14 -8
- package/dist/cjs/Admin.d.ts.map +1 -1
- package/dist/cjs/Admin.js +134 -25
- package/dist/cjs/AdminProvider.d.ts +26 -5
- package/dist/cjs/AdminProvider.d.ts.map +1 -1
- package/dist/cjs/AdminProvider.js +174 -85
- package/dist/cjs/api/ConnectionClient.d.ts +26 -12
- package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
- package/dist/cjs/api/ConnectionClient.js +198 -31
- package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/cjs/assets/XIcon.d.ts.map +1 -1
- package/dist/cjs/components/CardSection.d.ts.map +1 -1
- package/dist/cjs/components/CardSection.js +4 -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 +46 -7
- package/dist/cjs/components/DatabaseSelector.d.ts +3 -1
- package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/cjs/components/DatabaseSelector.js +3 -2
- package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
- package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +31 -7
- package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
- package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/cjs/components/DropDownMenuWithLabel.js +8 -1
- package/dist/cjs/components/DynamicBanner.d.ts +3 -2
- package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
- package/dist/cjs/components/DynamicBanner.js +7 -2
- package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
- package/dist/cjs/components/EmptyDashboardComponent/index.js +3 -2
- package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
- package/dist/cjs/components/EmptyVirtualTablesComponent.js +4 -1
- package/dist/cjs/components/FormTooltip.d.ts.map +1 -1
- package/dist/cjs/components/FormTooltip.js +4 -1
- package/dist/cjs/components/InputLabel.d.ts.map +1 -1
- package/dist/cjs/components/InputLabel.js +4 -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/DashboardLoadingComponent.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -14
- 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 +128 -35
- package/dist/cjs/components/OrgSelect.d.ts +0 -6
- package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
- package/dist/cjs/components/OrgSelect.js +79 -47
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +8 -2
- package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/cjs/components/QuillMultiSelectWithCombo.js +351 -167
- package/dist/cjs/components/QuillPopover.d.ts.map +1 -1
- package/dist/cjs/components/QuillPopover.js +4 -5
- package/dist/cjs/components/QuillSelect.js +9 -9
- 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 +47 -21
- 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 +16 -43
- package/dist/cjs/components/UiComponents.d.ts.map +1 -1
- package/dist/cjs/components/UiComponents.js +162 -33
- package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectDatabase.js +163 -51
- package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/cjs/forms/client_onboard/ConnectSchema.js +36 -2
- 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 +60 -22
- package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
- package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
- package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +101 -15
- package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
- package/dist/cjs/hooks/useDatabaseSchema.js +18 -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/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 +74 -17
- package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
- package/dist/cjs/modals/EditFiltersModal.js +19 -15
- 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/ButtonPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/ButtonPrimitive.js +10 -6
- 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.map +1 -1
- package/dist/cjs/primitives/HeaderPrimitive.js +11 -7
- package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/PopoverPrimitive.js +19 -6
- package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
- package/dist/cjs/primitives/SecondaryButtonPrimitive.js +5 -3
- 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 +17 -7
- package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/cjs/public_components/CreateEnvironment.js +68 -30
- package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/cjs/public_components/DashboardManager.js +71 -4
- package/dist/cjs/public_components/EnvSelectPopover.d.ts +2 -1
- package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/cjs/public_components/EnvSelectPopover.js +48 -8
- package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
- package/dist/cjs/public_components/VirtualTableManager.js +124 -10
- 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 +1 -0
- package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/columnProcessing.js +7 -1
- package/dist/cjs/utils/constants.d.ts +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +5 -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/dataFetcher.js +0 -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 +23 -5
- 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 +14 -8
- package/dist/esm/Admin.d.ts.map +1 -1
- package/dist/esm/Admin.js +135 -26
- package/dist/esm/AdminProvider.d.ts +26 -5
- package/dist/esm/AdminProvider.d.ts.map +1 -1
- package/dist/esm/AdminProvider.js +177 -88
- package/dist/esm/api/ConnectionClient.d.ts +26 -12
- package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
- package/dist/esm/api/ConnectionClient.js +196 -31
- package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
- package/dist/esm/assets/XIcon.d.ts.map +1 -1
- package/dist/esm/components/CardSection.d.ts.map +1 -1
- package/dist/esm/components/CardSection.js +4 -2
- 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 +47 -8
- package/dist/esm/components/DatabaseSelector.d.ts +3 -1
- package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
- package/dist/esm/components/DatabaseSelector.js +3 -2
- package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
- package/dist/esm/components/DateRangePicker/SingleDatePicker.js +31 -7
- package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
- package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
- package/dist/esm/components/DropDownMenuWithLabel.js +9 -2
- package/dist/esm/components/DynamicBanner.d.ts +3 -2
- package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
- package/dist/esm/components/DynamicBanner.js +7 -2
- package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
- package/dist/esm/components/EmptyDashboardComponent/index.js +3 -2
- package/dist/esm/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
- package/dist/esm/components/EmptyVirtualTablesComponent.js +4 -1
- package/dist/esm/components/FormTooltip.d.ts.map +1 -1
- package/dist/esm/components/FormTooltip.js +4 -1
- package/dist/esm/components/InputLabel.d.ts.map +1 -1
- package/dist/esm/components/InputLabel.js +4 -2
- 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/QuillDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -11
- 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 +129 -36
- package/dist/esm/components/OrgSelect.d.ts +0 -6
- package/dist/esm/components/OrgSelect.d.ts.map +1 -1
- package/dist/esm/components/OrgSelect.js +79 -45
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +8 -2
- package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
- package/dist/esm/components/QuillMultiSelectWithCombo.js +351 -167
- package/dist/esm/components/QuillPopover.d.ts.map +1 -1
- package/dist/esm/components/QuillPopover.js +4 -5
- package/dist/esm/components/QuillSelect.js +9 -9
- 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 +47 -21
- 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 +16 -43
- package/dist/esm/components/UiComponents.d.ts.map +1 -1
- package/dist/esm/components/UiComponents.js +127 -29
- package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectDatabase.js +163 -51
- package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
- package/dist/esm/forms/client_onboard/ConnectSchema.js +36 -2
- 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 +61 -23
- package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
- package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
- package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +103 -17
- package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
- package/dist/esm/hooks/useDatabaseSchema.js +19 -3
- 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 +74 -17
- package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
- package/dist/esm/modals/EditFiltersModal.js +21 -17
- 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/ButtonPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/ButtonPrimitive.js +10 -6
- 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.map +1 -1
- package/dist/esm/primitives/HeaderPrimitive.js +11 -7
- package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/PopoverPrimitive.js +19 -6
- package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
- package/dist/esm/primitives/SecondaryButtonPrimitive.js +5 -3
- 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 +18 -8
- package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
- package/dist/esm/public_components/CreateEnvironment.js +68 -30
- package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
- package/dist/esm/public_components/DashboardManager.js +72 -5
- package/dist/esm/public_components/EnvSelectPopover.d.ts +2 -1
- package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
- package/dist/esm/public_components/EnvSelectPopover.js +49 -9
- package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
- package/dist/esm/public_components/VirtualTableManager.js +125 -11
- 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 +1 -0
- package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
- package/dist/esm/utils/columnProcessing.js +7 -2
- package/dist/esm/utils/constants.d.ts +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +4 -0
- package/dist/esm/utils/dataEditor.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
- package/dist/esm/utils/dataFetcher.js +0 -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 +23 -5
- 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
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { fieldTypeToDataTypeID } from '../utils/columnProcessing';
|
|
1
2
|
import { QUILL_SERVER } from '../utils/constants';
|
|
2
3
|
import { quillFetch } from '../utils/dataFetcher';
|
|
3
|
-
export async function testConnectionString(queryEndpoint, connectionString, databaseType, getToken, clientId) {
|
|
4
|
+
export async function testConnectionString(queryEndpoint, connectionString, databaseType, getToken, clientId, queryHeaders) {
|
|
4
5
|
const controller = new AbortController();
|
|
5
6
|
const timeoutId = setTimeout(() => controller.abort(), 10000); // 10 second timeout
|
|
6
7
|
try {
|
|
@@ -25,6 +26,7 @@ export async function testConnectionString(queryEndpoint, connectionString, data
|
|
|
25
26
|
const { data } = await quillFetch({
|
|
26
27
|
client: {
|
|
27
28
|
queryEndpoint,
|
|
29
|
+
queryHeaders,
|
|
28
30
|
clientId: clientId,
|
|
29
31
|
withCredentials: false,
|
|
30
32
|
},
|
|
@@ -48,10 +50,13 @@ export async function testConnectionString(queryEndpoint, connectionString, data
|
|
|
48
50
|
throw error;
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
// Unused
|
|
54
|
+
// If to be used, make work with self-hosted
|
|
55
|
+
export async function getTablesBySchema(queryEndpoint, clientId, schema, getToken, queryHeaders) {
|
|
52
56
|
const results = await quillFetch({
|
|
53
57
|
client: {
|
|
54
58
|
queryEndpoint,
|
|
59
|
+
queryHeaders,
|
|
55
60
|
clientId,
|
|
56
61
|
withCredentials: false,
|
|
57
62
|
},
|
|
@@ -69,10 +74,11 @@ export async function getTablesBySchema(queryEndpoint, clientId, schema, getToke
|
|
|
69
74
|
throw new Error(results.error);
|
|
70
75
|
}
|
|
71
76
|
}
|
|
72
|
-
export async function setSchemaNames(queryEndpoint, clientId, schemaNames, getToken) {
|
|
77
|
+
export async function setSchemaNames(queryEndpoint, clientId, schemaNames, getToken, queryHeaders) {
|
|
73
78
|
await quillFetch({
|
|
74
79
|
client: {
|
|
75
80
|
queryEndpoint,
|
|
81
|
+
queryHeaders,
|
|
76
82
|
clientId,
|
|
77
83
|
withCredentials: false,
|
|
78
84
|
},
|
|
@@ -84,11 +90,13 @@ export async function setSchemaNames(queryEndpoint, clientId, schemaNames, getTo
|
|
|
84
90
|
getToken,
|
|
85
91
|
});
|
|
86
92
|
}
|
|
87
|
-
// Unused
|
|
88
|
-
|
|
93
|
+
// Unused
|
|
94
|
+
// If to be used, make work with self-hosted
|
|
95
|
+
export async function getTableInfo(queryEndpoint, clientId, schema, table, getToken, queryHeaders) {
|
|
89
96
|
const results = await quillFetch({
|
|
90
97
|
client: {
|
|
91
98
|
queryEndpoint,
|
|
99
|
+
queryHeaders,
|
|
92
100
|
clientId,
|
|
93
101
|
withCredentials: false,
|
|
94
102
|
},
|
|
@@ -107,45 +115,136 @@ export async function getTableInfo(queryEndpoint, clientId, schema, table, getTo
|
|
|
107
115
|
throw new Error(results.error);
|
|
108
116
|
}
|
|
109
117
|
}
|
|
110
|
-
export async function
|
|
111
|
-
const
|
|
118
|
+
export async function getSchemaTables(schemas, databaseType, queryEndpoint, clientId, getToken, queryHeaders) {
|
|
119
|
+
const schemaMap = {};
|
|
120
|
+
const { queries } = await quillFetch({
|
|
112
121
|
client: {
|
|
113
122
|
queryEndpoint,
|
|
123
|
+
queryHeaders,
|
|
114
124
|
clientId,
|
|
115
125
|
withCredentials: false,
|
|
116
126
|
},
|
|
117
|
-
task: '
|
|
127
|
+
task: 'get-tables-by-schemas',
|
|
118
128
|
metadata: {
|
|
119
|
-
|
|
129
|
+
databaseType,
|
|
120
130
|
schemas,
|
|
121
131
|
},
|
|
122
132
|
getToken,
|
|
123
133
|
});
|
|
124
|
-
|
|
125
|
-
|
|
134
|
+
const queryResults = queries?.queryResults || [];
|
|
135
|
+
if (queryResults.length !== schemas.length) {
|
|
136
|
+
throw new Error('Error fetching tables by schemas');
|
|
126
137
|
}
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
const allTables = [];
|
|
139
|
+
for (let i = 0; i < queryResults.length; i++) {
|
|
140
|
+
const queryResult = queryResults[i];
|
|
141
|
+
const schema = schemas[i] || '';
|
|
142
|
+
const tables = queryResult.rows.map((row) => {
|
|
143
|
+
if (!schemaMap[schema]) {
|
|
144
|
+
schemaMap[schema] = [];
|
|
145
|
+
}
|
|
146
|
+
schemaMap[schema].push(row['table_name'] || row['TABLE_NAME']);
|
|
147
|
+
return {
|
|
148
|
+
tableName: row['table_name'] || row['TABLE_NAME'],
|
|
149
|
+
schemaName: row['table_schema'] || row['TABLE_SCHEMA'],
|
|
150
|
+
catalogName: row['table_catalog'] || row['TABLE_CATALOG'],
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
allTables.push(...tables);
|
|
154
|
+
}
|
|
155
|
+
return { tables: allTables.flat(), schema: schemaMap };
|
|
156
|
+
}
|
|
157
|
+
export async function getTableColumns(tables, databaseType, queryEndpoint, clientId, getToken, queryHeaders) {
|
|
158
|
+
const { queries } = await quillFetch({
|
|
159
|
+
client: {
|
|
160
|
+
queryEndpoint,
|
|
161
|
+
queryHeaders,
|
|
162
|
+
clientId,
|
|
163
|
+
withCredentials: false,
|
|
164
|
+
},
|
|
165
|
+
task: 'get-schema-table-columns',
|
|
166
|
+
metadata: {
|
|
167
|
+
databaseType,
|
|
168
|
+
tables,
|
|
169
|
+
},
|
|
170
|
+
getToken,
|
|
141
171
|
});
|
|
142
|
-
|
|
172
|
+
const queryResults = queries?.queryResults || [];
|
|
173
|
+
if (queryResults.length !== tables.length) {
|
|
174
|
+
throw new Error('Error fetching table columns');
|
|
175
|
+
}
|
|
176
|
+
const columnsByTable = [];
|
|
177
|
+
for (let i = 0; i < queryResults.length; i++) {
|
|
178
|
+
const queryResult = queryResults[i];
|
|
179
|
+
const table = tables[i];
|
|
180
|
+
const columns = queryResult.rows.map((row) => {
|
|
181
|
+
const fieldType = row['fieldType'] || row['dataType'];
|
|
182
|
+
return {
|
|
183
|
+
columnName: row['columnName'],
|
|
184
|
+
displayName: row['columnName'],
|
|
185
|
+
fieldType: fieldType,
|
|
186
|
+
dataTypeId: fieldTypeToDataTypeID(fieldType?.toLowerCase()),
|
|
187
|
+
field: row['columnName'],
|
|
188
|
+
};
|
|
189
|
+
});
|
|
190
|
+
columnsByTable.push({
|
|
191
|
+
tableName: `${table.catalogName ? `${table.catalogName}.` : ''}${table.schemaName}.${table.tableName}`,
|
|
192
|
+
displayName: `${table.catalogName ? `${table.catalogName}.` : ''}${table.schemaName}.${table.tableName}`,
|
|
193
|
+
columns,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
return columnsByTable;
|
|
197
|
+
}
|
|
198
|
+
// Different logic for self-hosted because there might not be a database connection string
|
|
199
|
+
// to rely on in the backend
|
|
200
|
+
export async function getTableColumnsBySchema(isSelfHosted, queryEndpoint, clientId, databaseType, getToken, schemas, queryHeaders) {
|
|
201
|
+
if (isSelfHosted) {
|
|
202
|
+
const { tables, schema } = await getSchemaTables(schemas, databaseType, queryEndpoint, clientId, getToken, queryHeaders);
|
|
203
|
+
const columnsByTable = await getTableColumns(tables, databaseType, queryEndpoint, clientId, getToken, queryHeaders);
|
|
204
|
+
return { columnsByTable, schema };
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
const results = await quillFetch({
|
|
208
|
+
client: {
|
|
209
|
+
queryEndpoint,
|
|
210
|
+
queryHeaders,
|
|
211
|
+
clientId,
|
|
212
|
+
withCredentials: false,
|
|
213
|
+
},
|
|
214
|
+
task: 'table-info-by-schema',
|
|
215
|
+
metadata: {
|
|
216
|
+
clientId,
|
|
217
|
+
schemas,
|
|
218
|
+
},
|
|
219
|
+
getToken,
|
|
220
|
+
});
|
|
221
|
+
if (results.status === 'error') {
|
|
222
|
+
throw new Error(results.error);
|
|
223
|
+
}
|
|
224
|
+
const formattedResults = results.data.columnsByTable.map((table) => {
|
|
225
|
+
return {
|
|
226
|
+
tableName: table.tableName,
|
|
227
|
+
displayName: table.displayName || table.tableName,
|
|
228
|
+
columns: table.columns.map((column) => {
|
|
229
|
+
return {
|
|
230
|
+
columnName: column.columnName,
|
|
231
|
+
displayName: column.displayName,
|
|
232
|
+
fieldType: column.fieldType,
|
|
233
|
+
dataTypeId: column.dataTypeId,
|
|
234
|
+
field: column.columnName,
|
|
235
|
+
};
|
|
236
|
+
}),
|
|
237
|
+
};
|
|
238
|
+
});
|
|
239
|
+
return { columnsByTable: formattedResults, schema: results.data.schema };
|
|
240
|
+
}
|
|
143
241
|
}
|
|
144
242
|
// Unused?
|
|
145
|
-
export async function getVirtualTables(queryEndpoint, tableSchemas, customerNameField, clientId, getToken) {
|
|
243
|
+
export async function getVirtualTables(queryEndpoint, tableSchemas, customerNameField, clientId, getToken, queryHeaders) {
|
|
146
244
|
const { data: results } = await quillFetch({
|
|
147
245
|
client: {
|
|
148
246
|
queryEndpoint,
|
|
247
|
+
queryHeaders,
|
|
149
248
|
clientId,
|
|
150
249
|
withCredentials: false,
|
|
151
250
|
},
|
|
@@ -165,12 +264,14 @@ export async function getVirtualTables(queryEndpoint, tableSchemas, customerName
|
|
|
165
264
|
}
|
|
166
265
|
return results.notSureWhatThisIs.sqlQueries;
|
|
167
266
|
}
|
|
168
|
-
|
|
267
|
+
// TODO: Check that works with self-hosted
|
|
268
|
+
export async function getVirtualTableData(clientId, query, databaseType, queryEndpoint, getToken, eventTracking, queryHeaders) {
|
|
169
269
|
let queryAst = undefined;
|
|
170
270
|
try {
|
|
171
271
|
const { data } = await quillFetch({
|
|
172
272
|
client: {
|
|
173
273
|
queryEndpoint,
|
|
274
|
+
queryHeaders,
|
|
174
275
|
clientId,
|
|
175
276
|
withCredentials: false,
|
|
176
277
|
},
|
|
@@ -191,6 +292,16 @@ export async function getVirtualTableData(clientId, query, databaseType, queryEn
|
|
|
191
292
|
}
|
|
192
293
|
}
|
|
193
294
|
catch (e) {
|
|
295
|
+
eventTracking?.logError?.({
|
|
296
|
+
type: 'network',
|
|
297
|
+
severity: 'medium',
|
|
298
|
+
message: 'Error getting AST',
|
|
299
|
+
errorMessage: e.message,
|
|
300
|
+
errorStack: e.stack,
|
|
301
|
+
errorData: {
|
|
302
|
+
function: 'getVirtualTableData',
|
|
303
|
+
},
|
|
304
|
+
});
|
|
194
305
|
return {
|
|
195
306
|
success: false,
|
|
196
307
|
error: 'Invalid SQL Query',
|
|
@@ -200,6 +311,7 @@ export async function getVirtualTableData(clientId, query, databaseType, queryEn
|
|
|
200
311
|
const results = await quillFetch({
|
|
201
312
|
client: {
|
|
202
313
|
queryEndpoint,
|
|
314
|
+
queryHeaders,
|
|
203
315
|
clientId,
|
|
204
316
|
withCredentials: false,
|
|
205
317
|
},
|
|
@@ -278,10 +390,11 @@ export async function getVirtualTableData(clientId, query, databaseType, queryEn
|
|
|
278
390
|
: { ...results, ...queryAst };
|
|
279
391
|
}
|
|
280
392
|
// Unused?
|
|
281
|
-
export async function getAST(query, clientId, queryEndpoint, getToken) {
|
|
393
|
+
export async function getAST(query, clientId, queryEndpoint, getToken, queryHeaders) {
|
|
282
394
|
const { data } = await quillFetch({
|
|
283
395
|
client: {
|
|
284
396
|
queryEndpoint,
|
|
397
|
+
queryHeaders,
|
|
285
398
|
clientId,
|
|
286
399
|
withCredentials: false,
|
|
287
400
|
},
|
|
@@ -296,10 +409,11 @@ export async function getAST(query, clientId, queryEndpoint, getToken) {
|
|
|
296
409
|
return data;
|
|
297
410
|
}
|
|
298
411
|
// Unused?
|
|
299
|
-
export async function getQueryFromAI(aiPrompt, columnsByTable, queryEndpoint, clientId, getToken) {
|
|
412
|
+
export async function getQueryFromAI(aiPrompt, columnsByTable, queryEndpoint, clientId, getToken, queryHeaders) {
|
|
300
413
|
const { data: results } = await quillFetch({
|
|
301
414
|
client: {
|
|
302
415
|
queryEndpoint,
|
|
416
|
+
queryHeaders,
|
|
303
417
|
clientId,
|
|
304
418
|
withCredentials: false,
|
|
305
419
|
},
|
|
@@ -313,13 +427,15 @@ export async function getQueryFromAI(aiPrompt, columnsByTable, queryEndpoint, cl
|
|
|
313
427
|
});
|
|
314
428
|
return results?.message || '';
|
|
315
429
|
}
|
|
316
|
-
|
|
430
|
+
// TODO: Check that works with self-hosted
|
|
431
|
+
export async function getQueryFromAiWithConnection(isSelfHosted, databaseSchema, queryEndpoint, aiPrompt, clientId, getToken, schemaNames, queryHeaders) {
|
|
317
432
|
if (aiPrompt.trim().length > 500) {
|
|
318
433
|
return '';
|
|
319
434
|
}
|
|
320
435
|
const { data: results } = await quillFetch({
|
|
321
436
|
client: {
|
|
322
437
|
queryEndpoint,
|
|
438
|
+
queryHeaders,
|
|
323
439
|
clientId,
|
|
324
440
|
withCredentials: false,
|
|
325
441
|
},
|
|
@@ -328,6 +444,7 @@ export async function getQueryFromAiWithConnection(queryEndpoint, aiPrompt, clie
|
|
|
328
444
|
prompt: aiPrompt,
|
|
329
445
|
clientId,
|
|
330
446
|
schemaNames,
|
|
447
|
+
databaseSchema: isSelfHosted ? databaseSchema : undefined,
|
|
331
448
|
},
|
|
332
449
|
getToken,
|
|
333
450
|
});
|
|
@@ -338,6 +455,7 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
|
|
|
338
455
|
const { data: queryAstRaw } = await quillFetch({
|
|
339
456
|
client: {
|
|
340
457
|
queryEndpoint,
|
|
458
|
+
queryHeaders,
|
|
341
459
|
clientId,
|
|
342
460
|
withCredentials: false,
|
|
343
461
|
},
|
|
@@ -349,6 +467,7 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
|
|
|
349
467
|
},
|
|
350
468
|
getToken,
|
|
351
469
|
});
|
|
470
|
+
// Check for missing tenant field
|
|
352
471
|
const missingField = ownerTenantFields.find((field) => tableData &&
|
|
353
472
|
!tableData.fields.find((col) => col.name === field?.replaceAll('"', '')));
|
|
354
473
|
const failingTenant = client.allTenantTypes.find((tenant) => tenant.tenantField === missingField);
|
|
@@ -356,8 +475,28 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
|
|
|
356
475
|
return {
|
|
357
476
|
success: false,
|
|
358
477
|
failingTenant,
|
|
478
|
+
failingTenantErrorType: 'missing',
|
|
359
479
|
};
|
|
360
480
|
}
|
|
481
|
+
// Check for type mismatches
|
|
482
|
+
if (tableData) {
|
|
483
|
+
const typeMismatchedTenant = ownerTenantFields.find((owner) => {
|
|
484
|
+
const tenant = client.allTenantTypes?.find((t) => t.tenantField === owner);
|
|
485
|
+
const tableDataField = tableData.fields.find((col) => col.name === owner?.replaceAll('"', ''));
|
|
486
|
+
return ((tenant?.fieldType === 'string' &&
|
|
487
|
+
isNumberType(tableDataField?.fieldType ?? '')) ||
|
|
488
|
+
(tenant?.fieldType === 'number' &&
|
|
489
|
+
isStringType(tableDataField?.fieldType ?? '')));
|
|
490
|
+
});
|
|
491
|
+
if (typeMismatchedTenant) {
|
|
492
|
+
const tenant = client.allTenantTypes?.find((t) => t.tenantField === typeMismatchedTenant);
|
|
493
|
+
return {
|
|
494
|
+
success: false,
|
|
495
|
+
failingTenant: tenant,
|
|
496
|
+
failingTenantErrorType: 'type_mismatch',
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
}
|
|
361
500
|
if (!queryAstRaw || queryAstRaw.success === false) {
|
|
362
501
|
return {
|
|
363
502
|
success: false,
|
|
@@ -378,6 +517,7 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
|
|
|
378
517
|
const results = await quillFetch({
|
|
379
518
|
client: {
|
|
380
519
|
queryEndpoint,
|
|
520
|
+
queryHeaders,
|
|
381
521
|
clientId,
|
|
382
522
|
withCredentials: false,
|
|
383
523
|
},
|
|
@@ -393,3 +533,28 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
|
|
|
393
533
|
});
|
|
394
534
|
return { ...results.data, success: true };
|
|
395
535
|
}
|
|
536
|
+
// Helper functions for type checking
|
|
537
|
+
function isNumberType(type) {
|
|
538
|
+
const numberTypes = [
|
|
539
|
+
'int',
|
|
540
|
+
'integer',
|
|
541
|
+
'bigint',
|
|
542
|
+
'smallint',
|
|
543
|
+
'decimal',
|
|
544
|
+
'numeric',
|
|
545
|
+
'float',
|
|
546
|
+
'double',
|
|
547
|
+
'real',
|
|
548
|
+
];
|
|
549
|
+
return numberTypes.some((t) => type.toLowerCase().includes(t));
|
|
550
|
+
}
|
|
551
|
+
function isStringType(type) {
|
|
552
|
+
const stringTypes = [
|
|
553
|
+
'char',
|
|
554
|
+
'varchar',
|
|
555
|
+
'text',
|
|
556
|
+
'string',
|
|
557
|
+
'character varying',
|
|
558
|
+
];
|
|
559
|
+
return stringTypes.some((t) => type.toLowerCase().includes(t));
|
|
560
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB;;
|
|
1
|
+
{"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB,GAAI;;CAAY,4CActC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/XIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK;;
|
|
1
|
+
{"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/XIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,GAAI;;CAAY,4CAc1B,CAAC;AACF,eAAe,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardSection.d.ts","sourceRoot":"","sources":["../../../src/components/CardSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CardSection.d.ts","sourceRoot":"","sources":["../../../src/components/CardSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG1C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAgBzE"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useAdmin } from '../AdminProvider';
|
|
2
3
|
export default function CardSection(props) {
|
|
4
|
+
const { state: { theme }, } = useAdmin();
|
|
3
5
|
return (_jsx("div", { style: {
|
|
4
|
-
fontFamily:
|
|
5
|
-
color:
|
|
6
|
+
fontFamily: theme?.fontFamily,
|
|
7
|
+
color: theme?.primaryTextColor,
|
|
6
8
|
fontSize: 16,
|
|
7
9
|
fontWeight: '600',
|
|
8
10
|
}, children: props.children }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipboardButton.d.ts","sourceRoot":"","sources":["../../../src/components/ClipboardButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,QAAA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"ClipboardButton.d.ts","sourceRoot":"","sources":["../../../src/components/ClipboardButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,QAAA,MAAM,eAAe,GAAI,kCAItB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,4CAsHA,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardSelectPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"DashboardSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardSelectPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,UAAU,2BAA2B;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EACL,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACT,SAAS,GACV,EAAE,2BAA2B,2CAsM7B"}
|
|
@@ -1,15 +1,27 @@
|
|
|
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 { ListboxRow,
|
|
3
|
+
import { ListboxRow, Popover } from './OrgSelect';
|
|
4
4
|
import MiniButtonPrimitive from '../primitives/MiniButtonPrimitive';
|
|
5
5
|
import { LoadingSpinner } from './UiComponents';
|
|
6
|
+
import { ListboxTextInput } from './QuillMultiSelectWithCombo';
|
|
7
|
+
import { useAdmin } from '../AdminProvider';
|
|
6
8
|
export default function DashboardSelectPopover({ dashboards, setDashboard, dashboard, theme, setSelectedEditDashboard, onClickNewDashboard, parentRef, isLoading, }) {
|
|
7
9
|
const [isOpen, setIsOpen] = useState(false);
|
|
10
|
+
const { eventTracking } = useAdmin();
|
|
8
11
|
const [searchQuery, setSearchQuery] = useState('');
|
|
9
12
|
const filteredDashboards = useMemo(() => {
|
|
10
13
|
return dashboards.filter((dashboard) => dashboard?.toLowerCase().includes(searchQuery.toLowerCase()));
|
|
11
14
|
}, [dashboards, searchQuery]);
|
|
12
15
|
const handleItemClick = (selectedDashboard) => {
|
|
16
|
+
eventTracking?.addBreadcrumb?.({
|
|
17
|
+
message: 'Set dashboard in DashboardSelectPopover',
|
|
18
|
+
data: {
|
|
19
|
+
dashboard: selectedDashboard,
|
|
20
|
+
},
|
|
21
|
+
category: 'navigation',
|
|
22
|
+
level: 'info',
|
|
23
|
+
timestamp: Date.now(),
|
|
24
|
+
});
|
|
13
25
|
setDashboard(selectedDashboard);
|
|
14
26
|
setIsOpen(false);
|
|
15
27
|
};
|
|
@@ -19,23 +31,47 @@ export default function DashboardSelectPopover({ dashboards, setDashboard, dashb
|
|
|
19
31
|
marginTop: '0px',
|
|
20
32
|
marginBottom: '4px',
|
|
21
33
|
fontWeight: '600',
|
|
34
|
+
fontFamily: theme.fontFamily,
|
|
22
35
|
color: theme.secondaryTextColor,
|
|
23
36
|
}, children: "Dashboard" }), _jsx(Popover, { parentRef: parentRef, label: dashboard ?? 'Select dashboard', isOpen: isOpen, onClose: () => setIsOpen(false), style: {
|
|
24
37
|
boxSizing: 'border-box',
|
|
25
38
|
fontSize: 14,
|
|
26
39
|
maxHeight: '50vh',
|
|
27
|
-
}, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery,
|
|
40
|
+
}, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, width: 180, onChange: setSearchQuery }), _jsx("div", { style: {
|
|
41
|
+
height: 9,
|
|
42
|
+
width: 230,
|
|
43
|
+
borderTop: `1px solid ${theme?.borderColor ?? '#e7e7e7'}`,
|
|
44
|
+
} }), _jsxs("div", { style: { paddingTop: 8, paddingBottom: 8 }, children: [filteredDashboards.map((item) => (_jsx(ListboxRow, { setSelected: dashboard && dashboard !== item
|
|
28
45
|
? () => handleItemClick(item)
|
|
29
46
|
: undefined, item: item, isSelected: dashboard === item, hoverActions: (item) => (_jsx(MiniButtonPrimitive, { label: "Manage", onClick: () => {
|
|
47
|
+
eventTracking?.addBreadcrumb?.({
|
|
48
|
+
message: 'Opened manage dashboard in DashboardSelectPopover',
|
|
49
|
+
data: {
|
|
50
|
+
dashboard: item,
|
|
51
|
+
},
|
|
52
|
+
category: 'interaction',
|
|
53
|
+
level: 'info',
|
|
54
|
+
timestamp: Date.now(),
|
|
55
|
+
});
|
|
30
56
|
setSelectedEditDashboard(item);
|
|
31
57
|
setIsOpen(false);
|
|
32
58
|
}, style: {
|
|
33
59
|
marginRight: -8,
|
|
34
60
|
marginTop: 'auto',
|
|
35
61
|
marginBottom: 'auto',
|
|
36
|
-
|
|
62
|
+
fontFamily: theme.fontFamily,
|
|
63
|
+
color: theme.secondaryTextColor,
|
|
64
|
+
backgroundColor: theme.backgroundColor,
|
|
65
|
+
} })) }, item))), _jsx("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: _jsxs("div", { onClick: () => {
|
|
66
|
+
onClickNewDashboard();
|
|
67
|
+
eventTracking?.addBreadcrumb?.({
|
|
68
|
+
message: 'Opened create new dashboard in DashboardSelectPopover',
|
|
69
|
+
category: 'navigation',
|
|
70
|
+
level: 'info',
|
|
71
|
+
timestamp: Date.now(),
|
|
72
|
+
});
|
|
73
|
+
}, style: {
|
|
37
74
|
height: 42,
|
|
38
|
-
color: '#384151',
|
|
39
75
|
width: 216,
|
|
40
76
|
borderRadius: 6,
|
|
41
77
|
textAlign: 'left',
|
|
@@ -49,15 +85,18 @@ export default function DashboardSelectPopover({ dashboards, setDashboard, dashb
|
|
|
49
85
|
textOverflow: 'ellipsis',
|
|
50
86
|
whiteSpace: 'nowrap',
|
|
51
87
|
overflow: 'hidden',
|
|
88
|
+
fontFamily: theme.fontFamily,
|
|
52
89
|
}, children: [_jsx("style", { children: `
|
|
53
90
|
.quill-list-select > div {
|
|
54
|
-
background-color:
|
|
91
|
+
background-color: ${theme?.backgroundColor};
|
|
92
|
+
color: ${theme?.primaryTextColor};
|
|
55
93
|
}
|
|
56
94
|
.quill-list-selected > div {
|
|
57
|
-
background-color:
|
|
58
|
-
|
|
95
|
+
background-color: ${theme?.hoverBackgroundColor};
|
|
96
|
+
color: ${theme?.hoverTextColor};
|
|
59
97
|
.quill-list-select:hover > div {
|
|
60
|
-
background-color:
|
|
98
|
+
background-color: ${theme?.hoverBackgroundColor};
|
|
99
|
+
color: ${theme?.hoverTextColor};
|
|
61
100
|
}` }), _jsxs("div", { style: {
|
|
62
101
|
textOverflow: 'ellipsis',
|
|
63
102
|
whiteSpace: 'nowrap',
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
|
+
import { QuillTheme } from '../Admin';
|
|
2
3
|
interface DatabaseSelectorProps {
|
|
3
4
|
label: string;
|
|
4
5
|
imageUrl: string;
|
|
@@ -6,7 +7,8 @@ interface DatabaseSelectorProps {
|
|
|
6
7
|
onDatabaseSelect: (database: string) => void;
|
|
7
8
|
containerStyle?: CSSProperties;
|
|
8
9
|
databaseType: string;
|
|
10
|
+
theme: QuillTheme;
|
|
9
11
|
}
|
|
10
|
-
export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType, theme, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
11
13
|
export {};
|
|
12
14
|
//# sourceMappingURL=DatabaseSelector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,YAAiB,EACjB,KAAK,GACN,EAAE,qBAAqB,2CA8CvB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType = '', }) {
|
|
2
|
+
export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType = '', theme, }) {
|
|
3
3
|
return (_jsxs("div", { style: {
|
|
4
4
|
...containerStyle,
|
|
5
5
|
height: 128,
|
|
@@ -24,7 +24,8 @@ export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSel
|
|
|
24
24
|
} }), _jsx("h1", { style: {
|
|
25
25
|
fontSize: 14,
|
|
26
26
|
fontWeight: '500',
|
|
27
|
-
color:
|
|
27
|
+
color: theme?.secondaryTextColor,
|
|
28
|
+
fontFamily: theme?.fontFamily,
|
|
28
29
|
marginTop: 10,
|
|
29
30
|
}, children: label })] }));
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleDatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/SingleDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,UAAiB,GAClB,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"SingleDatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/SingleDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,UAAiB,GAClB,EAAE,mBAAmB,2CAqXrB"}
|
|
@@ -115,10 +115,6 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
|
|
|
115
115
|
alignItems: 'center',
|
|
116
116
|
borderColor: theme?.borderColor,
|
|
117
117
|
fontFamily: theme?.fontFamily,
|
|
118
|
-
color: theme?.primaryTextColor,
|
|
119
|
-
backgroundColor: disabled
|
|
120
|
-
? theme?.hoverBackgroundColor
|
|
121
|
-
: theme?.backgroundColor,
|
|
122
118
|
padding: '8px 12px',
|
|
123
119
|
fontSize: 14,
|
|
124
120
|
margin: 0,
|
|
@@ -132,7 +128,9 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
|
|
|
132
128
|
minHeight: 40,
|
|
133
129
|
maxHeight: 40,
|
|
134
130
|
gap: 10,
|
|
135
|
-
|
|
131
|
+
opacity: disabled ? 0.5 : 1,
|
|
132
|
+
}, disabled: disabled, onClick: () => setShowModal((prevShowModal) => !prevShowModal), className: "quill-date-range-picker-button", children: [_jsx("style", { children: ` .quill-date-range-picker-button { background: ${theme?.backgroundColor}; color: ${theme?.primaryTextColor}; }
|
|
133
|
+
.quill-date-range-picker-button:hover { background: ${theme?.hoverBackgroundColor}; color: ${theme?.hoverTextColor}; }` }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", height: "15.5px", width: "15.5px", style: { marginTop: -1.5 }, children: [_jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", ry: "2" }), _jsx("line", { x1: "16", x2: "16", y1: "2", y2: "6" }), _jsx("line", { x1: "8", x2: "8", y1: "2", y2: "6" }), _jsx("line", { x1: "3", x2: "21", y1: "10", y2: "10" })] }), ignoreYear
|
|
136
134
|
? selectedDate
|
|
137
135
|
? `Start on ${format(selectedDate, 'MMM dd')}`
|
|
138
136
|
: 'Select Date'
|
|
@@ -175,7 +173,20 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
|
|
|
175
173
|
visibility: ignoreYear && currentMonth.getMonth() === 0
|
|
176
174
|
? 'hidden'
|
|
177
175
|
: 'visible',
|
|
178
|
-
}, className: "quill-calendar-button", children: [_jsx("style", { children:
|
|
176
|
+
}, className: "quill-calendar-button", children: [_jsx("style", { children: `
|
|
177
|
+
.quill-calendar-button {
|
|
178
|
+
background-color: ${theme.backgroundColor};
|
|
179
|
+
}
|
|
180
|
+
.quill-calendar-button:hover {
|
|
181
|
+
background-color: ${theme.hoverBackgroundColor};
|
|
182
|
+
}
|
|
183
|
+
.quill-calendar-button svg {
|
|
184
|
+
fill: ${theme.chartLabelColor};
|
|
185
|
+
}
|
|
186
|
+
.quill-calendar-button:hover svg {
|
|
187
|
+
fill: ${theme.hoverTextColor};
|
|
188
|
+
}
|
|
189
|
+
` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "24px", width: "24px", children: _jsx("path", { d: "M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" }) })] }), _jsx("div", { style: {
|
|
179
190
|
fontFamily: theme.fontFamily,
|
|
180
191
|
fontSize: 14,
|
|
181
192
|
color: theme.primaryTextColor,
|
|
@@ -198,7 +209,20 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
|
|
|
198
209
|
visibility: ignoreYear && currentMonth.getMonth() === 11
|
|
199
210
|
? 'hidden'
|
|
200
211
|
: 'visible',
|
|
201
|
-
}, className: "quill-calendar-button", children: [_jsx("style", { children:
|
|
212
|
+
}, className: "quill-calendar-button", children: [_jsx("style", { children: `
|
|
213
|
+
.quill-calendar-button {
|
|
214
|
+
background-color: ${theme.backgroundColor};
|
|
215
|
+
}
|
|
216
|
+
.quill-calendar-button:hover {
|
|
217
|
+
background-color: ${theme.hoverBackgroundColor};
|
|
218
|
+
}
|
|
219
|
+
.quill-calendar-button svg {
|
|
220
|
+
fill: ${theme.chartLabelColor};
|
|
221
|
+
}
|
|
222
|
+
.quill-calendar-button:hover svg {
|
|
223
|
+
fill: ${theme.hoverTextColor};
|
|
224
|
+
}
|
|
225
|
+
` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "24px", width: "24px", children: _jsx("path", { d: "M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z" }) })] })] }), _jsx("div", { style: {
|
|
202
226
|
display: 'grid',
|
|
203
227
|
gridTemplateColumns: 'repeat(7, 1fr)',
|
|
204
228
|
marginTop: 8,
|