전략편집기 템플릿 삭제 기능 추가
This commit is contained in:
@@ -189,6 +189,7 @@ export function listImportItemToStrategyDto(item: StrategyListExportItem, id: nu
|
||||
description: item.description,
|
||||
buyCondition: item.buyCondition ?? null,
|
||||
sellCondition: item.sellCondition ?? null,
|
||||
flowLayout: item.flowLayout,
|
||||
enabled: item.enabled ?? true,
|
||||
createdAt: now,
|
||||
updatedAt: now,
|
||||
|
||||
@@ -24,6 +24,12 @@ export type CompositeStrategyTemplate = {
|
||||
|
||||
export type StrategyTemplateDef = SimpleStrategyTemplate | CompositeStrategyTemplate;
|
||||
|
||||
/** 내장 템플릿 숨김·복원용 안정 ID */
|
||||
export function getBuiltinTemplateId(tmpl: StrategyTemplateDef): string {
|
||||
const slug = tmpl.label.trim().replace(/\s+/g, '_');
|
||||
return `builtin:${tmpl.signal}:${slug}`;
|
||||
}
|
||||
|
||||
function condition(
|
||||
indicatorType: string,
|
||||
conditionType: string,
|
||||
|
||||
@@ -64,3 +64,17 @@ export function deleteUserStrategyTemplate(id: string): UserStrategyTemplate[] {
|
||||
saveUserStrategyTemplates(templates);
|
||||
return templates;
|
||||
}
|
||||
|
||||
export function loadHiddenBuiltinTemplateIds(): string[] {
|
||||
const raw = getUiPreferences().strategyEditor?.hiddenBuiltinTemplateIds;
|
||||
if (!Array.isArray(raw)) return [];
|
||||
return raw.filter((id): id is string => typeof id === 'string' && id.length > 0);
|
||||
}
|
||||
|
||||
export function hideBuiltinTemplate(id: string): string[] {
|
||||
const hidden = loadHiddenBuiltinTemplateIds();
|
||||
if (hidden.includes(id)) return hidden;
|
||||
const next = [...hidden, id];
|
||||
patchUiPreferences({ strategyEditor: { hiddenBuiltinTemplateIds: next } });
|
||||
return next;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user