跳转正文

Data Workbench ​

适用范围:Legacy Admin Kit / Schema 与旧 admin-vue。新 admin-nuxtui 的开发入口见管理端 Nuxt UI 指南。

Data Workbench 是后台查询和 CRUD 的完整任务 composition。业务侧提供编译后的 Page Schema/runtime binding 与少量 presentation;LegacyYDataTable + Data Workbench 负责把它投影为一致的页面上下文、查询、表格与行任务。

单组件合同见 LegacyYDataTable。

什么时候使用 ​

  • 服务端或 fixture 数据目录,需要 query/filter/sort/pagination。
  • 需要 selection、bulk actions、column tools、detail/editor/row overlay。
  • desktop table 与 mobile projection 必须共享同一语义状态。

静态说明页、简单卡片列表或不需要 Data Workbench lifecycle 的局部表格不要为“统一”硬套 Data Workbench。

Anatomy ​

text
Page Schema + runtime binding
        ↓
Data Workbench authoritative runtime
        ↓
LegacyYDataTable
├─ page context / status
├─ query + filter
├─ table + responsive projection
├─ selection + bulk actions
├─ pagination / custom view / summary
└─ detail / editor / row overlay

State owner ​

Data Workbench runtime 持有 query、filter、sort、pagination、selection、custom view、datasource、mutation 与 overlay orchestration。LegacyYDataTable 是 projection/facade,不创建第二套 query 或 pagination state。Feature 提供 Schema、binding、action executors、extensions、permissions 与 presentation 文案。

Helper boundary ​

YActionBar、YFilterBar、YGridColumnTools、YGridBulkActionBar、YResponsiveGridPresentation 由 Admin Kit 内部组合。Admin Vue feature 不直接依赖它们,也不在 LegacyYDataTable 外重建一套 filter/selection/pagination 控制面。

真实 consumer ​

  • Product Catalog:/frontend-module-demo/list-demo/products — src/app/labs/list-demo/products/index.vue
  • Tenant Management:/tenant-management/tenants — 通过 src/shared/standard-management/YCrudHost.vue
  • Identity Roles:src/app/administration/identity/roles/index.vue
  • Identity Users:src/app/administration/identity/users/index.vue

Product Catalog 是可重复的 fixture consumer,不是第二套 Data Workbench runtime;Tenant/Identity 是真实业务 workbench。

不要怎么做 ​

  • 在 feature 中直接导入 Data Workbench helper 拼装另一套 facade。
  • 同时维护 URL query 和本地 query state。
  • 复制 Product Catalog fixture 只为展示 UI。
  • 用 renderer DOM/class/ARIA 细节作为 feature ABI。

YoyoBoot · 从真实项目走向可复用能力