/* * This file is part of the kernelstudio package. * * (c) 2014-2026 zlin * * For the full copyright and license information, please view the LICENSE file * that was distributed with this source code. */ import type { NodeTemplate } from '../types'; import type { SettingTaskNodeElement, TaskNodeRect } from '../builder/element'; import { generateKey } from '@/utils/strings'; export const createTaskNodeElementFromTemplate = ( template: NodeTemplate, rect?: TaskNodeRect, ): SettingTaskNodeElement => { let realRect = { width: 200, height: 100, x: 0, y: 0, ...rect || {} } console.info('rect',rect) return { id: 0, key: generateKey(template.type), status: null, template: template.id, type: template.type, name: template.name, description: template.description, position: { x: realRect.x ?? 0, y: realRect.y ?? 0, }, width: realRect.width, height: realRect.height, // settings: JSON.parse(JSON.stringify(template.parameter_defs ?? [])), inputs: null, outputs: null, parameters: {}, variables: [ { key: generateKey('var_'), name: '范围', value: '1000', defaults: '1000', unit: 'KM' }, { key: generateKey('var_'), name: '武器名称', value: '地对空导弹', defaults: '地对空导弹', unit: '个' } ], } as SettingTaskNodeElement; };