@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,13 +4,24 @@ import { ListboxRow, Popover } from './OrgSelect';
|
|
|
4
4
|
import MiniButtonPrimitive from '../primitives/MiniButtonPrimitive';
|
|
5
5
|
import { LoadingSpinner } from './UiComponents';
|
|
6
6
|
import { ListboxTextInput } from './QuillMultiSelectWithCombo';
|
|
7
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
7
8
|
export default function DashboardSelectPopover({ dashboards, setDashboard, dashboard, theme, setSelectedEditDashboard, onClickNewDashboard, parentRef, isLoading, }) {
|
|
8
9
|
const [isOpen, setIsOpen] = useState(false);
|
|
10
|
+
const { eventTracking } = useAdmin();
|
|
9
11
|
const [searchQuery, setSearchQuery] = useState('');
|
|
10
12
|
const filteredDashboards = useMemo(() => {
|
|
11
13
|
return dashboards.filter((dashboard) => dashboard?.toLowerCase().includes(searchQuery.toLowerCase()));
|
|
12
14
|
}, [dashboards, searchQuery]);
|
|
13
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
|
+
});
|
|
14
25
|
setDashboard(selectedDashboard);
|
|
15
26
|
setIsOpen(false);
|
|
16
27
|
};
|
|
@@ -33,6 +44,15 @@ export default function DashboardSelectPopover({ dashboards, setDashboard, dashb
|
|
|
33
44
|
} }), _jsxs("div", { style: { paddingTop: 8, paddingBottom: 8 }, children: [filteredDashboards.map((item) => (_jsx(ListboxRow, { setSelected: dashboard && dashboard !== item
|
|
34
45
|
? () => handleItemClick(item)
|
|
35
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
|
+
});
|
|
36
56
|
setSelectedEditDashboard(item);
|
|
37
57
|
setIsOpen(false);
|
|
38
58
|
}, style: {
|
|
@@ -42,7 +62,15 @@ export default function DashboardSelectPopover({ dashboards, setDashboard, dashb
|
|
|
42
62
|
fontFamily: theme.fontFamily,
|
|
43
63
|
color: theme.secondaryTextColor,
|
|
44
64
|
backgroundColor: theme.backgroundColor,
|
|
45
|
-
} })) }, item))), _jsx("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: _jsxs("div", { onClick:
|
|
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: {
|
|
46
74
|
height: 42,
|
|
47
75
|
width: 216,
|
|
48
76
|
borderRadius: 6,
|
|
@@ -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;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
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,oBAAoB,CAAC;AAEhD,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"}
|
|
@@ -3,7 +3,7 @@ import { useRef, useState, useEffect } from 'react';
|
|
|
3
3
|
import { startOfMonth, endOfMonth, format, eachDayOfInterval, addMonths, subMonths, } from 'date-fns';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
5
|
import useOnClickOutside, { getEffectiveZIndex, } from '../../hooks/useOnClickOutside';
|
|
6
|
-
import { useAdmin } from '../../
|
|
6
|
+
import { useAdmin } from '../../hooks/useAdmin';
|
|
7
7
|
export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style, ignoreYear = true, }) {
|
|
8
8
|
const { state } = useAdmin();
|
|
9
9
|
const { theme } = state;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { startOfMonth, endOfMonth, format, eachDayOfInterval, subMonths, differenceInDays, startOfDay, addMonths, isBefore, isAfter, } from 'date-fns';
|
|
4
|
-
import { useAdmin } from '../../
|
|
4
|
+
import { useAdmin } from '../../hooks/useAdmin';
|
|
5
5
|
import useOnClickOutside from '../../hooks/useOnClickOutside';
|
|
6
6
|
/**
|
|
7
7
|
* The fallback date range picked used in <Dashboard/>.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/dateRangePickerUtils.ts"],"names":[],"mappings":"AAgBA,OAAO,
|
|
1
|
+
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/dateRangePickerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import React, { useMemo } from 'react';
|
|
|
3
3
|
import { Popover } from './OrgSelect';
|
|
4
4
|
import FormTooltip from './FormTooltip';
|
|
5
5
|
import { ListboxTextInput } from './QuillMultiSelectWithCombo';
|
|
6
|
-
import { useAdmin } from '../
|
|
6
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
7
7
|
export default function DropdownMenuWithLabel({ items, setSelected, selected, label, parentRef, tooltipText, style, }) {
|
|
8
8
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
9
9
|
const [searchQuery, setSearchQuery] = React.useState('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicBanner.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"DynamicBanner.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicBanner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CA0ClC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useAdmin } from '../../
|
|
2
|
+
import { useAdmin } from '../../hooks/useAdmin';
|
|
3
3
|
import { MemoizedButton } from '../UiComponents';
|
|
4
4
|
export default function EmptyDashboardComponent() {
|
|
5
5
|
const { state, dispatch } = useAdmin();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useAdmin } from '../
|
|
2
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
3
3
|
import { MemoizedButton } from './UiComponents';
|
|
4
4
|
export default function EmptyVirtualTablesComponent({ onClick, }) {
|
|
5
5
|
const { state: { theme }, } = useAdmin();
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useState, useRef } from 'react';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
4
|
import InformationCircleIcon from '../icons/InformationCircleIcon';
|
|
5
|
-
import { useAdmin } from '../
|
|
5
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
6
6
|
function FormTooltip({ text, element, color, mirror, }) {
|
|
7
7
|
const [isOpen, setIsOpen] = useState(false);
|
|
8
8
|
const tooltipRef = useRef(null);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import FormTooltip from './FormTooltip';
|
|
3
|
-
import { useAdmin } from '../
|
|
3
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
4
4
|
export default function InputLabel(props) {
|
|
5
5
|
const { state: { theme }, } = useAdmin();
|
|
6
6
|
return (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: [_jsx("div", { style: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { InternalDashboardFilter as Filters } from '../../utils/filter';
|
|
3
3
|
interface DashboardFilterProps {
|
|
4
4
|
filter: Filters;
|
|
5
5
|
onChangeFilter: (filter: Filters, value?: string | (string | null)[] | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"DashboardFilter.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardFilter.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,uBAAuB,IAAI,OAAO,EAEnC,MAAM,oBAAoB,CAAC;AAO5B,UAAU,oBAAoB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,CACd,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,EACF,MAAM,GACN,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GACjB;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,GAClC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EACtB,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KACzC,IAAI,CAAC;IACV,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,cAAc,EACd,SAAS,EACT,QAAQ,EACR,cAAc,GACf,EAAE,oBAAoB,kDAwKtB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
|
-
import { PRIMARY_RANGE } from '../../utils/filter';
|
|
3
|
+
import { PRIMARY_RANGE, } from '../../utils/filter';
|
|
4
4
|
import { QuillMultiSelectComponentWithCombo } from '../QuillMultiSelectWithCombo';
|
|
5
5
|
import { QuillSelectComponentWithCombo } from '../QuillSelectWithCombo';
|
|
6
6
|
import { QuillDateRangePicker } from './DateRangePicker/QuillDateRangePicker';
|
|
7
|
-
import { useAdmin } from '../../
|
|
7
|
+
import { useAdmin } from '../../hooks/useAdmin';
|
|
8
8
|
import { COMPARISON_OPTIONS } from './DateRangePicker/dateRangePickerUtils';
|
|
9
9
|
export function DashboardFilter({ filter, onChangeFilter, isLoading, disabled, containerStyle, }) {
|
|
10
10
|
const { theme } = useAdmin().state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardLoadingComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardLoadingComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"DashboardLoadingComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/DashboardLoadingComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,eAAO,MAAM,yBAAyB,GAAI,4DAIvC;IACD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACtC,4CA6BA,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { startOfMonth, endOfMonth, format, eachDayOfInterval, subMonths, startOfWeek, endOfWeek, differenceInDays, startOfDay, addMonths, isBefore, isAfter, } from 'date-fns';
|
|
4
|
-
import { useAdmin } from '../../../
|
|
4
|
+
import { useAdmin } from '../../../hooks/useAdmin';
|
|
5
5
|
import { QuillSelectComponentWithCombo } from '../../QuillSelectWithCombo';
|
|
6
6
|
import { QuillPortal } from '../../UiComponents';
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../../../src/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"dateRangePickerUtils.d.ts","sourceRoot":"","sources":["../../../../../src/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/InternalDashboard.tsx"],"names":[],"mappings":"AA4BA,OAAO,EACL,aAAa,EAOd,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,cAAc,EACd,WAAW,EAIZ,MAAM,iBAAiB,CAAC;AA+EzB,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"InternalDashboard.d.ts","sourceRoot":"","sources":["../../../../src/components/InternalDashboard/InternalDashboard.tsx"],"names":[],"mappings":"AA4BA,OAAO,EACL,aAAa,EAOd,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,cAAc,EACd,WAAW,EAIZ,MAAM,iBAAiB,CAAC;AA+EzB,eAAO,MAAM,iBAAiB,GAAI,8GAa/B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,GAAG,CAAC,OAAO,CAAC;IACpD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,4CAsmEA,CAAC"}
|
|
@@ -4,10 +4,10 @@ import { getEventCoordinates } from '@dnd-kit/utilities';
|
|
|
4
4
|
import { CSS } from '@dnd-kit/utilities';
|
|
5
5
|
import { DndContext, closestCorners, KeyboardSensor, PointerSensor, useSensor, useSensors, TouchSensor, MeasuringStrategy, pointerWithin, rectIntersection, DragOverlay, useDroppable, closestCenter, } from '@dnd-kit/core';
|
|
6
6
|
import { useCallback, useEffect, useMemo, useRef, useState, memo, } from 'react';
|
|
7
|
-
import { Chart,
|
|
7
|
+
import { Chart, useDashboardInternal, useAllReports, } from '@quillsql/react';
|
|
8
8
|
import equal from 'fast-deep-equal';
|
|
9
|
-
import { useAdmin } from '../../
|
|
10
|
-
import { convertCustomFilter, DashboardFilterType, } from '../../utils/filter';
|
|
9
|
+
import { useAdmin } from '../../hooks/useAdmin';
|
|
10
|
+
import { convertCustomFilter, InternalDashboardFilterType as DashboardFilterType, } from '../../utils/filter';
|
|
11
11
|
import EmptyDashboardComponent from '../EmptyDashboardComponent';
|
|
12
12
|
import { DashboardLoadingComponent } from './DashboardLoadingComponent';
|
|
13
13
|
import { QuillErrorMessageComponent } from '../UiComponents';
|
|
@@ -56,7 +56,7 @@ onChangeLoading, filters,
|
|
|
56
56
|
// onClickChartElement,
|
|
57
57
|
// dateBucket,
|
|
58
58
|
containerStyle, parentLoading, onManageDashboard, }) => {
|
|
59
|
-
const { state, clientLoading: isClientLoading } = useAdmin();
|
|
59
|
+
const { state, clientLoading: isClientLoading, eventTracking } = useAdmin();
|
|
60
60
|
const tenants = state.currentTenantIdentity;
|
|
61
61
|
// const client = state.client;
|
|
62
62
|
// const [userFilters, setUserFilters] = useState<{
|
|
@@ -70,7 +70,7 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
70
70
|
// useEffect(() => {
|
|
71
71
|
// onUserFiltersUpdated?.(Object.values(userFilters));
|
|
72
72
|
// }, [userFilters]);
|
|
73
|
-
const { isLoading, data, isDashboardFilterLoading, dashboardFilters: populatedDashboardFilters, reload, setSectionOrder, } =
|
|
73
|
+
const { isLoading, data, isDashboardFilterLoading, dashboardFilters: populatedDashboardFilters, reload, setSectionOrder, } = useDashboardInternal(name, filters?.map((f) => convertCustomFilter(f)) ?? []);
|
|
74
74
|
const { allReportsById } = useAllReports();
|
|
75
75
|
const [previewSectionOrder, setPreviewSectionOrder] = useState({});
|
|
76
76
|
const [isEditingNewSection, setIsEditingNewSection] = useState(false);
|
|
@@ -262,7 +262,11 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
262
262
|
// A filter value can either be a string, an array of strings for a multiselect, or a date range (that could have a comparison range)
|
|
263
263
|
const [filterValues, setFilterValues] = useState({});
|
|
264
264
|
const prevNameRef = useRef(name);
|
|
265
|
-
const prevTenantsRef = useRef
|
|
265
|
+
// const prevTenantsRef = useRef<
|
|
266
|
+
// | { tenantIds: (string | number)[]; tenantField: string }[]
|
|
267
|
+
// | (string | number)[]
|
|
268
|
+
// | undefined
|
|
269
|
+
// >(tenants);
|
|
266
270
|
// const prevFlagsRef = useRef<string[] | undefined>(flags);
|
|
267
271
|
// const prevClientRef = useRef<string>(client?.publicKey ?? '');
|
|
268
272
|
// const addFilterPopoverButtonRef = useRef<HTMLDivElement>(null);
|
|
@@ -273,6 +277,7 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
273
277
|
}
|
|
274
278
|
// const pendingReloadRef = useRef(false);
|
|
275
279
|
const isInitialLoadOfDashboardRef = useRef(false);
|
|
280
|
+
const [initialLoad, setInitialLoad] = useState(true);
|
|
276
281
|
// const referencedTables = useMemo(() => {
|
|
277
282
|
// const sections = data?.sections || {};
|
|
278
283
|
// // find intersection of all referenced tables
|
|
@@ -286,8 +291,12 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
286
291
|
useEffect(() => {
|
|
287
292
|
if (prevNameRef.current === name &&
|
|
288
293
|
Object.values(data?.sections ?? {}).flat().length) {
|
|
294
|
+
setInitialLoad(false);
|
|
289
295
|
return;
|
|
290
296
|
}
|
|
297
|
+
else {
|
|
298
|
+
setInitialLoad(true);
|
|
299
|
+
}
|
|
291
300
|
prevNameRef.current = name;
|
|
292
301
|
if (isClientLoading || parentLoading || tenants === undefined) {
|
|
293
302
|
// Reload the dashboard when the client is loaded
|
|
@@ -297,36 +306,34 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
297
306
|
if (isInitialLoadOfDashboardRef.current)
|
|
298
307
|
return;
|
|
299
308
|
isInitialLoadOfDashboardRef.current = true;
|
|
300
|
-
reload(name, true
|
|
301
|
-
? { filters: populatedDashboardFilters, refetchReports: true }
|
|
302
|
-
: undefined).then(() => {
|
|
309
|
+
reload(name, true).then(() => {
|
|
303
310
|
isInitialLoadOfDashboardRef.current = false;
|
|
304
|
-
|
|
305
|
-
//
|
|
306
|
-
});
|
|
307
|
-
}, [name, isClientLoading, parentLoading, tenants]);
|
|
308
|
-
const tenantMounted = useRef(false);
|
|
309
|
-
useEffect(() => {
|
|
310
|
-
if (!tenantMounted.current) {
|
|
311
|
-
tenantMounted.current = true;
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
const tenantsChanged = !equal(prevTenantsRef.current, tenants);
|
|
315
|
-
// || equal(prevFlagsRef.current, flags);
|
|
316
|
-
if (isClientLoading || tenants === undefined || !tenantsChanged) {
|
|
317
|
-
// Reload the dashboard when the client is loaded
|
|
318
|
-
// pendingReloadRef.current = true;
|
|
319
|
-
return;
|
|
320
|
-
}
|
|
321
|
-
if (isInitialLoadOfDashboardRef.current)
|
|
322
|
-
return;
|
|
323
|
-
isInitialLoadOfDashboardRef.current = true;
|
|
324
|
-
reload(name, tenantsChanged).then(() => {
|
|
325
|
-
prevTenantsRef.current = tenants;
|
|
311
|
+
setInitialLoad(false);
|
|
312
|
+
// prevTenantsRef.current = tenants;
|
|
326
313
|
// prevFlagsRef.current = flags;
|
|
327
|
-
isInitialLoadOfDashboardRef.current = false;
|
|
328
314
|
});
|
|
329
|
-
}, [
|
|
315
|
+
}, [name, isClientLoading, parentLoading]);
|
|
316
|
+
// const tenantMounted = useRef(false);
|
|
317
|
+
// useEffect(() => {
|
|
318
|
+
// if (!tenantMounted.current) {
|
|
319
|
+
// tenantMounted.current = true;
|
|
320
|
+
// return;
|
|
321
|
+
// }
|
|
322
|
+
// const tenantsChanged = !equal(prevTenantsRef.current, tenants);
|
|
323
|
+
// // || equal(prevFlagsRef.current, flags);
|
|
324
|
+
// if (isClientLoading || tenants === undefined || !tenantsChanged) {
|
|
325
|
+
// // Reload the dashboard when the client is loaded
|
|
326
|
+
// // pendingReloadRef.current = true;
|
|
327
|
+
// return;
|
|
328
|
+
// }
|
|
329
|
+
// if (isInitialLoadOfDashboardRef.current) return;
|
|
330
|
+
// isInitialLoadOfDashboardRef.current = true;
|
|
331
|
+
// reload(name, tenantsChanged).then(() => {
|
|
332
|
+
// prevTenantsRef.current = tenants;
|
|
333
|
+
// // prevFlagsRef.current = flags;
|
|
334
|
+
// isInitialLoadOfDashboardRef.current = false;
|
|
335
|
+
// });
|
|
336
|
+
// }, [tenants]);
|
|
330
337
|
// TODO: this block does not appear necessary, uncomment if otherwise
|
|
331
338
|
// useEffect(() => {
|
|
332
339
|
// if (prevClientRef.current === client?.publicKey) {
|
|
@@ -438,6 +445,17 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
438
445
|
const updateFilter = (filter, value, comparison) => {
|
|
439
446
|
if (!populatedDashboardFilters)
|
|
440
447
|
return;
|
|
448
|
+
eventTracking?.addBreadcrumb?.({
|
|
449
|
+
message: 'Updated filter in InternalDashboard',
|
|
450
|
+
data: {
|
|
451
|
+
filter: filter.label,
|
|
452
|
+
value: JSON.stringify(value),
|
|
453
|
+
dashboardName: name,
|
|
454
|
+
},
|
|
455
|
+
category: 'log',
|
|
456
|
+
level: 'info',
|
|
457
|
+
timestamp: Date.now(),
|
|
458
|
+
});
|
|
441
459
|
let filterValue = {};
|
|
442
460
|
if (filter.filterType === 'string') {
|
|
443
461
|
if (filter.stringFilterType === 'multiselect') {
|
|
@@ -669,6 +687,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
669
687
|
const newIndex = sortedSectionNames.indexOf(targetSection);
|
|
670
688
|
if (oldIndex !== -1 && newIndex !== -1 && oldIndex !== newIndex) {
|
|
671
689
|
const newSectionOrder = arrayMove(sortedSectionNames, oldIndex, newIndex);
|
|
690
|
+
eventTracking?.addBreadcrumb?.({
|
|
691
|
+
message: `Reordered Dashboard Section`,
|
|
692
|
+
category: 'interaction',
|
|
693
|
+
level: 'info',
|
|
694
|
+
timestamp: Date.now(),
|
|
695
|
+
data: {
|
|
696
|
+
movedSection: activeId,
|
|
697
|
+
oldIndex,
|
|
698
|
+
newIndex,
|
|
699
|
+
targetSection,
|
|
700
|
+
},
|
|
701
|
+
});
|
|
672
702
|
handleSectionReorder(newSectionOrder);
|
|
673
703
|
}
|
|
674
704
|
}
|
|
@@ -740,6 +770,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
740
770
|
}
|
|
741
771
|
}
|
|
742
772
|
newItems[sourceSection] = result;
|
|
773
|
+
eventTracking?.addBreadcrumb?.({
|
|
774
|
+
message: `Reordered Dashboard Report In Default Section`,
|
|
775
|
+
category: 'interaction',
|
|
776
|
+
level: 'info',
|
|
777
|
+
timestamp: Date.now(),
|
|
778
|
+
data: {
|
|
779
|
+
movedReport: reportId,
|
|
780
|
+
oldIndex: typeActiveIndex,
|
|
781
|
+
newIndex: typeOverIndex,
|
|
782
|
+
targetSection,
|
|
783
|
+
},
|
|
784
|
+
});
|
|
743
785
|
handleReorder(newItems);
|
|
744
786
|
}
|
|
745
787
|
}
|
|
@@ -752,6 +794,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
752
794
|
const overIndex = newItems[sourceSection].indexOf(overItem);
|
|
753
795
|
if (activeIndex !== -1 && overIndex !== -1) {
|
|
754
796
|
newItems[sourceSection] = arrayMove(newItems[sourceSection], activeIndex, overIndex);
|
|
797
|
+
eventTracking?.addBreadcrumb?.({
|
|
798
|
+
message: `Reordered Dashboard Report In Same Section`,
|
|
799
|
+
category: 'interaction',
|
|
800
|
+
level: 'info',
|
|
801
|
+
timestamp: Date.now(),
|
|
802
|
+
data: {
|
|
803
|
+
movedReport: reportId,
|
|
804
|
+
oldIndex: activeIndex,
|
|
805
|
+
newIndex: overIndex,
|
|
806
|
+
targetSection,
|
|
807
|
+
},
|
|
808
|
+
});
|
|
755
809
|
handleReorder(newItems);
|
|
756
810
|
}
|
|
757
811
|
}
|
|
@@ -791,6 +845,18 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
791
845
|
newItems[targetSection]?.push(report);
|
|
792
846
|
}
|
|
793
847
|
}
|
|
848
|
+
eventTracking?.addBreadcrumb?.({
|
|
849
|
+
message: `Reordered Dashboard Report In Different Section`,
|
|
850
|
+
category: 'interaction',
|
|
851
|
+
level: 'info',
|
|
852
|
+
timestamp: Date.now(),
|
|
853
|
+
data: {
|
|
854
|
+
movedReport: reportId,
|
|
855
|
+
newIndex: newItems[targetSection]?.indexOf(report),
|
|
856
|
+
targetSection,
|
|
857
|
+
sourceSection,
|
|
858
|
+
},
|
|
859
|
+
});
|
|
794
860
|
handleReorder(newItems);
|
|
795
861
|
}
|
|
796
862
|
}, [data?.sections, sortedSectionNames, handleReorder, handleSectionReorder]);
|
|
@@ -971,13 +1037,21 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
971
1037
|
}, [data?.sectionOrder, data?.sections, setSectionOrder]);
|
|
972
1038
|
const existingSectionNames = useMemo(() => Object.keys(data?.sections || {}), [data?.sections]);
|
|
973
1039
|
if (!isLoading &&
|
|
974
|
-
|
|
975
|
-
|
|
1040
|
+
data?.sections &&
|
|
1041
|
+
(Object.keys(data.sections).length === 0 ||
|
|
1042
|
+
Object.values(data.sections).flat().length === 0)) {
|
|
976
1043
|
return _jsx(EmptyDashboardComponent, {});
|
|
977
1044
|
}
|
|
978
|
-
if (hidden ||
|
|
1045
|
+
if (hidden ||
|
|
1046
|
+
isLoading ||
|
|
1047
|
+
isClientLoading ||
|
|
1048
|
+
parentLoading ||
|
|
1049
|
+
initialLoad ||
|
|
1050
|
+
!data?.sections) {
|
|
1051
|
+
// No sections means yet to fetch
|
|
979
1052
|
return _jsx(DashboardLoadingComponent, { containerStyle: containerStyle });
|
|
980
1053
|
}
|
|
1054
|
+
// TODO: Never reached
|
|
981
1055
|
if (!data?.sections) {
|
|
982
1056
|
return (_jsx(QuillErrorMessageComponent, { containerStyle: { height: 100 }, errorMessage: "Error loading dashboard" }));
|
|
983
1057
|
}
|
|
@@ -1331,6 +1405,12 @@ containerStyle, parentLoading, onManageDashboard, }) => {
|
|
|
1331
1405
|
marginBottom: 6,
|
|
1332
1406
|
marginTop: -12,
|
|
1333
1407
|
}, children: [_jsx(SecondaryButtonPrimitive, { onClick: onManageDashboard, label: "Manage Dashboard" }), _jsx(SecondaryButtonPrimitive, { onClick: () => {
|
|
1408
|
+
eventTracking?.addBreadcrumb?.({
|
|
1409
|
+
message: 'Clicked add section button in InternalDashboard',
|
|
1410
|
+
category: 'interaction',
|
|
1411
|
+
level: 'info',
|
|
1412
|
+
timestamp: Date.now(),
|
|
1413
|
+
});
|
|
1334
1414
|
// Same as if the user clicked the Add section button at the bottom
|
|
1335
1415
|
setIsEditingNewSection(true);
|
|
1336
1416
|
// Scroll to the bottom of the page
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAsIvB;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"OrgSelect.d.ts","sourceRoot":"","sources":["../../../src/components/OrgSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,KAAU,EACV,OAAO,EACP,KAAK,EACL,WAAkB,EAClB,MAAM,EACN,SAAS,GACV,EAAE,qBAAqB,2CAsIvB;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,2CAmOtE;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GACd,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,2CA8EA"}
|
|
@@ -7,7 +7,7 @@ import { QuillSelectComponentWithCombo } from './QuillSelectWithCombo';
|
|
|
7
7
|
import { QuillMultiSelectComponentWithCombo } from './QuillMultiSelectWithCombo';
|
|
8
8
|
import { useDashboardManager } from '../hooks/useDashboardManager';
|
|
9
9
|
import GlobeIcon from '../icons/GlobeIcon';
|
|
10
|
-
import { useAdmin } from '../
|
|
10
|
+
import { useAdmin } from '../hooks/useAdmin';
|
|
11
11
|
export function Popover({ onClose, parentRef, children, style = {}, onClick, label, showTrigger = true, isOpen, setIsOpen, }) {
|
|
12
12
|
const modalRef = useRef(null);
|
|
13
13
|
const [maxHeight, setMaxHeight] = useState('40vh');
|
|
@@ -107,6 +107,7 @@ export function Popover({ onClose, parentRef, children, style = {}, onClick, lab
|
|
|
107
107
|
export default function OrgSelect({ isLoading }) {
|
|
108
108
|
const { dashboardTenants, dashboardOwnerTenant, selectedTenantType, selectedTenantValues, setSelectedTenantValues, selectedDashboardTenantIds, setSelectedTenantType, setSelectedDashboardTenantIds, dashboardTenantIdsLoading, } = useTenants();
|
|
109
109
|
const { selectedDashboard } = useDashboardManager();
|
|
110
|
+
const { eventTracking } = useAdmin();
|
|
110
111
|
const debounceIdTimeoutId = useRef(null);
|
|
111
112
|
const debounceValueTimeoutId = useRef(null);
|
|
112
113
|
const debouncedSetSelectedDashboardTenantIds = (value) => {
|
|
@@ -114,6 +115,15 @@ export default function OrgSelect({ isLoading }) {
|
|
|
114
115
|
clearTimeout(debounceIdTimeoutId.current);
|
|
115
116
|
}
|
|
116
117
|
debounceIdTimeoutId.current = setTimeout(() => {
|
|
118
|
+
eventTracking?.addBreadcrumb?.({
|
|
119
|
+
message: 'Set tenant ids in OrgSelect',
|
|
120
|
+
data: {
|
|
121
|
+
tenantIds: value,
|
|
122
|
+
},
|
|
123
|
+
category: 'interaction',
|
|
124
|
+
level: 'info',
|
|
125
|
+
timestamp: Date.now(),
|
|
126
|
+
});
|
|
117
127
|
setSelectedDashboardTenantIds(value);
|
|
118
128
|
}, 500);
|
|
119
129
|
};
|
|
@@ -122,7 +132,16 @@ export default function OrgSelect({ isLoading }) {
|
|
|
122
132
|
clearTimeout(debounceValueTimeoutId.current);
|
|
123
133
|
}
|
|
124
134
|
debounceValueTimeoutId.current = setTimeout(() => {
|
|
125
|
-
|
|
135
|
+
eventTracking?.addBreadcrumb?.({
|
|
136
|
+
message: 'Set tenant values in OrgSelect',
|
|
137
|
+
data: {
|
|
138
|
+
tenantValues: value,
|
|
139
|
+
},
|
|
140
|
+
category: 'interaction',
|
|
141
|
+
level: 'info',
|
|
142
|
+
timestamp: Date.now(),
|
|
143
|
+
});
|
|
144
|
+
setSelectedTenantValues(Array.isArray(value) ? value : [value]);
|
|
126
145
|
}, 500);
|
|
127
146
|
};
|
|
128
147
|
const dashboardTenantOptions = useMemo(() => {
|
|
@@ -153,13 +172,38 @@ export default function OrgSelect({ isLoading }) {
|
|
|
153
172
|
flexDirection: 'row',
|
|
154
173
|
gap: 16,
|
|
155
174
|
fontWeight: 500,
|
|
156
|
-
}, children: [dashboardTenantOptions?.length > 1 && (_jsx(QuillSelectComponentWithCombo, { label: 'Tenant Type', width: 230, value: selectedTenantType?.tenantField, options: dashboardTenantOptions, onChange: (e) => setSelectedTenantType(e.target.value), isLoading: isLoading, disabled: isLoading, hideEmptyOption: true, badge: ownerIsSelected ? 'Owner' : undefined })), _jsx(
|
|
175
|
+
}, children: [dashboardTenantOptions?.length > 1 && (_jsx(QuillSelectComponentWithCombo, { label: 'Tenant Type', width: 230, value: selectedTenantType?.tenantField, options: dashboardTenantOptions, onChange: (e) => setSelectedTenantType(e.target.value), isLoading: isLoading, disabled: isLoading, hideEmptyOption: true, badge: ownerIsSelected ? 'Owner' : undefined })), ownerIsSelected ? (_jsx(QuillSelectComponentWithCombo, { label: selectedTenantType?.scope === 'database'
|
|
176
|
+
? 'Tags'
|
|
177
|
+
: (selectedTenantType?.name ?? 'Tenant'), width: 230, value: !tenantValueOptions.length
|
|
178
|
+
? null
|
|
179
|
+
: selectedTenantValues
|
|
180
|
+
? selectedTenantValues[0]
|
|
181
|
+
: null, options: tenantValueOptions, onChange: (e) => debouncedSetSelectedTenantValues(e.target.value),
|
|
182
|
+
// emptyLabel={
|
|
183
|
+
// selectedTenantType?.scope === 'database'
|
|
184
|
+
// ? 'No tags provided'
|
|
185
|
+
// : undefined
|
|
186
|
+
// }
|
|
187
|
+
disabled: isLoading, hideEmptyOption: true,
|
|
188
|
+
// allSelectedLabel={
|
|
189
|
+
// selectedTenantType?.scope === 'database' ? undefined : (
|
|
190
|
+
// <div style={{ display: 'flex', flexDirection: 'row', gap: 3 }}>
|
|
191
|
+
// <GlobeIcon
|
|
192
|
+
// style={{
|
|
193
|
+
// marginTop: 1.75,
|
|
194
|
+
// }}
|
|
195
|
+
// />
|
|
196
|
+
// <div>All {(selectedTenantType?.name ?? 'Tenant') + 's'}</div>
|
|
197
|
+
// </div>
|
|
198
|
+
// )
|
|
199
|
+
// }
|
|
200
|
+
isLoading: isLoading, displayValue: true })) : (_jsx(QuillMultiSelectComponentWithCombo, { label: selectedTenantType?.scope === 'database'
|
|
157
201
|
? 'Tags'
|
|
158
202
|
: (selectedTenantType?.name ?? 'Tenant'), width: 230, value: !tenantValueOptions.length ? [] : (selectedTenantValues ?? []), options: tenantValueOptions, onChange: (e) => debouncedSetSelectedTenantValues(e.target.value), emptyLabel: selectedTenantType?.scope === 'database'
|
|
159
203
|
? 'No tags provided'
|
|
160
204
|
: undefined, disabled: isLoading, allSelectedLabel: selectedTenantType?.scope === 'database' ? undefined : (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 3 }, children: [_jsx(GlobeIcon, { style: {
|
|
161
205
|
marginTop: 1.75,
|
|
162
|
-
} }), _jsxs("div", { children: ["All ", (selectedTenantType?.name ?? 'Tenant') + 's'] })] })), isLoading: isLoading }, (selectedTenantType?.tenantField ?? 'Tenant') + 'options'), selectedTenantType &&
|
|
206
|
+
} }), _jsxs("div", { children: ["All ", (selectedTenantType?.name ?? 'Tenant') + 's'] })] })), isLoading: isLoading, enableSingleSelectOption: true, displayValue: true, enableSubmitButton: true, submitButtonText: 'Submit' }, (selectedTenantType?.tenantField ?? 'Tenant') + 'options')), selectedTenantType &&
|
|
163
207
|
!ownerIsSelected &&
|
|
164
208
|
dashboardOwnerTenant?.scope !== 'database' &&
|
|
165
209
|
!!selectedTenantValues?.length && (_jsx(QuillMultiSelectComponentWithCombo, { label: dashboardOwnerTenant?.name ?? 'Viewing as', width: 230, value: isLoading ? [] : (selectedDashboardTenantIds ?? []), options: dashboardOwnerTenant?.tenantIds?.map((id) => ({
|
|
@@ -167,7 +211,7 @@ export default function OrgSelect({ isLoading }) {
|
|
|
167
211
|
value: id.id,
|
|
168
212
|
})) ?? [], onChange: (e) => debouncedSetSelectedDashboardTenantIds(e.target.value), isLoading: dashboardTenantIdsLoading || isLoading, disabled: isLoading, allSelectedLabel: selectedTenantType?.scope === 'database' ? undefined : (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 3 }, children: [_jsx(GlobeIcon, { style: {
|
|
169
213
|
marginTop: 1.75,
|
|
170
|
-
} }), _jsx("div", { children: "All Tenants" })] })) }))] }));
|
|
214
|
+
} }), _jsx("div", { children: "All Tenants" })] })), enableSingleSelectOption: true, displayValue: true, enableSubmitButton: true, submitButtonText: 'Submit' }))] }));
|
|
171
215
|
}
|
|
172
216
|
export function ListboxRow({ item, isSelected, setSelected, hoverActions, allowUnselect, }) {
|
|
173
217
|
const { state: { theme }, } = useAdmin();
|
|
@@ -17,11 +17,15 @@ export interface MultiSelectComponentProps {
|
|
|
17
17
|
allSelectedLabel?: JSX.Element;
|
|
18
18
|
noneSelectedLabel?: JSX.Element;
|
|
19
19
|
mimicReactSelect?: boolean;
|
|
20
|
+
enableSingleSelectOption?: boolean;
|
|
21
|
+
displayValue?: boolean;
|
|
22
|
+
enableSubmitButton?: boolean;
|
|
23
|
+
submitButtonText?: string;
|
|
20
24
|
}
|
|
21
25
|
/**
|
|
22
26
|
* A robust select component that implements the new minimal Select interface.
|
|
23
27
|
*/
|
|
24
|
-
export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, enableSingleSelectOption, displayValue, enableSubmitButton, submitButtonText, }: MultiSelectComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
25
29
|
export declare const ListboxTextInput: ({ value, onChange, placeholder, id, width, }: {
|
|
26
30
|
value: string;
|
|
27
31
|
onChange: (e: string) => void;
|