SuperAPI AI 工具集

make-app-sort

编程与开发

查看项目

更新于 10-15 21:41

技能介绍

用途:把工具栏排序、CanvasTable 表头排序、Entity Preset 持久化和 Service 记录排序请求作为一项整体能力处理。本技能负责消费方契约与排序语义,相关技能负责各自的实现面。

主要能力:在桌面/平板端提供排序控件;按归一化运行时字段构建候选项(字段 key 非空且 capabilities.sortable === true),默认显示 Make 字段类型图标,不装饰排序方向等其他选项;以 { fieldKey, order }[] 表达排序,数组顺序即优先级,index 0 为最高优先级,最多五级;拒绝旧式 { field, order }、未知 key、非法方向、重复项与超五项。

使用方式:先检查宿主的包管理器、归一化运行时 schema、权限门、Preset hook/路由、records 请求生命周期、CanvasTable 表头 API 与测试;安装 @qfei-design/make-app-sort@^0.1.0,阅读其 package.ai.json 及所有 package.ai.json.readOrder 条目,只导入公开导出与 styles.css,并移除复制的 UI model、面板、样式或拖拽行为。建立权限感知的对象上下文,先加载 schema 与 Entity Preset、清洗已保存排序,之后才允许首次 records 请求。使用宿主自有的外层 Popover 配合包内 RecordSortPanel、useRecordSortController、宿主公开组件适配器,以及随实体或权限上下文变化而改变的稳定 resetKey。CanvasTable 的 asc/desc 动作通过 openWithField(fieldKey, order?) 连到同一控制器,表头动作只编辑 draft。onConfirm 仅持久化 { sort },同步 onApplied 替换已应用状态,单独的 records 生命周期响应对象上下文与已应用的 filter/sort,且必须提供 onApplyError。Service 侧用严格传输解析器解析原始 PATCH 与 records 输入,按当前运行时 schema 校验字段,再转发有序值给 Make Data;宽容清洗只用于已保存/上游读取。

适用场景:桌面/平板记录列表的排序交互与持久化;与 make-app-filter、make-app-group 共享同一 Entity Preset 生命周期但独立更新各自维度;分组模式下 record-groups 请求忽略普通排序;与 make-app-actions 配合时,仅在排序成功应用的那一代交接,让动作清空选择并使待处理工作失效。

限制:手机标准卡片列表不渲染排序触发器和 CanvasTable 表头动作,不得把桌面排序按钮堆进手机工具栏;已应用的排序可继续作用于共享的普通记录查询,手机用户无法编辑排序状态,除非明确要求自定义移动端排序体验。分组 UI、record-groups 负载、groupFilter 表达式与 Preset group 写入归 make-app-group,本技能不得添加。搜索仅限会话,不持久化到 Entity Preset。禁止在 onConfirm 或 onApplied 中发起 records 请求;边界日志不得记录 cookie、token、密钥、Authorization 或完整敏感记录数据。测试要求见测试参考。