Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ui/src/api/API_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -573,8 +573,8 @@ Workspace、System 资源管理及 System 共享资源的 `knowledge.ts` 提供
返回新增分段详情,默认插入首位并触发索引。
新增载荷可传 `position`,在目标位置插入,用于当前分段上方添加。
`getParagraphDetail` 查询 `/<paragraphId>`,返回 `ParagraphDetail`,包含 `problem_list`、
`hit_num` 和 `last_hit_time`。`putParagraph` 向同一路径提交标题和正文,解包后端三元素编辑响应的
首项为最新详情;不提交 `problem_list`,关联关系通过专属接口维护。
`hit_num` 和 `last_hit_time`。`putParagraph` 向同一路径提交标题和正文,直接返回最新详情对象;
后端内部三元素返回值经后置处理转换为详情对象,不作为数组解析。不提交 `problem_list`,关联关系通过专属接口维护。
编辑载荷使用 `ParagraphEditPayload`,允许仅传 `is_active` 更新启用状态,正文表单仍使用
必填标题及正文的 `ParagraphUpdatePayload`。`deleteParagraph` DELETE `/<paragraphId>` 删除单个分段。
`putParagraphPosition` PUT `/adjust_position`,查询参数为 `paragraph_id`、`new_position`,
Expand Down
6 changes: 2 additions & 4 deletions ui/src/api/admin/workspace/knowledge/paragraph.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,9 @@ const postParagraph = (knowledgeId: string, documentId: string, payload: Paragra
const getParagraphDetail = (knowledgeId: string, documentId: string, paragraphId: string) =>
get<ParagraphDetail>(`${getPrefix(knowledgeId, documentId)}/${paragraphId}`)

/** 更新分段正文或启用状态,提取后端编辑响应中的最新详情。 */
/** 更新分段正文或启用状态,返回最新详情。 */
const putParagraph = (knowledgeId: string, documentId: string, paragraphId: string, payload: ParagraphEditPayload) =>
put<ParagraphEditPayload, [ParagraphDetail, ParagraphEditPayload, string]>(`${getPrefix(knowledgeId, documentId)}/${paragraphId}`, payload).then(
([paragraph]) => paragraph,
)
put<ParagraphEditPayload, ParagraphDetail>(`${getPrefix(knowledgeId, documentId)}/${paragraphId}`, payload)

/** 新增问题并关联到当前分段。 */
const postParagraphProblem = (knowledgeId: string, documentId: string, paragraphId: string, content: string) =>
Expand Down
6 changes: 6 additions & 0 deletions ui/src/styles/STYLE_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,12 @@ CSS 自定义属性同样按变量名排序。嵌套选择器、伪类和媒体
段落卡片使用 `app.scss` 中的 `mk-paragraph-card`,普通模式悬停背景为 N100;多选模式添加
`selectable`,未选中卡片悬停为主题色边框、白色背景。已选卡片添加 `active`,沿用
`MkSourceCard` 的主题色边框和 10% 主题色背景,选中背景在悬停时保留。
禁用样式添加 `disabled`,标题、Markdown 正文和辅助文字使用 N400 浅灰色;此类只改变展示,
悬停时背景和边框不变色,保留选中和操作交互,实际禁用行为由使用方控制。

```html
<el-card class="mk-paragraph-card disabled" shadow="never">禁用的段落内容</el-card>
```

## 阴影

Expand Down
14 changes: 12 additions & 2 deletions ui/src/styles/app.scss
Original file line number Diff line number Diff line change
Expand Up @@ -181,12 +181,22 @@ h6 {
border-color: var(--mk-primary) !important;
}

&.selectable:hover {
&.disabled {
color: var(--mk-N400);

.md-editor-preview,
.md-editor-preview *,
.text-N600 {
color: var(--mk-N400) !important;
}
}

&.selectable:not(.disabled):hover {
background-color: white;
border-color: var(--mk-primary);
}

&:hover {
&:not(.disabled):hover {
background-color: var(--mk-N100);
}
}
Expand Down
16 changes: 16 additions & 0 deletions ui/src/views/VIEW_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,22 @@ Workspace 普通资源、System 资源管理和 System 共享资源允许打开
编辑、启停局部替换卡片,删除、迁移局部移除,保留其他已加载数据和滚动位置。
局部移除后,下一次滚动请求按剩余列表长度定位服务端分页,必要时拼接相邻两页,避免漏载。
正文使用 `MdPreview`;第一页加载完成且无分段时展示空态。
左侧目录和右侧卡片分别通过 `useSortable` 绑定同一份分段数组,拖拽图标使用与 `MkFormList`
一致的 link 按钮、`text-N600` 和 `h-8!`。左右图标均仅在悬浮所属目录项/卡片或获得焦点时显示,
绝对定位在所属目录项/卡片右侧并向外露出 8px,不占据布局空间;目录图标垂直居中。
左右均可按住整条目录项/整张卡片或拖拽图标排序,只允许在已加载分段中排序。
右侧整体过滤悬浮操作区,并过滤正文链接及拖拽图标以外的按钮,保留原有点击行为;
普通点击卡片仍打开详情,位置保存期间不打开详情;左侧点击手柄不触发目录定位。
左侧使用普通 `div.paragraph-directory-row` 作为排序行,手柄与 `ElAnchorLink` 并列。
页面局部 `v-disable-link-drag` 指令将 `ElAnchorLink` 内部的 a 设为 `draggable=false`,
不使用 `dragstart.prevent`,避免原生链接拖出浏览器,并让整条目录项正常参与 Sortable 排序。
拖拽后两侧同步重排,通过目标分段原有的真实 `position` 提交位置接口,搜索不改变位置语义。
成功后同步移动区间内已加载分段的 `position`,失败恢复原顺序;不重新查询或重置列表。
批量模式、分段加载、删除确认或提交、弹窗打开、位置保存以及不足两条时禁用拖拽。
拖拽和保存期间暂停滚动补页,保存时仅在标题栏显示状态,不使用整页 loading 遮挡落位动画;
保存锁继续禁止再次拖拽和修改操作。与 `MkFormList` 一致,两侧使用普通 DOM 容器,
右侧以普通 `div.paragraph-sort-row` 承载卡片,由 `useSortable` 统一提供 150ms 位移动画;
不在可排序元素上叠加 `TransitionGroup`,也不直接对带默认过渡样式的 `ElCard` 做位移动画。
批量选择支持点击整张卡片或复选框切换勾选、全选、取消、“迁移至”、“生成问题”和“删除”;
复选框阻止点击冒泡,避免重复切换。`document-detail/action-dropdown/migrate/` 集中维护
批量按钮 `BatchMigrateParagraphAction`、单项菜单 `MigrateParagraphAction` 和 `ParagraphMigrateDialog`,沿用 chat-log 添加知识库的知识库/文档
Expand Down
Loading
Loading