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

   ### SUMMARY
   
   Tier 4 of #41714 (targets `remove-legacy-viz-pipeline`): migrate **deck.gl 
Multiple Layers (`deck_multi`)** off `explore_json` — the last `useLegacyApi` 
chart, and the last holdout in the deck.gl preset migration.
   
   `deck_multi` depended on `explore_json` twice: the container query (whose 
`viz.py` class fetched every sub-slice server-side just to hand back metadata 
and merged features) and each per-layer data fetch. Both move client-side:
   
   - New `Multi/buildQuery.ts` returns an **empty `queries` list** — the legacy 
`DeckGLMultiLayer.query_obj` was empty too; a new backend unit test pins that 
`ChartDataQueryContextSchema` accepts that shape.
   - `Multi.tsx` fetches sub-slice metadata via `GET /api/v1/chart/<id>` 
(bounded by `deck_slices`), and loads each layer through its own registered 
`buildQuery` → `POST /api/v1/chart/data` → registered `transformProps`, whose 
output payload is exactly what the layer generators consume. Legacy container 
payloads (cached) still short-circuit the metadata fetch.
   - Layer-scoped dashboard filtering 
(`layer_filter_scope`/`filter_data_mapping`), `dashboardId` and 
`parent_slice_id` propagation are unchanged — tests updated to assert them on 
the v1 POST payloads.
   - Known minor behavior notes: initial autozoom falls back to the saved 
viewport when no pre-merged container features exist (bounds previously came 
from the container payload), and dashboard filter badges no longer aggregate 
child-layer applied-filter metadata (the legacy container merged it 
server-side).
   
   ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
   
   No visual change in layer rendering; see autozoom note above.
   
   ### TESTING INSTRUCTIONS
   
   - `npm run test -- plugins/preset-chart-deckgl/src/Multi` — 30 tests pass 
(layer loading via registries, dashboardId/parent_slice_id propagation on POST 
payloads, layer visibility filtering, viewport handling).
   - `pytest tests/unit_tests/charts/data/test_empty_query_context.py` — 
empty-queries context accepted.
   - Manual: open a saved deck.gl Multiple Layers chart; network tab shows one 
`POST /api/v1/chart/data` per layer (no `/superset/explore_json/`); 
layer-scoped dashboard filters behave as before.
   
   ### ADDITIONAL INFORMATION
   
   - [ ] Has associated issue:
   - [ ] Required feature flags:
   - [ ] Changes UI
   - [ ] Includes DB Migration (follow approval process in 
[SIP-59](https://github.com/apache/superset/issues/13351))
   - [ ] Introduces new feature or API
   - [x] Removes existing feature or API
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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