You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by as...@apache.org on 2026/10/12 10:59:59 UTC
(superset) branch alexandrusoare/feat/canvas-flexible-layout updated (53a9e1a05d4 -> 50f9729998c)
This is an automated email from the ASF dual-hosted git repository.
alexandrusoare pushed a change to branch alexandrusoare/feat/canvas-flexible-layout
in repository https://gitbox.apache.org/repos/asf/superset.git
from 53a9e1a05d4 fixing some bugs
add 6d65d8f4d4e feat(canvas): canvas MCP tools, filter and data widgets, data-backed markdown
add 2a1d062cce6 fix(canvas): refuse prototype keys in records binding field paths
add a21541faa22 feat(canvas): drafts, published by an explicit commit
add 67419883dee feat(canvas): chart chrome, tuple bindings and clearer agent guidance
add d3a7b271f9f feat(canvas): preview_widget, for agents checking their own widgets
add 38836452f93 fix(canvas): highlight the Canvases tab on canvas pages
add 522242ec2d9 Merge branch 'msyavuz/feat/canvas' of https://github.com/apache/superset into alexandrusoare/feat/canvas-flexible-layout
add 50f9729998c integrating draft mode
No new revisions were added by this update.
Summary of changes:
.../src/features/canvas/CanvasGrid.test.tsx | 9 +-
.../src/features/canvas/CanvasGrid.tsx | 10 +-
.../src/features/canvas/DraftBanner.tsx | 100 +++++++
.../src/features/canvas/FilterSelectRenderer.tsx | 121 +++++++++
.../src/features/canvas/PlanModeButton.test.tsx | 68 +++++
.../src/features/canvas/PlanModeButton.tsx | 80 ++++++
.../src/features/canvas/builtinRenderers.test.tsx | 2 +
.../src/features/canvas/builtinRenderers.tsx | 34 ++-
.../src/features/canvas/dataRenderers.tsx | 122 +++++++++
.../features/canvas/echarts/EchartsRenderer.tsx | 29 ++-
.../features/canvas/echarts/chartData.test.ts} | 41 +--
.../src/features/canvas/echarts/chartData.ts | 59 ++++-
.../src/features/canvas/echarts/chrome.test.ts | 129 +++++++++
.../src/features/canvas/echarts/chrome.ts | 157 +++++++++++
.../canvas/echarts/resolveBindings.test.ts | 49 ++++
.../src/features/canvas/echarts/resolveBindings.ts | 60 ++++-
.../src/features/canvas/echarts/themedOption.ts | 48 ++++
.../features/canvas/markdownTemplate.test.ts} | 46 ++--
.../src/features/canvas/markdownTemplate.ts | 46 ++++
.../src/features/canvas/useCanvasDefinition.ts | 51 +++-
.../src/features/canvas/useCanvasLayout.test.ts | 83 ++++++
.../src/features/canvas/useCanvasLayout.ts | 53 +++-
.../src/features/canvas/useDraftToken.ts | 58 +++++
.../src/features/canvas/useWidgetRows.ts | 74 ++++++
superset-frontend/src/features/home/Menu.test.tsx | 33 +++
superset-frontend/src/features/home/Menu.tsx | 5 +
superset-frontend/src/pages/Canvas/index.tsx | 137 +++++++---
superset/canvas/api.py | 204 ++++++++++++++-
superset/canvas/definition/schemas.py | 14 +
superset/commands/canvas/apply_ops.py | 42 ++-
superset/commands/canvas/draft.py | 244 +++++++++++++++++
superset/commands/canvas/exceptions.py | 31 +++
superset/config.py | 14 +
superset/mcp_service/app.py | 18 ++
superset/mcp_service/canvas/schemas.py | 104 ++++++++
superset/mcp_service/canvas/tool/__init__.py | 23 +-
.../canvas/tool/apply_canvas_draft_ops.py | 81 ++++++
.../mcp_service/canvas/tool/apply_canvas_ops.py | 4 +
.../mcp_service/canvas/tool/canvas_draft_common.py | 74 ++++++
.../mcp_service/canvas/tool/commit_canvas_draft.py | 64 +++++
superset/mcp_service/canvas/tool/create_canvas.py | 100 +++++++
.../mcp_service/canvas/tool/create_canvas_draft.py | 60 +++++
.../mcp_service/canvas/tool/delete_canvas_draft.py | 54 ++++
.../mcp_service/canvas/tool/get_canvas_draft.py | 68 +++++
superset/mcp_service/canvas/tool/list_canvases.py | 81 ++++++
superset/mcp_service/canvas/tool/preview_widget.py | 288 +++++++++++++++++++++
superset/mcp_service/canvas/tool/update_canvas.py | 89 +++++++
superset/mcp_service/dashboard_scope.py | 23 ++
superset/mcp_service/mcp_config.py | 9 +
superset/mcp_service/middleware.py | 1 +
superset/mcp_service/utils/response_size_utils.py | 6 +
superset/mcp_service/widgets/schemas.py | 9 +
.../mcp_service/widgets/tool/list_widget_types.py | 27 +-
superset/views/base.py | 1 +
superset/widgets/builtin.py | 1 +
superset/widgets/controls.py | 49 +++-
tests/unit_tests/canvas/draft_test.py | 256 ++++++++++++++++++
.../mcp_service/canvas/tool/test_canvas_tools.py | 269 +++++++++++++++++++
.../mcp_service/test_mcp_tool_registration.py | 26 ++
.../unit_tests/mcp_service/test_tool_inventory.py | 13 +
tests/unit_tests/widgets/test_registry.py | 2 +
tests/unit_tests/widgets/test_schema_tools.py | 7 +-
62 files changed, 3905 insertions(+), 155 deletions(-)
create mode 100644 superset-frontend/src/features/canvas/DraftBanner.tsx
create mode 100644 superset-frontend/src/features/canvas/FilterSelectRenderer.tsx
create mode 100644 superset-frontend/src/features/canvas/PlanModeButton.test.tsx
create mode 100644 superset-frontend/src/features/canvas/PlanModeButton.tsx
create mode 100644 superset-frontend/src/features/canvas/dataRenderers.tsx
copy superset-frontend/{plugins/plugin-chart-echarts/src/Tree/buildQuery.ts => src/features/canvas/echarts/chartData.test.ts} (54%)
create mode 100644 superset-frontend/src/features/canvas/echarts/chrome.test.ts
create mode 100644 superset-frontend/src/features/canvas/echarts/chrome.ts
copy superset-frontend/{plugins/plugin-chart-echarts/src/Pie/buildQuery.ts => src/features/canvas/markdownTemplate.test.ts} (57%)
create mode 100644 superset-frontend/src/features/canvas/markdownTemplate.ts
create mode 100644 superset-frontend/src/features/canvas/useDraftToken.ts
create mode 100644 superset-frontend/src/features/canvas/useWidgetRows.ts
create mode 100644 superset/commands/canvas/draft.py
create mode 100644 superset/mcp_service/canvas/tool/apply_canvas_draft_ops.py
create mode 100644 superset/mcp_service/canvas/tool/canvas_draft_common.py
create mode 100644 superset/mcp_service/canvas/tool/commit_canvas_draft.py
create mode 100644 superset/mcp_service/canvas/tool/create_canvas.py
create mode 100644 superset/mcp_service/canvas/tool/create_canvas_draft.py
create mode 100644 superset/mcp_service/canvas/tool/delete_canvas_draft.py
create mode 100644 superset/mcp_service/canvas/tool/get_canvas_draft.py
create mode 100644 superset/mcp_service/canvas/tool/list_canvases.py
create mode 100644 superset/mcp_service/canvas/tool/preview_widget.py
create mode 100644 superset/mcp_service/canvas/tool/update_canvas.py
create mode 100644 tests/unit_tests/canvas/draft_test.py