You've already forked DataMate
refactor(annotation): 优化模板默认选择逻辑
- 添加 resolveTemplateTimestamp 函数解析模板时间戳 - 将默认模板选择逻辑从查找内置模板改为选择最新更新的模板 - 使用 reduce 方法实现按时间戳排序的模板选择 - 提高模板选择的准确性和时效性
This commit is contained in:
@@ -71,8 +71,20 @@ const resolveTemplateDataType = (datasetType?: DatasetType) => {
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
const resolveTemplateTimestamp = (template: AnnotationTemplate) => {
|
||||
const timestamp = template.updatedAt || template.createdAt;
|
||||
const parsed = Date.parse(timestamp);
|
||||
return Number.isNaN(parsed) ? 0 : parsed;
|
||||
};
|
||||
const resolveDefaultTemplate = (items: AnnotationTemplate[]) =>
|
||||
items.find((template) => template.builtIn) || items[0];
|
||||
items.reduce<AnnotationTemplate | undefined>((latest, current) => {
|
||||
if (!latest) {
|
||||
return current;
|
||||
}
|
||||
return resolveTemplateTimestamp(current) > resolveTemplateTimestamp(latest)
|
||||
? current
|
||||
: latest;
|
||||
}, undefined);
|
||||
|
||||
export default function CreateAnnotationTask({
|
||||
open,
|
||||
|
||||
Reference in New Issue
Block a user