ashah65 opened a new pull request, #40905:
URL: https://github.com/apache/superset/pull/40905

   Replace hardcoded ALLOW_DEPENDENCIES list with a registry-based check so any 
filter plugin registering with Behavior.NativeFilter automatically supports the 
cascade dependency feature — no core changes needed for new plugins.
   
   Also adds isColumnSelect support in getControlItemsMap to allow plugins to 
declare dataset column picker controls.
   
   ### SUMMARY
   Currently, the mechanism that determines which native filters support 
cascading dependencies relies on a hardcoded list (ALLOW_DEPENDENCIES) within 
the core Superset codebase. This creates a tight coupling that blocks external, 
third-party, or custom filter plugins from leveraging cascading features 
without directly mutating core files.
   
   This PR refactors the filter dependency system to be entirely 
registry-driven and enhances control mapping flexibility.
   
   Design Decisions & Changes:
   
   Registry-Driven Dependencies: Replaced the hardcoded check with a dynamic 
lookup. Any filter plugin that registers with Behavior.NativeFilter now 
automatically inherits support for the cascade dependency feature 
out-of-the-box. This eliminates the need for future core repository changes 
when new filters are introduced.
   
   Dynamic Column Selection Controls: Added explicit support for isColumnSelect 
inside getControlItemsMap. This allows external plugins to declaratively 
request dataset column picker controls directly from the native filter 
configuration modal.
   
   ### TESTING INSTRUCTIONS
   Since this is an architectural enablement patch, testing should focus on 
verifying that existing core filters suffer no regressions, and that the 
underlying hooks resolve correctly.
   
   Navigate to a dashboard and open the Manage native filters modal.
   
   Create a standard core filter (e.g., a Select or Numerical Range filter).
   
   Ensure that the "Filter is dependent on..." (cascading) configuration option 
is visible, selectable, and functional.
   
   Verify that dataset column configuration selectors still populate and save 
accurately for out-of-the-box filters.
   
   Register a custom dummy plugin leveraging Behavior.NativeFilter to verify it 
successfully reveals dependency options without updating core mapping arrays.
   
   ### ADDITIONAL INFORMATION
   <!--- Check any relevant boxes with "x" -->
   <!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
     - [ ] Migration is atomic, supports rollback & is backwards-compatible
     - [ ] Confirm DB migration upgrade and downgrade tested
     - [ ] Runtime estimates and downtime expectations provided
   - [x] Introduces new feature or API
   - [ ] Removes existing feature or API
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to