Commit Graph

18445 Commits

Author SHA1 Message Date
Evan Rusackas
e7aaf2f1e3 fix(tests): preserve original behavior in CollectionControl and AdhocFilterOption
- CollectionControl.onAdd: Remove fallback that changed original behavior
  (itemGenerator can return undefined)
- AdhocFilterOption: Add stopPropagation mock to fake event object to
  prevent TypeError when AdhocFilterControl calls e.stopPropagation()

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:12 -08:00
Evan Rusackas
4b0a9c33e6 fix(typescript): refactor spread to avoid oxlint auto-fix
Extract the fallback into a separate variable to prevent oxlint from
incorrectly auto-fixing the spread. TypeScript needs the fallback since
foundQueryEditor can be undefined.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:12 -08:00
Evan Rusackas
fce1496d8b fix(typescript): restore spread fallback for undefined foundQueryEditor
The oxlint auto-fix removed the || {} fallback, but foundQueryEditor
can be undefined from getFromArr(), causing TS2698 spread error.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:12 -08:00
Evan Rusackas
d97262c506 style: apply oxlint auto-fix to sqlLab reducer
Remove unnecessary || {} fallback that oxlint auto-fixed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:12 -08:00
Evan Rusackas
f6f0e7c042 style: apply prettier formatting to remaining TS files
Auto-format explore control files using prettier.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:12 -08:00
Evan Rusackas
c5c1c20fe8 style: apply prettier formatting to TS files
Auto-format files using prettier to fix pre-commit failures.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:12 -08:00
Evan Rusackas
7d9e43418f fix(typescript): remove hardcoded color in TextAreaControl
Removes hardcoded color fallback '#d9d9d9' in TextAreaControl.tsx
and uses theme color conditionally to satisfy custom pre-commit rules.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:11 -08:00
Evan Rusackas
28d39599a6 fix(typescript): update VizOptions to accept null catalog
Updates VizOptions interface to accept `string | null` for catalog field
and fixes SaveDatasetModal to pass null instead of undefined when calling
createDatasource, which matches the expected behavior in tests.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:11 -08:00
Evan Rusackas
5fcfc36ce4 fix(typescript): fix type errors for dbId and schema
- Use undefined for dbId fallback instead of null (matches QueryEditor type)
- Use undefined for schema fallback when it's null (schema: string | undefined in QueryEditor)
- Keep catalog: null as catalog?: string | null is valid in QueryEditor

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:11 -08:00
Evan Rusackas
9f22ea5c57 fix(typescript): preserve null values for catalog/schema in tests
Revert catalog/schema ?? undefined to preserve null values which tests expect.
Use null coalescing with null instead of undefined to maintain expected behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:11 -08:00
Evan Rusackas
3466b741e7 fix(typescript): fix additional type errors in SqlLab components
- Add type assertions for dataPreviewQuery properties in runTablePreviewQuery
- Update addTable signature to accept Partial<QueryEditor> and string | null for catalog
- Add null coalescing for optional params in useKeywords.ts addTable call
- Cast queries object and addToObject result in reducer for proper typing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:11 -08:00
Evan Rusackas
d9e29b802f fix(typescript): fix remaining component type errors
- Fix type assertions in useKeywords.ts for addTable params
- Cast partial QueryEditor in useKeywords.test.ts
- Fix SaveDatasetModal createDatasource param types
- Add null check for table in SouthPane removeTables
- Update saveQuery/updateSavedQuery to accept Partial<QueryEditor>
- Update queryEditorSetCatalog to accept string | null
- Make NewTable interface more flexible for runTablePreviewQuery
- Fix reducer spread type issues with proper type casts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:11 -08:00
Evan Rusackas
168c668dbc fix(typescript): fix more reducer type errors
- Add Table type import to reducer
- Add type annotations for filter callbacks (qe, table, db)
- Fix QueryState.STOPPED to QueryState.Stopped
- Cast alts object to any for dynamic properties
- Fix localStorage.getItem null handling
- Cast Object.entries callback parameter to any

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:10 -08:00
Evan Rusackas
dd090691e4 fix(typescript): continue fixing CI type errors in SqlLab
- Change queryEditor action functions to accept Partial<QueryEditor>
- Fix implicit any type issues in filter callbacks
- Cast initialState and json objects to proper types
- Fix null vs undefined type mismatches
- Change actionHandlers return type to any in reducer
- Add type annotations for table and query in filter callbacks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:10 -08:00
Evan Rusackas
721bdef5e2 fix(typescript): resolve CI type errors in SqlLab and explore files
- Fix SqlLabAction interface to use any instead of unknown for dynamic props
- Fix migrateTable and migrateQuery return types to Promise<any>
- Remove unused SqlLabThunkDispatch type and ThunkDispatch import
- Fix persistSqlLabStateEnhancer to cast persistState as any
- Fix AdhocMetricOption.test.tsx props type casting
- Fix standardizedFormData.ts transform return type
- Add optional chaining for potentially undefined queryEditor

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:10 -08:00
Evan Rusackas
c753706d3d fix(frontend): relax TypeScript types in SqlLab actions
- Use any types for thunk action return types and dispatch/getState
- This matches the original JavaScript behavior and avoids strict
  type checking issues with the CI ForkTsCheckerWebpackPlugin

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:10:10 -08:00
Evan Rusackas
6c0e5d5bd7 fix(frontend): resolve additional TypeScript CI errors
- Add type annotations to SqlLab actions (sqlLab.ts)
- Cast state objects to any where ControlPanelState mismatch occurs
- Fix datasource type casting in store.ts
- Add as any casts for SelectControl, TextAreaControl props
- Fix unused datasource variable in AdhocMetricOption.test.tsx
- Add eslint-disable comments for explicit any types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:09:17 -08:00
Evan Rusackas
56404a009e fix(frontend): resolve TypeScript errors in SqlLab and explore modules
- Add type assertions for component props and callbacks
- Fix function argument counts for queryEditorSetAndSaveSql, queryEditorSetSql, syncTable
- Add index signatures to interfaces for spread props
- Cast state.datasource.type to DatasourceType
- Fix sequentialSchemeRegistry.values() type filtering
- Add default name prop to XAxisSortControl
- Remove invalid container prop from ViewportControl
- Fix test file type annotations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:06 -08:00
Evan Rusackas
9dd4d6ed53 fix(MetricsControl): add Props interface and fix callback types
- Add MetricsControlProps interface with proper typing
- Add React import for JSX type safety
- Add explicit types to all callback parameters
- Use eslint-disable for complex any types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:06 -08:00
Evan Rusackas
38f3eeeab8 fix(controls): add TypeScript types to mapStateToProps callbacks
- Added ControlState and ControlConfig interfaces
- Fixed all mapStateToProps callback parameter types
- Fixed optionRenderer and filterOption parameter types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:06 -08:00
Evan Rusackas
7b74aa0f88 fix(TimeSeriesColumnControl): simplify setState with spread operator
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:06 -08:00
Evan Rusackas
ab6d0b9ff5 fix(controls): add TypeScript types to TimeSeriesColumnControl and fix TextAreaControl
- Added Props and State interfaces to TimeSeriesColumnControl
- Fixed method parameter types
- Made theme optional in TextAreaControl with fallback values
- Fixed renderModalBody call with incorrect argument

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:06 -08:00
Evan Rusackas
1fb9ec632c fix(controls): add proper TypeScript types to SelectControl and TextAreaControl
- Added SelectOption and SelectControlState interfaces
- Added sortComparator prop to SelectControlProps
- Fixed class component type parameters
- Added parameter types to all methods
- Fixed TextAreaControl with proper Props interface and typed methods
- Updated test file to use undefined instead of null

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:06 -08:00
Evan Rusackas
1ceebddcb5 fix(MetricsControl.test): add missing datasource prop
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
6f0f7d4341 fix(MetricsControl): use simpler any types to avoid cascading errors
The strict type definitions were causing type mismatches with
external types like Metric, ColumnMeta, etc. Using any types with
eslint-disable comments until proper typeguards are implemented.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
dc5ee217ca fix(types): add types to MetricsControl and fix test file
- Add SavedMetricDef, ColumnDef, and MetricValue type definitions
- Add type annotations to getOptionsForSavedMetrics, isDictionaryForAdhocMetric,
  coerceAdhocMetrics, and getMetricsMatchingCurrentDataset functions
- Fix test file setup function parameter type
- Replace RegExp with string in selectOption calls
- Add missing required props in test renders

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
23da4d7693 fix(types): resolve additional TypeScript errors in explore components
- Make columnName optional in useDatePickerInAdhocFilter hook
- Cast FilterDefinitionOption option prop for ColumnType compatibility
- Cast onChange and metric arguments in AdhocMetricEditPopover
- Update AdhocMetricPopoverTrigger to accept empty savedMetric object
- Cast datasource and onChange in AdhocMetricPopoverTrigger render
- Fix MetricDefinitionValue metric_name type check
- Update test files with proper type annotations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
7400fb199b fix(types): resolve remaining TypeScript errors in MetricControl
- Make onMoveLabel and onDropLabel optional in OptionControlLabel
- Add fallback for closePopover in AdhocMetricPopoverTrigger
- Fix FilterDefinitionOption column type cast
- Add error_text and id to savedMetricType
- Make savedMetric optional in AdhocMetricOption

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
c2187aa1d5 fix(types): add types to MetricDefinitionValue component
- Add MetricDefinitionValueProps interface
- Add proper imports for Metric, Datasource, ISaveableDatasource
- Type getSavedMetricByName parameter
- Use optional chaining for savedMetrics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
5015c5d942 fix(types): fix Select value and Dataset cast issues
- Cast datasource through unknown in AdhocFilterEditPopover
- Extract string value from subject for Select component

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:05 -08:00
Evan Rusackas
2b2e3bbdff fix(types): add TypeScript types to test files and FilterDefinitionOption
- Add type for setup function parameter in AdhocMetricOption.test.tsx
- Add type for setup function parameter in MetricDefinitionValue.test.tsx
- Add OptionType interface to FilterDefinitionOption.tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:04 -08:00
Evan Rusackas
de9dc4fa32 fix(types): fix more TypeScript errors in Metric controls
- Fix savedMetric?.metric_name optional chaining in getDefaultTab
- Update onChange signature to accept two parameters
- Fix aggregate Select value to use nullish coalescing
- Update AdhocMetricOption to use proper imported types
- Add default values for optional props passed to children

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:04 -08:00
Evan Rusackas
53a584d527 fix(types): add TypeScript interfaces to AdhocMetricOption
- Add Props interface with all prop types
- Add type annotations for constructor and methods
- Fix onRemove signature mismatch
- Add ts-expect-error for propTypes assignment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:04 -08:00
Evan Rusackas
dac6aa7490 fix(types): add proper types to AdhocMetricEditPopover methods and render
- Add types for all method parameters (columnName, aggregate, etc.)
- Add ExtraConfig and DatasourceInfo interfaces
- Fix optional chaining for props.columns, props.savedMetricsOptions
- Fix datasource.type access with optional chaining
- Fix handleDatasetModal optional call
- Cast columns for getColumnKeywords
- Add React.ReactNode return types

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:04 -08:00
Evan Rusackas
7a37bf7883 fix(types): simplify datasource type in AdhocMetricEditPopover props
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:04 -08:00
Evan Rusackas
f98c7dbd05 fix: add TypeScript types to AdhocMetricEditPopover
- Add Props and State interfaces for class component
- Add type annotations for constructor and lifecycle methods
- Add aceEditorRef and drag* properties to class
- Use optional chaining for optional callback props
- Add ts-expect-error for propTypes and defaultProps

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:04 -08:00
Evan Rusackas
949a882173 fix: resolve additional TypeScript errors in filter and metric controls
- Cast operatorId to Operators type in MULTI_OPERATORS and DISABLE_INPUT_OPERATORS checks
- Add SelectValue type import and cast comparator value
- Fix onRemove callback signature mismatch in AdhocFilterOption
- Provide default no-op for optional onClose in AdhocFilterPopoverTrigger
- Cast comparator to string in useGetTimeRangeLabel
- Convert null to undefined in FixedOrMetricControl onChange
- Add return value to onFocus callback for TextControl
- Fix AdhocMetric column assignment and label fallback
- Use optional chaining for column access in AdhocMetric tests
- Cast this to AdhocMetricInput in inferSqlExpression methods

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:03 -08:00
Evan Rusackas
98314909a2 fix: resolve remaining TypeScript type errors in filter control tests
- Change null to undefined for operatorId, operator, comparator, clause in AdhocFilter
- Add type casts for useSimpleTabFilterProps calls in tests
- Make partitionColumn optional in Props interface
- Remove activeKey prop from SqlTabContent (not in its interface)
- Add proper type imports for ColumnType and Dataset
- Fix null to undefined for granularity_sqla and main_dttm_col in DatasourceControl test

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:03 -08:00
Evan Rusackas
59f9fe431f fix(types): handle datasource type in AdhocFilterOption
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:03 -08:00
Evan Rusackas
fc07c64ed7 fix(types): cast operators to Operators[] in AdhocFilterControl
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:03 -08:00
Evan Rusackas
9ace943ed6 fix(types): resolve more TypeScript CI errors
- Fix AdhocFilterOption: update operators type to Operators[]
- Fix FixedOrMetricControl: add proper interfaces and type annotations
- Fix AdhocFilterEditPopover: add ts-expect-error for propTypes
- Fix AdhocFilterEditPopoverSimpleTabContent: fix subject, comparator,
  and operatorId type handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:03 -08:00
Evan Rusackas
befeaf6202 fix(types): resolve additional TypeScript CI errors in filter controls
- Fix operatorId undefined checks for MULTI_OPERATORS.has() and
  DISABLE_INPUT_OPERATORS.includes() in SimpleTabContent
- Add proper type casts through unknown for test file props
- Remove unused React import from test file

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
c6e1fe5f91 fix(types): resolve remaining TypeScript CI errors
- Remove unused AdhocFilter import from FiltersConfigForm.tsx
- Fix DndMetricSelect.tsx ColumnMeta type cast for AdhocMetric column
- Add Operators import and cast operatorId in AdhocFilter/index.ts
- Cast operators prop in AdhocFilterControl/index.tsx
- Fix deck_slices type access and add parameter types in AdhocFilterEditPopover
- Use duplicateWith for creating corrected AdhocFilter instance
- Add React import and cast props in DatasourceControl.test.tsx
- Add React import and cast props in AdhocFilterEditPopover.test.tsx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
586e03cb80 fix(types): fix remaining TypeScript errors in filter components
- Fix AdhocFilterEditPopover deck_slices and layerFilterScope type casts
- Fix AdhocFilterEditPopover.test.tsx faultyAdhocFilter expressionType
- Fix findByRole options in test (remove unsupported disabled option)
- Add proper type for renderPopover props parameter
- Import AdhocFilterClass type for FiltersConfigForm onChange callback

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
6cd18d4d2e fix(types): add type casts in AdhocFilterControl for AdhocMetric and AdhocFilter
- Cast metric to unknown for AdhocMetric constructor compatibility
- Cast filter to unknown for AdhocFilter constructor compatibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
bd551be4b3 fix(types): fix AdhocFilter interface and null checks
- Add null check for operatorId in AdhocFilter constructor
- Add null check for operator in isValid method
- Allow null for clause in AdhocFilterInput and AdhocFilter class
- Allow object type for subject to handle column objects

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
666c8ce085 fix(types): fix more TypeScript errors in DatasourceControl and tests
- Fix DatasourceControl type casts for getTemporalColumns and withTheme
- Fix ViewQueryModalFooter datasource prop to match expected SimpleDataSource type
- Update TestDatasource database type to match ExtendedDatasource
- Add QueryFormMetric type casts in DndFilterSelect.test.tsx for AdhocMetric

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
919de23304 fix(types): add TypeScript type annotations to metric and filter controls
- Add type annotations to AdhocFilterEditPopover class methods
- Add type casting for AdhocMetric constructor to handle @superset-ui/core types
- Add instanceof check for equals() call in DndMetricSelect
- Add index signature to ColumnType interface for flexibility

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:02 -08:00
Evan Rusackas
6878882d9f fix(types): fix TypeScript errors in controls and filters
- Revert DatasourceControlProps to required props and add proper TestProps interface in tests
- Fix AdhocFilterOptionProps interface to match actual callback signatures
- Add optional chaining for onChange callbacks in AdhocFilterControl
- Fix AdhocFilter class type casting for translateToSql compatibility
- Add @ts-expect-error for propTypes/defaultProps assignments

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:01 -08:00
Evan Rusackas
419e505d36 fix(types): make DatasourceControlProps more flexible for test usage
Make required props optional and add index signature to allow test files
to pass partial props without TypeScript errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:07:01 -08:00