houzhongjian
2024-08-08 820397e43a0b64d35c6d31d2a55475061438593b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// 初始化表单数据
export function initListenerForm(listener) {
  let self = {
    ...listener
  }
  if (listener.script) {
    self = {
      ...listener,
      ...listener.script,
      scriptType: listener.script.resource ? 'externalScript' : 'inlineScript'
    }
  }
  if (listener.event === 'timeout' && listener.eventDefinitions) {
    if (listener.eventDefinitions.length) {
      let k = ''
      for (const key in listener.eventDefinitions[0]) {
        console.log(listener.eventDefinitions, key)
        if (key.indexOf('time') !== -1) {
          k = key
          self.eventDefinitionType = key.replace('time', '').toLowerCase()
        }
      }
      console.log(k)
      self.eventTimeDefinitions = listener.eventDefinitions[0][k].body
    }
  }
  return self
}
 
export function initListenerType(listener) {
  let listenerType
  if (listener.class) listenerType = 'classListener'
  if (listener.expression) listenerType = 'expressionListener'
  if (listener.delegateExpression) listenerType = 'delegateExpressionListener'
  if (listener.script) listenerType = 'scriptListener'
  return {
    ...JSON.parse(JSON.stringify(listener)),
    ...(listener.script ?? {}),
    listenerType: listenerType
  }
}
 
/** 将 ProcessListenerDO 转换成 initListenerForm 想同的 Form 对象 */
export function initListenerForm2(processListener) {
  if (processListener.valueType === 'class') {
    return {
      listenerType: 'classListener',
      class: processListener.value,
      event: processListener.event,
      fields: []
    }
  } else if (processListener.valueType === 'expression') {
    return {
      listenerType: 'expressionListener',
      expression: processListener.value,
      event: processListener.event,
      fields: []
    }
  } else if (processListener.valueType === 'delegateExpression') {
    return {
      listenerType: 'delegateExpressionListener',
      delegateExpression: processListener.value,
      event: processListener.event,
      fields: []
    }
  }
  throw new Error('未知的监听器类型')
}
 
export const listenerType = {
  classListener: 'Java 类',
  expressionListener: '表达式',
  delegateExpressionListener: '代理表达式',
  scriptListener: '脚本'
}
 
export const eventType = {
  create: '创建',
  assignment: '指派',
  complete: '完成',
  delete: '删除',
  update: '更新',
  timeout: '超时'
}
 
export const fieldType = {
  string: '字符串',
  expression: '表达式'
}