Files
yidaima/RuoYi-Vue/docs/superpowers/plans/2026-07-10-chart-page-block-plugin-family.md

1.7 KiB

Chart PageBlock Plugin Family Plan

Goal: Move all four admin Chart BusinessBlocks into a shared PageBlock plugin family that owns dataset validation, query context, shared runtime files, and ProjectSpec release selection.

Task 1: Shared Template And File Contributions

  • Resolve both block-relative and classpath-absolute template declarations through one resource contract.
  • Extend PageBlock plugins with executable shared-file contributions.
  • Require every shared file template to be published in the contributing Manifest.
  • Deduplicate identical shared outputs and reject conflicting declarations deterministically.

Task 2: Chart Plugin Family

  • Add a common Chart PageBlock base for dataset validation and query render context.
  • Publish line, bar, pie, and metric chart plugins as trusted 1.0.0 releases.
  • Publish seven shared Chart templates plus the chartRuntime.js template in each Chart Manifest.
  • Emit one owned src/utils/chartRuntime.js file for any number of admin charts.

Task 3: Remove Legacy Chart Branches

  • Remove direct Chart dataset validation from BusinessBlockRegistryService.
  • Remove Chart query and Velocity context assembly from BusinessBlockGenerationService.
  • Remove hardcoded Chart runtime emission from the generation service.
  • Preserve existing chart SQL, API, component, display, span, and runtime output.

Task 4: Version Selection And Verification

  • Auto-select all used Chart plugin releases in stable code order.
  • Cover family Manifests, validator execution, query context, shared files, and absolute templates.
  • Run page design, project generation, Registry, template rendering, and full generator regressions.