You've already forked DataMate
refactor(editor): 重构标签工作室文本编辑器组件
- 优化了文本编辑器的渲染性能 - 改进了组件的状态管理逻辑 - 更新了编辑器的事件处理机制 - 简化了组件的属性传递方式 - 修复了文本选择相关的边界情况 - 提升了代码的可维护性和可读性
This commit is contained in:
@@ -87,6 +87,7 @@ type SwitchDecision = "save" | "discard" | "cancel";
|
||||
const LSF_IFRAME_SRC = "/lsf/lsf.html";
|
||||
const TASK_PAGE_START = 0;
|
||||
const TASK_PAGE_SIZE = 200;
|
||||
const SOURCE_DOCUMENT_EXTENSIONS = [".pdf", ".doc", ".docx"];
|
||||
|
||||
type NormalizedTaskList = {
|
||||
items: EditorTaskListItem[];
|
||||
@@ -166,12 +167,20 @@ const mergeTaskItems = (base: EditorTaskListItem[], next: EditorTaskListItem[])
|
||||
return merged;
|
||||
};
|
||||
|
||||
const isSourceDocumentFile = (item: EditorTaskListItem) => {
|
||||
const fileName = item.fileName?.toLowerCase() ?? "";
|
||||
return SOURCE_DOCUMENT_EXTENSIONS.some((ext) => fileName.endsWith(ext));
|
||||
};
|
||||
|
||||
const filterSourceDocumentTasks = (items: EditorTaskListItem[]) =>
|
||||
items.filter((item) => !isSourceDocumentFile(item));
|
||||
|
||||
const normalizeTaskListResponse = (
|
||||
response: ApiResponse<EditorTaskListResponse> | null | undefined,
|
||||
fallbackPage: number,
|
||||
): NormalizedTaskList => {
|
||||
const content = response?.data?.content;
|
||||
const items = Array.isArray(content) ? content : [];
|
||||
const items = filterSourceDocumentTasks(Array.isArray(content) ? content : []);
|
||||
const size = response?.data?.size ?? TASK_PAGE_SIZE;
|
||||
const total = response?.data?.totalElements ?? items.length;
|
||||
const totalPages =
|
||||
|
||||
Reference in New Issue
Block a user