Skip to content

Conversation

@lichunn
Copy link
Collaborator

@lichunn lichunn commented Dec 30, 2025

English | 简体中文

PR

PR Checklist

Please check if your PR fulfills the following requirements:

  • The commit message follows our Commit Message Guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • Built its own designer, fully self-validated

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Other... Please describe:

Background and solution

What is the current behavior?

Issue Number: N/A

What is the new behavior?

WeChat50da52cd82879df60c0e6ea048a5f984
WeChat81bc4b4f518303e94c0d77a6b288dd63

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

Summary by CodeRabbit

  • New Features
    • Added many new chart visualizations (graph, process, boxplot, line, pie, funnel, radar, etc.).
    • Expanded UI library with layout, form, navigation, and display components and ready-made snippets/presets for rapid assembly.
    • New components published as version 3.22.0 and added to the public component catalog.

✏️ Tip: You can customize this high-level summary in your review settings.

@github-actions github-actions bot added the enhancement New feature or request label Dec 30, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 30, 2025

Walkthrough

Added extensive JSON schema definitions for numerous UI and chart components in designer-demo/public/mock/bundle.json and registered three new Huicharts components (TinyHuichartsGraph, TinyHuichartsProcess, TinyHuichartsBoxplot) in mockServer/src/mock/get/app-center/v1/apps/schema/1.json (version 3.22.0).

Changes

Cohort / File(s) Summary
Bundle: component schema additions
designer-demo/public/mock/bundle.json
Added many new component schemas (multiple TinyHuicharts chart types and numerous UI/layout/form components). Each schema includes properties, events, slots, presets/snippets, and control/configuration metadata.
Mock server: component registry
mockServer/src/mock/get/app-center/v1/apps/schema/1.json
Registered three new public components in componentsMap: TinyHuichartsGraph, TinyHuichartsProcess, TinyHuichartsBoxplot (package @opentiny/vue-huicharts, export names, destructuring true, version 3.22.0).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰✨ I hopped through JSON fields so wide,
Adding charts and panels with springy pride.
Boxes, rings, and graphs in a neat parade,
Schemas stitched, no detail delayed —
A rabbit's cheer for each new UI glide.

Pre-merge checks

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title mentions box plot, progress chart, and topology diagram, but the actual changes include many more components (multiple chart types, form components, layout containers, etc.), making it incomplete. Consider updating the title to reflect the comprehensive nature of the changes, such as 'feat: Add multiple chart and UI component schemas' or providing a more complete component list to match the extensive additions.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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

📥 Commits

Reviewing files that changed from the base of the PR and between af870d4 and 9527956.

📒 Files selected for processing (2)
  • designer-demo/public/mock/bundle.json
  • mockServer/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. The component property 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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a 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 docUrl fields, and empty events: {} 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

📥 Commits

Reviewing files that changed from the base of the PR and between 9527956 and 42ed549.

📒 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant