From 6d117ffbb564f611df21fcb9a19c15b9567f35d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90=E1=BB=97=20Tr=E1=BB=8Dng=20H=E1=BA=A3i?= <41283691+hainenber@users.noreply.github.com> Date: Thu, 23 Jan 2025 18:54:40 +0700 Subject: [PATCH] chore: fix `tsc` errors (#31965) Signed-off-by: hainenber --- .../superset-ui-core/src/models/Registry.ts | 4 ++-- .../src/components/ModalTrigger/index.tsx | 2 +- .../src/components/Select/utils.tsx | 17 ++++++++++++----- .../controls/VizTypeControl/index.tsx | 10 +--------- .../components/controls/VizTypeControl/types.ts | 10 ++++++++++ superset-frontend/src/views/routes.tsx | 6 +++--- 6 files changed, 29 insertions(+), 20 deletions(-) diff --git a/superset-frontend/packages/superset-ui-core/src/models/Registry.ts b/superset-frontend/packages/superset-ui-core/src/models/Registry.ts index 53aff08c4..7488ab824 100644 --- a/superset-frontend/packages/superset-ui-core/src/models/Registry.ts +++ b/superset-frontend/packages/superset-ui-core/src/models/Registry.ts @@ -22,11 +22,11 @@ export enum OverwritePolicy { Warn = 'WARN', } -interface ItemWithValue { +export interface ItemWithValue { value: T; } -interface ItemWithLoader { +export interface ItemWithLoader { loader: () => T; } diff --git a/superset-frontend/src/components/ModalTrigger/index.tsx b/superset-frontend/src/components/ModalTrigger/index.tsx index 58c19347e..d0de9db1d 100644 --- a/superset-frontend/src/components/ModalTrigger/index.tsx +++ b/superset-frontend/src/components/ModalTrigger/index.tsx @@ -21,7 +21,7 @@ import { forwardRef, useState, ReactNode, MouseEvent } from 'react'; import Modal from 'src/components/Modal'; import Button from 'src/components/Button'; -interface ModalTriggerProps { +export interface ModalTriggerProps { dialogClassName?: string; triggerNode: ReactNode; modalTitle?: string; diff --git a/superset-frontend/src/components/Select/utils.tsx b/superset-frontend/src/components/Select/utils.tsx index 564833673..b4d77204b 100644 --- a/superset-frontend/src/components/Select/utils.tsx +++ b/superset-frontend/src/components/Select/utils.tsx @@ -186,8 +186,10 @@ export const handleFilterOptionHelper = ( const searchValue = search.trim().toLowerCase(); if (optionFilterProps?.length) { return optionFilterProps.some(prop => { - const optionProp = option?.[prop] - ? String(option[prop]).trim().toLowerCase() + const optionProp = option?.[prop as keyof LabeledValue] + ? String(option[prop as keyof LabeledValue]) + .trim() + .toLowerCase() : ''; return optionProp.includes(searchValue); }); @@ -200,7 +202,9 @@ export const handleFilterOptionHelper = ( export const hasCustomLabels = (options: SelectOptionsType) => options?.some(opt => !!opt?.customLabel); -export const renderSelectOptions = (options: SelectOptionsType) => +export const renderSelectOptions = ( + options: SelectOptionsType, +): JSX.Element[] => options.map(opt => { const isOptObject = typeof opt === 'object'; const label = isOptObject ? opt?.label || opt.value : opt; @@ -213,7 +217,10 @@ export const renderSelectOptions = (options: SelectOptionsType) => ); }); -export const mapValues = (values: SelectOptionsType, labelInValue: boolean) => +export const mapValues = ( + values: SelectOptionsType, + labelInValue: boolean, +): (Record | any)[] => labelInValue ? values.map(opt => ({ key: opt.value, @@ -222,7 +229,7 @@ export const mapValues = (values: SelectOptionsType, labelInValue: boolean) => })) : values.map(opt => opt.value); -export const mapOptions = (values: SelectOptionsType) => +export const mapOptions = (values: SelectOptionsType): Record[] => values.map(opt => ({ children: opt.label, key: opt.value, diff --git a/superset-frontend/src/explore/components/controls/VizTypeControl/index.tsx b/superset-frontend/src/explore/components/controls/VizTypeControl/index.tsx index 1adf60eee..96754950c 100644 --- a/superset-frontend/src/explore/components/controls/VizTypeControl/index.tsx +++ b/superset-frontend/src/explore/components/controls/VizTypeControl/index.tsx @@ -33,15 +33,7 @@ import VizTypeGallery, { MAX_ADVISABLE_VIZ_GALLERY_WIDTH, } from './VizTypeGallery'; import { FastVizSwitcher } from './FastVizSwitcher'; - -interface VizTypeControlProps { - description?: string; - label?: string; - name: string; - onChange: (vizType: string | null) => void; - value: string | null; - isModalOpenInit?: boolean; -} +import { VizTypeControlProps } from './types'; const bootstrapData = getBootstrapData(); const denyList: string[] = ( diff --git a/superset-frontend/src/explore/components/controls/VizTypeControl/types.ts b/superset-frontend/src/explore/components/controls/VizTypeControl/types.ts index 2fe40ba63..7d38a4b5e 100644 --- a/superset-frontend/src/explore/components/controls/VizTypeControl/types.ts +++ b/superset-frontend/src/explore/components/controls/VizTypeControl/types.ts @@ -27,9 +27,19 @@ export interface FastVizSwitcherProps { onChange: (vizName: string) => void; currentSelection: string | null; } + export interface VizTileProps { vizMeta: VizMeta; isActive: boolean; isRendered: boolean; onTileClick: (vizType: string) => void; } + +export interface VizTypeControlProps { + description?: string; + label?: string; + name: string; + onChange: (vizType: string | null) => void; + value: string | null; + isModalOpenInit?: boolean; +} diff --git a/superset-frontend/src/views/routes.tsx b/superset-frontend/src/views/routes.tsx index 7044e8940..30ce65f06 100644 --- a/superset-frontend/src/views/routes.tsx +++ b/superset-frontend/src/views/routes.tsx @@ -238,7 +238,7 @@ if (isFeatureEnabled(FeatureFlag.TaggingSystem)) { }); } -const frontEndRoutes = routes +const frontEndRoutes: Record = routes .map(r => r.path) .reduce( (acc, curr) => ({ @@ -248,10 +248,10 @@ const frontEndRoutes = routes {}, ); -export function isFrontendRoute(path?: string) { +export const isFrontendRoute = (path?: string): boolean => { if (path) { const basePath = path.split(/[?#]/)[0]; // strip out query params and link bookmarks return !!frontEndRoutes[basePath]; } return false; -} +};