-
Notifications
You must be signed in to change notification settings - Fork 448
feat:Add box plot, progress chart, and topology diagram components #1730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
WalkthroughAdded extensive JSON schema definitions for numerous UI and chart components in Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Pre-merge checks❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (1)
designer-demo/public/mock/bundle.json (1)
22908-22949: Consider externalizing large sample data.The box plot component includes large inline data arrays (20 values per series × 5 series = 100 data points). While acceptable for a demo/mock file, consider externalizing this sample data to a separate file or referencing a data endpoint for better maintainability.
💡 Optional refactor approach
Instead of inline data, consider:
{ "name": { "zh_CN": "箱型图" }, "schema": { "componentName": "TinyHuichartsBoxplot", "props": { "options": { "data": "$ref:./chart-samples/boxplot-data.json", "xAxis": { "axisLabel": { "formatter": "expr {value}" } }, "legend": { "show": false } } } } }This approach:
- Keeps the configuration file cleaner
- Makes sample data easier to update
- Improves readability
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
designer-demo/public/mock/bundle.jsonmockServer/src/mock/get/app-center/v1/apps/schema/1.json
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2024-09-30T07:51:10.036Z
Learnt from: chilingling
Repo: opentiny/tiny-engine PR: 837
File: packages/vue-generator/src/plugins/genDependenciesPlugin.js:66-66
Timestamp: 2024-09-30T07:51:10.036Z
Learning: In the `tiny-engine` project, `opentiny/tiny-engine-dsl-vue` refers to the current package itself, and importing types from it may cause circular dependencies.
Applied to files:
mockServer/src/mock/get/app-center/v1/apps/schema/1.json
📚 Learning: 2025-01-14T06:49:00.797Z
Learnt from: gene9831
Repo: opentiny/tiny-engine PR: 1011
File: packages/configurator/src/router-select-configurator/RouterSelectConfigurator.vue:63-73
Timestamp: 2025-01-14T06:49:00.797Z
Learning: In the tiny-engine project, the SvgIcon component is globally registered using `app.component('SvgIcon', SvgIcon)` in `packages/svgs/index.js`, making it available throughout Vue components without requiring explicit imports.
Applied to files:
mockServer/src/mock/get/app-center/v1/apps/schema/1.json
📚 Learning: 2025-01-14T06:49:00.797Z
Learnt from: gene9831
Repo: opentiny/tiny-engine PR: 1011
File: packages/configurator/src/router-select-configurator/RouterSelectConfigurator.vue:63-73
Timestamp: 2025-01-14T06:49:00.797Z
Learning: In the tiny-engine project, the SvgIcon component is globally registered and available throughout Vue components without requiring explicit imports.
Applied to files:
mockServer/src/mock/get/app-center/v1/apps/schema/1.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: push-check
🔇 Additional comments (6)
designer-demo/public/mock/bundle.json (6)
4186-4187: LGTM: Consistent context menu configuration.The context menu configuration for chart components has been systematically updated to disable copy/remove actions and enable symbol creation. This standardization improves consistency across the component library.
Also applies to: 4271-4272, 4385-4386, 4470-4471, 4594-4595, 4718-4719, 4803-4804, 4888-4889, 4973-4974
6069-6072: LGTM: Proper component nesting rules established.The nesting rules correctly enforce parent-child relationships for component pairs (Form/FormItem, Table/TableColumn, Tab/TabItem, Carousel/CarouselItem, Breadcrumb/BreadcrumbItem, Layout/Row/Col). These constraints prevent invalid component hierarchies and ensure proper functionality.
Also applies to: 6867-6870, 10738-10741, 12504-12507, 12987-12990, 16306-16309, 16414-16417, 16550-16553, 16638-16641
5016-5016: LGTM: Appropriate property shortcuts defined.The shortcuts configuration correctly identifies frequently-used properties for quick access in the UI (e.g., "type" and "size" for buttons, "visible" and "width" for dialogs, "label" and "rules" for form items). This improves the developer experience by providing convenient access to commonly adjusted properties.
Also applies to: 5293-5293, 5760-5760, 6078-6078, 6530-6530, 6876-6876, 8110-8110, 10419-10419, 10747-10747, 10990-10990, 11353-11353, 11606-11606, 12259-12259, 12407-12407, 12513-12513, 12865-12865, 12995-12995, 13271-13271, 13608-13608, 14020-14020, 14255-14255, 14658-14658, 14855-14855, 15128-15128, 15385-15385, 15571-15571, 15780-15780, 16056-16056, 16315-16315, 16422-16422, 16559-16559, 16646-16646, 16771-16771, 16880-16880, 17769-17769, 17792-17792, 18073-18073, 18455-18455, 18788-18788, 18964-18964, 19183-19183, 19676-19676, 20089-20089, 20530-20530, 20796-20796
21185-21185: LGTM: Sample data properly formatted.The sample data and default values for component demonstrations (modelValue arrays, padding configurations) are correctly formatted and appropriate for their respective component types.
Also applies to: 21332-21332, 22232-22232, 22321-22321, 22406-22406, 22506-22506, 22510-22510, 22622-22622, 22711-22711, 22720-22720
22750-22865: LGTM: Well-structured topology graph configuration.The topology diagram sample data is properly configured with nodes, links, and styling. The configuration correctly uses both index-based and name-based link references, which is valid for ECharts graph series.
10905-10905: No action needed. Thecomponentproperty supports array values by design. When an array is provided, each component is registered individually to the system, allowing multiple heading levels to be defined under a single material definition.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
♻️ Duplicate comments (1)
designer-demo/public/mock/bundle.json (1)
6-275: Version, documentation, and events issues already flagged.The issues with version 3.22.0 (should be 3.26.0), empty
docUrlfields, and emptyevents: {}objects for these three new components have already been identified in the previous review.
🧹 Nitpick comments (1)
designer-demo/public/mock/bundle.json (1)
23487-23536: Mixed source/target reference types in graph links may cause confusion.The graph snippet uses both numeric indices (lines 23489-23490:
source: 0, target: 1) and string node names (lines 23508-23509, 23522-23535:source: "节点 2", target: "节点 1"). While ECharts supports both formats, mixing them in the same dataset can lead to confusion and potential errors if the data structure changes.Consider standardizing to use either all numeric indices or all string names for consistency.
🔎 Proposed fix to standardize on string names
"links": [ { - "source": 0, - "target": 1, + "source": "节点 1", + "target": "节点 2", "symbolSize": [ 5, 20
📜 Review details
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
designer-demo/public/mock/bundle.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2024-12-14T05:53:28.501Z
Learnt from: gene9831
Repo: opentiny/tiny-engine PR: 917
File: docs/开始/快速上手.md:31-31
Timestamp: 2024-12-14T05:53:28.501Z
Learning: The latest stable version of `opentiny/tiny-engine-cli` is `2.0.0`, and documentation should reference this version instead of any release candidates.
Applied to files:
designer-demo/public/mock/bundle.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: push-check
English | 简体中文
PR
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
Background and solution
What is the current behavior?
Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
Other information
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.