Files
workspace/code
oneao 27752351b9 refactor(module-management): 阶段二——抽取字段查询与共享纯函数
- 新建 composables/useFieldLookup.js:FIELD_TYPE_LABELS 常量 +
  useFieldLookup(fieldsRef) 返回 fieldNameMap/fieldMap/fieldOf/fieldName/controlTypeLabel
- 新建 editPanelShared.js(纯函数,无 Vue 依赖):renumberRows/buildVisibilityMap/
  buildClipboardProps/applyClipboardProps/toggleFlag/filterLibraryFields/createEditRowFactory
- ModuleTableEditPanel/ModuleFormEditPanel/ModuleStructureTree 三处同体字段查询
  统一改用 useFieldLookup,删除各自 FIELD_TYPE_LABELS/fieldNameMap/fieldMap/fieldOf/
  fieldName/controlTypeLabel 复制体
- 两面板 syncToList/syncToQuery 共享 buildVisibilityMap(emit 与提示文案留在各自面板)
- 两面板 copyRowProps/pastePropsToSelected 共享 buildClipboardProps/applyClipboardProps:
  键集合 diff 后参数化(子表 b_width / 主表 b_colspan+spanOf 归一),行为不变
- createEditRow 语义相同、细节不同(子表写 b_width、主表写 b_colspan)→
  抽参数化工厂 createEditRowFactory({ moduleId, getExtra }),两面板各自传参
- 主表 groupIdOf 与 useGroupTree.groupIdOfRow 函数体逐字相同 → 改导入(别名保持调用点不变)
- 字段库 libraryFields 的过滤排序逻辑抽为 filterLibraryFields(.sort→.toSorted,
  消除 oxlint 变异告警);toggleInspector/toggleRowFlag 核心抽为 toggleFlag

行为不变;测试 184 通过(2 个既有失败与本重构无关);lint 告警 60→59(净减 1)
2026-08-28 15:22:04 +08:00
..
2026-06-10 17:31:34 +08:00
u
2026-05-06 21:38:45 +08:00
2026-07-26 22:52:21 +08:00
2026-06-18 17:32:00 +08:00
2026-06-15 17:31:07 +08:00
u
2026-03-03 17:28:56 +08:00
2026-05-21 17:34:35 +08:00
2026-08-08 17:29:51 +08:00
u
2026-04-27 17:26:15 +08:00
2026-08-27 17:32:05 +08:00
2026-08-20 22:38:37 +08:00
u
2026-03-26 17:26:47 +08:00