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