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 LSF_IFRAME_SRC = "/lsf/lsf.html";
|
||||||
const TASK_PAGE_START = 0;
|
const TASK_PAGE_START = 0;
|
||||||
const TASK_PAGE_SIZE = 200;
|
const TASK_PAGE_SIZE = 200;
|
||||||
|
const SOURCE_DOCUMENT_EXTENSIONS = [".pdf", ".doc", ".docx"];
|
||||||
|
|
||||||
type NormalizedTaskList = {
|
type NormalizedTaskList = {
|
||||||
items: EditorTaskListItem[];
|
items: EditorTaskListItem[];
|
||||||
@@ -166,12 +167,20 @@ const mergeTaskItems = (base: EditorTaskListItem[], next: EditorTaskListItem[])
|
|||||||
return merged;
|
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 = (
|
const normalizeTaskListResponse = (
|
||||||
response: ApiResponse<EditorTaskListResponse> | null | undefined,
|
response: ApiResponse<EditorTaskListResponse> | null | undefined,
|
||||||
fallbackPage: number,
|
fallbackPage: number,
|
||||||
): NormalizedTaskList => {
|
): NormalizedTaskList => {
|
||||||
const content = response?.data?.content;
|
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 size = response?.data?.size ?? TASK_PAGE_SIZE;
|
||||||
const total = response?.data?.totalElements ?? items.length;
|
const total = response?.data?.totalElements ?? items.length;
|
||||||
const totalPages =
|
const totalPages =
|
||||||
|
|||||||
Reference in New Issue
Block a user