Repository navigation
feat(plugin-chart-univer): add a Spreadsheet chart built on Univer - #45278
Draft
AliIbnBotir wants to merge 3 commits into
Draft
AliIbnBotir wants to merge 3 commits into
AliIbnBotir wants to merge 3 commits into
Conversation
flatten reset only the first level of a MultiIndex, so a pivot with several index columns lost the others when the result was serialized. A single-level index is reset as before. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Charts can tell whether they render in Explore, on a dashboard or embedded (standalone Explore, also used for report screenshots), e.g. to allow editing only in Explore. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A Table-category chart that shows the query result as an Excel-like sheet using Univer's open source packages. In Explore it is a full editor whose edits (formatting, formulas, renamed headers, extra sheets) are saved in the chart's form data; on dashboards it is read-only with fresh data. Query modes: aggregate, raw records and pivot (pivot and flatten post-processing on the backend). Rows can be grouped by dimensions with subtotals and collapsible groups. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for superset-docs-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## master #45278 +/- ##
===========================================
- Coverage 83.29% 65.02% -18.28%
===========================================
Files 3039 3039
Lines 198375 198382 +7
Branches 46213 46213
===========================================
- Hits 165235 128995 -36240
- Misses 29916 66487 +36571
+ Partials 3224 2900 -324
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
2 of 9 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SUMMARY
Implements the Spreadsheet chart proposed in SIP #45265.
Adds a new chart type, Spreadsheet (
viz_type: univer_sheet, category Table), built on Univer, an Apache-2.0 spreadsheet engine.univer_workbookcontrol.appSectionfrom feat(explore): pass appSection to chart plugins #45275 to tell where it renders.pivotandflattenpost-processing (which needs the fix in fix(post-processing): flatten every index level #45263) and shows stacked, merged header rows.Design notes:
@univerjs/presetsand@univerjs/preset-sheets-core1.0.4. No Univer Pro packages. The 93 new lockfile packages are all ASF Category A licences (MIT, Apache-2.0, BSD-3-Clause, ISC).loadChart: () => import('../UniverChart')), so it is only downloaded when a Spreadsheet chart renders. Nothing Univer-related is in the entry bundles.src/univer/mountUniver.ts. Grid, layout, saved-state and group logic is plain TypeScript with unit tests.versionfield so its format can change later.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TESTING INSTRUCTIONS
Automated:
npm run test -- plugins/plugin-chart-univer src/components/Chart/ChartRenderer.test.tsxnpm run plugins:build && npm run typeManual:
video_game_sales(or any dataset) and pick Spreadsheet.genreas a dimension and a few metrics, then run the query.=AVERAGE(B2:B13). Save the chart.genre, Columns =platform: check the merged headers and totals.ADDITIONAL INFORMATION
The chart is registered unconditionally. If maintainers prefer, it can go behind a feature flag (for example
SPREADSHEET_CHART) until it has had wider use.