// src/common/bpmnUtils.ts

/**
 * 翻译节点名称
 */
export const translateNodeName = (nodeType: string): string => {
    const nodeNameMap: { [key: string]: string } = {
      'StartEvent': '开始事件',
      'EndEvent': '结束事件',
      'UserTask': '用户任务',
      'ServiceTask': '服务任务',
      'ScriptTask': '脚本任务',
      'BusinessRuleTask': '业务规则任务',
      'SendTask': '发送任务',
      'ReceiveTask': '接收任务',
      'ManualTask': '手动任务',
      'Task': '任务',
      'ExclusiveGateway': '排他网关',
      'ParallelGateway': '并行网关',
      'InclusiveGateway': '包容网关',
      'EventBasedGateway': '事件网关',
      'SequenceFlow': '顺序流',
      'SubProcess': '子流程',
      'CallActivity': '调用活动',
      'Process': '流程',
      '': '未选择元素'
    }
    
    return nodeNameMap[nodeType] || nodeType || '未知元素'
  }
  
  /**
   * 获取元素类型名称
   */
  export const getElementTypeName = (element: any): string => {
    if (!element || !element.type) return ''
    return element.type.split(':')[1] || ''
  }
  
  /**
   * 检查元素是否支持表单
   */
  export const isFormSupported = (elementType: string): boolean => {
    return ['UserTask', 'StartEvent'].includes(elementType)
  }
  
  /**
   * 检查元素是否支持条件
   */
  export const isConditionSupported = (element: any): boolean => {
    return element && element.type === 'bpmn:SequenceFlow' && 
           element.source && 
           element.source.type.indexOf('StartEvent') === -1
  }