workflow-editor 0.0.81-up-tmp12 → 0.0.81-up-tmp15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/es/style.css +143 -143
  2. package/lib/style.css +146 -146
  3. package/package.json +7 -1
  4. package/.prettierrc.json +0 -9
  5. package/index.html +0 -13
  6. package/packages/index.js +0 -50
  7. package/packages/plugins/formValidatorUtil.js +0 -723
  8. package/packages/plugins/index.js +0 -8
  9. package/packages/workflow-editor/index.js +0 -14
  10. package/packages/workflow-editor/src/api.js +0 -7
  11. package/packages/workflow-editor/src/assets/tab-select.png +0 -0
  12. package/packages/workflow-editor/src/assets/tab-selectWhite.png +0 -0
  13. package/packages/workflow-editor/src/assets/wf-editor-icons.js +0 -2
  14. package/packages/workflow-editor/src/constant.js +0 -8
  15. package/packages/workflow-editor/src/json-object-templates/auto-task.js +0 -70
  16. package/packages/workflow-editor/src/json-object-templates/copy-task.js +0 -72
  17. package/packages/workflow-editor/src/json-object-templates/decision.js +0 -11
  18. package/packages/workflow-editor/src/json-object-templates/end.js +0 -14
  19. package/packages/workflow-editor/src/json-object-templates/fork.js +0 -10
  20. package/packages/workflow-editor/src/json-object-templates/human-decision.js +0 -9
  21. package/packages/workflow-editor/src/json-object-templates/human-task.js +0 -208
  22. package/packages/workflow-editor/src/json-object-templates/join.js +0 -10
  23. package/packages/workflow-editor/src/json-object-templates/process.js +0 -99
  24. package/packages/workflow-editor/src/json-object-templates/start.js +0 -13
  25. package/packages/workflow-editor/src/json-object-templates/subprocess.js +0 -31
  26. package/packages/workflow-editor/src/json-object-templates/transition.js +0 -26
  27. package/packages/workflow-editor/src/main/admin-save-dialog.vue +0 -67
  28. package/packages/workflow-editor/src/main/canvas.vue +0 -493
  29. package/packages/workflow-editor/src/main/context-menu.vue +0 -147
  30. package/packages/workflow-editor/src/main/icon-svg.vue +0 -32
  31. package/packages/workflow-editor/src/main/selection-region.vue +0 -66
  32. package/packages/workflow-editor/src/main/tache-history-tooltip.vue +0 -38
  33. package/packages/workflow-editor/src/main/tache-name-input.vue +0 -19
  34. package/packages/workflow-editor/src/main/tache-subprocess-history-dialog.vue +0 -40
  35. package/packages/workflow-editor/src/main/toolbox.vue +0 -60
  36. package/packages/workflow-editor/src/main/wf-history-canvas.vue +0 -309
  37. package/packages/workflow-editor/src/process-json.js +0 -624
  38. package/packages/workflow-editor/src/process-service.js +0 -68
  39. package/packages/workflow-editor/src/properties-editors/auto-task/basic-properties.vue +0 -81
  40. package/packages/workflow-editor/src/properties-editors/auto-task/permission-settings.vue +0 -155
  41. package/packages/workflow-editor/src/properties-editors/auto-task.vue +0 -74
  42. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +0 -568
  43. package/packages/workflow-editor/src/properties-editors/common/additional-condition.vue +0 -320
  44. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields-utils.js +0 -34
  45. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +0 -268
  46. package/packages/workflow-editor/src/properties-editors/common/common-notice-tool.vue +0 -81
  47. package/packages/workflow-editor/src/properties-editors/common/common-user-condition.vue +0 -242
  48. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +0 -23
  49. package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +0 -117
  50. package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +0 -88
  51. package/packages/workflow-editor/src/properties-editors/common/i18n-set-dialog.vue +0 -143
  52. package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +0 -149
  53. package/packages/workflow-editor/src/properties-editors/common/notice.vue +0 -108
  54. package/packages/workflow-editor/src/properties-editors/common/reminder.vue +0 -272
  55. package/packages/workflow-editor/src/properties-editors/common/select-mail-template.vue +0 -92
  56. package/packages/workflow-editor/src/properties-editors/common/standard-fields.vue +0 -66
  57. package/packages/workflow-editor/src/properties-editors/common/system-role-tree-inline.vue +0 -354
  58. package/packages/workflow-editor/src/properties-editors/common/system-role-tree.vue +0 -68
  59. package/packages/workflow-editor/src/properties-editors/common/task-title.vue +0 -165
  60. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +0 -275
  61. package/packages/workflow-editor/src/properties-editors/common/user-selection.vue +0 -426
  62. package/packages/workflow-editor/src/properties-editors/common/value-selection-dialog.vue +0 -272
  63. package/packages/workflow-editor/src/properties-editors/common/variables.vue +0 -139
  64. package/packages/workflow-editor/src/properties-editors/copy-task/basic-properties.vue +0 -90
  65. package/packages/workflow-editor/src/properties-editors/copy-task/permission-settings.vue +0 -155
  66. package/packages/workflow-editor/src/properties-editors/copy-task.vue +0 -95
  67. package/packages/workflow-editor/src/properties-editors/decision.vue +0 -95
  68. package/packages/workflow-editor/src/properties-editors/fork.vue +0 -77
  69. package/packages/workflow-editor/src/properties-editors/human-decision.vue +0 -49
  70. package/packages/workflow-editor/src/properties-editors/human-task/additional-condition-dialog.vue +0 -62
  71. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +0 -184
  72. package/packages/workflow-editor/src/properties-editors/human-task/componentsConfigUtil.js +0 -359
  73. package/packages/workflow-editor/src/properties-editors/human-task/custom-actions.vue +0 -256
  74. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-field-setting.vue +0 -405
  75. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-fields.vue +0 -257
  76. package/packages/workflow-editor/src/properties-editors/human-task/editable-field-selection.vue +0 -430
  77. package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +0 -206
  78. package/packages/workflow-editor/src/properties-editors/human-task/events.vue +0 -60
  79. package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +0 -224
  80. package/packages/workflow-editor/src/properties-editors/human-task/selection-conditions.vue +0 -499
  81. package/packages/workflow-editor/src/properties-editors/human-task.vue +0 -107
  82. package/packages/workflow-editor/src/properties-editors/join.vue +0 -49
  83. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +0 -336
  84. package/packages/workflow-editor/src/properties-editors/process/events.vue +0 -79
  85. package/packages/workflow-editor/src/properties-editors/process/notice-settings.vue +0 -68
  86. package/packages/workflow-editor/src/properties-editors/process/parameter-settings.vue +0 -106
  87. package/packages/workflow-editor/src/properties-editors/process/permission-settings.vue +0 -28
  88. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +0 -88
  89. package/packages/workflow-editor/src/properties-editors/process.vue +0 -115
  90. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +0 -201
  91. package/packages/workflow-editor/src/properties-editors/subprocess/events.vue +0 -26
  92. package/packages/workflow-editor/src/properties-editors/subprocess/field-mappings.vue +0 -216
  93. package/packages/workflow-editor/src/properties-editors/subprocess/transactor-settings.vue +0 -66
  94. package/packages/workflow-editor/src/properties-editors/subprocess.vue +0 -80
  95. package/packages/workflow-editor/src/properties-editors/transition/basic-properties.vue +0 -53
  96. package/packages/workflow-editor/src/properties-editors/transition.vue +0 -75
  97. package/packages/workflow-editor/src/properties-editors/user-condition.js +0 -183
  98. package/packages/workflow-editor/src/store/getters.js +0 -33
  99. package/packages/workflow-editor/src/store/workflow-editor.js +0 -153
  100. package/packages/workflow-editor/src/taches/auto-task.vue +0 -99
  101. package/packages/workflow-editor/src/taches/common-methods.js +0 -21
  102. package/packages/workflow-editor/src/taches/copy-task.vue +0 -99
  103. package/packages/workflow-editor/src/taches/custom-task.vue +0 -88
  104. package/packages/workflow-editor/src/taches/decision.vue +0 -102
  105. package/packages/workflow-editor/src/taches/end.vue +0 -76
  106. package/packages/workflow-editor/src/taches/fork.vue +0 -102
  107. package/packages/workflow-editor/src/taches/human-decision.vue +0 -102
  108. package/packages/workflow-editor/src/taches/human-task.vue +0 -113
  109. package/packages/workflow-editor/src/taches/join.vue +0 -91
  110. package/packages/workflow-editor/src/taches/joint.vue +0 -177
  111. package/packages/workflow-editor/src/taches/start.vue +0 -76
  112. package/packages/workflow-editor/src/taches/subprocess.vue +0 -99
  113. package/packages/workflow-editor/src/taches/tache-resizer.vue +0 -80
  114. package/packages/workflow-editor/src/transitions/broken-line.vue +0 -91
  115. package/packages/workflow-editor/src/transitions/curve-line.vue +0 -91
  116. package/packages/workflow-editor/src/transitions/straight-line.vue +0 -26
  117. package/packages/workflow-editor/src/transitions/transition.vue +0 -209
  118. package/packages/workflow-editor/src/transitions/virtual-transition.vue +0 -43
  119. package/packages/workflow-editor/src/util.js +0 -499
  120. package/packages/workflow-editor/src/workflow-editor.vue +0 -852
  121. package/packages/workflow-editor/src/workflow-history.vue +0 -153
  122. package/public/vite.svg +0 -1
  123. package/src/i18n/i18n.js +0 -16
  124. package/src/i18n/langs/cn.js +0 -521
  125. package/src/i18n/langs/en.js +0 -529
  126. package/vite.config.js +0 -103
@@ -1,499 +0,0 @@
1
-
2
- import { getLanguageWithLocale } from 'agilebuilder-ui'
3
- import i18n from '../../../src/i18n/i18n'
4
- import newAutoTask from './json-object-templates/auto-task'
5
- import newCopyTask from './json-object-templates/copy-task'
6
- import newDecision from './json-object-templates/decision'
7
- import newEnd from './json-object-templates/end'
8
- import newFork from './json-object-templates/fork'
9
- import newHumanDecision from './json-object-templates/human-decision'
10
- import newHumanTask from './json-object-templates/human-task'
11
- import newJoin from './json-object-templates/join'
12
- import newProcess from './json-object-templates/process'
13
- import newStart from './json-object-templates/start'
14
- import newSubprocess from './json-object-templates/subprocess'
15
- import newTransition from './json-object-templates/transition'
16
- function getStore() {
17
- return window.$store
18
- }
19
- function getI18n() {
20
- if (!window.$locale) {
21
- i18n.locale = 'cn'
22
- } else {
23
- i18n.locale = window.$locale
24
- }
25
- return i18n.global
26
- }
27
- // 组件的初始信息
28
- export function getComponentList() {
29
- return [
30
- {
31
- name: 'Start',
32
- label: getI18n().t('workflowEditor.task.start'),
33
- icon: 'start',
34
- type: 'primary',
35
- class:'',
36
- round: true,
37
- width: 48,
38
- height: 48,
39
- color: '#67C23A'
40
- }, {
41
- name: 'HumanTask',
42
- label: getI18n().t('workflowEditor.task.humanTask'),
43
- icon: 'human-task',
44
- type: '',
45
- class:'',
46
- round: true,
47
- width: 80,
48
- height: 40,
49
- color: '#000'
50
- }, {
51
- name: 'Decision',
52
- label: getI18n().t('workflowEditor.task.conditionJudgment'),
53
- icon: 'decision',
54
- type: '',
55
- class:'',
56
- round: true,
57
- width: 48,
58
- height: 48,
59
- color: '#999'
60
- },
61
- {
62
- name: 'Fork',
63
- label: getI18n().t('workflowEditor.task.branch'),
64
- icon: 'fork',
65
- type: '',
66
- class:'',
67
- round: true,
68
- width: 48,
69
- height: 48,
70
- color: '#999'
71
- },
72
- {
73
- name: 'Join',
74
- label: getI18n().t('workflowEditor.task.converge'),
75
- icon: 'join',
76
- type: '',
77
- class:'',
78
- round: true,
79
- width: 48,
80
- height: 48,
81
- color: '#999'
82
- },
83
- {
84
- name: 'Subprocess',
85
- label: getI18n().t('workflowEditor.task.subprocess'),
86
- icon: 'subprocess',
87
- type: 'warning',
88
- class:'',
89
- round: true,
90
- width: 80,
91
- height: 40,
92
- color: '#0777D4'
93
- },
94
- {
95
- name: 'HumanDecision',
96
- label: getI18n().t('workflowEditor.task.manualJudgment'),
97
- icon: 'human-decision',
98
- type: '',
99
- class:'',
100
- round: true,
101
- width: 48,
102
- height: 48,
103
- color: '#999'
104
- },
105
- {
106
- name: 'CopyTask',
107
- label: getI18n().t('workflowEditor.task.cCtask'),
108
- icon: 'copy-task',
109
- type: '',
110
- class:'',
111
- round: true,
112
- width: 80,
113
- height: 40,
114
- color: '#0777D4'
115
- },
116
- {
117
- name: 'AutoTask',
118
- label: getI18n().t('workflowEditor.task.autoTask'),
119
- icon: 'human-task',
120
- type: '',
121
- class:'',
122
- round: true,
123
- width: 80,
124
- height: 40,
125
- color: '#0777D4'
126
- },
127
- {
128
- name: 'End',
129
- label: getI18n().t('workflowEditor.task.end'),
130
- icon: 'end',
131
- type: 'danger',
132
- class:'workflow-end-button',
133
- round: true,
134
- width: 48,
135
- height: 48,
136
- color: '#F56C6C'
137
- }
138
- ]
139
- }
140
- function getComponentInfo(name) {
141
- const component = getComponentList().filter(item => {
142
- return item.name === name
143
- })
144
- if (component.length > 0) {
145
- return component[0]
146
- } else {
147
- return null
148
- }
149
- }
150
- // 根据环节id找到环节对象
151
- function getParent(parent) {
152
- const taches = getStore().getters['wfEditor/taches']
153
- const tache = taches.filter(tache => {
154
- return tache.id === parent
155
- })
156
- return tache[0]
157
- }
158
- function getJoint(parent, position) {
159
- // 如果parent只是一个名称的时候需要先找到环节对象
160
- if (typeof (parent) === 'string') {
161
- parent = getParent(parent)
162
- }
163
- switch (position) {
164
- case 'up':
165
- case 'top':
166
- return { position: 'up', x: parent.x + parent.width / 2, y: parent.y }
167
- case 'right':
168
- return { position: 'right', x: parent.x + parent.width, y: parent.y + parent.height / 2 }
169
- case 'down':
170
- case 'bottom':
171
- return { position: 'down', x: parent.x + parent.width / 2, y: parent.y + parent.height }
172
- case 'left':
173
- return { position: 'left', x: parent.x, y: parent.y + parent.height / 2 }
174
- default:
175
- return { position: '', x: parent.x, y: parent.y }
176
- }
177
- }
178
- // 根据鼠标的位置clientX,clientY算出对应的SVG中的坐标
179
- function getMousePosition(evt) {
180
- const CTM = document.getElementById('svg').getScreenCTM()
181
- return {
182
- x: (evt.clientX - CTM.e) / CTM.a,
183
- y: (evt.clientY - CTM.f) / CTM.d
184
- }
185
- }
186
- // 根据svg中鼠标按下的位置算出对应在html中的鼠标位置
187
- function getClientMousePosition() {
188
- const CTM = document.getElementById('svg').getScreenCTM()
189
- const mouseDownPosition = getStore().getters['wfEditor/mouseDownPosition']
190
- return {
191
- x: mouseDownPosition.x * CTM.a + CTM.e,
192
- y: mouseDownPosition.y * CTM.d + CTM.f
193
- }
194
- }
195
- function getMouseOffset(event, tache) {
196
- if (event.target.classList.contains('draggable')) {
197
- const offset = getMousePosition(event)
198
- offset.x -= tache.x
199
- offset.y -= tache.y
200
- return offset
201
- }
202
- }
203
- function getVirtualRegion(startPoint, endPoint) {
204
- if (!startPoint || !endPoint) {
205
- return {}
206
- }
207
- const { x: x1, y: y1 } = startPoint
208
- const { x: x2, y: y2 } = endPoint
209
- var area = {
210
- x: 0,
211
- y: 0,
212
- width: Math.abs(x2 - x1),
213
- height: Math.abs(y2 - y1)
214
- }
215
- if (x1 <= x2) {
216
- if (y1 <= y2) { // p2在p1的右下方
217
- area.x = x1
218
- area.y = y1
219
- } else { // p2在p1的右上方
220
- area.x = x1
221
- area.y = y2
222
- }
223
- } else {
224
- if (y1 >= y2) { // p2在p1的左上方
225
- area.x = x2
226
- area.y = y2
227
- } else {
228
- area.x = x2
229
- area.y = y1
230
- }
231
- }
232
- return area
233
- }
234
- // 根据选中的环节裁剪选择区域
235
- function getRealRegion(taches) {
236
- let minX, minY
237
- minX = minY = 10000
238
- let maxX, maxY
239
- maxX = maxY = 0
240
- for (const tache of taches) {
241
- if (minX > tache.x) {
242
- minX = tache.x
243
- }
244
- if (minY > tache.y) {
245
- minY = tache.y
246
- }
247
- if (maxX < (tache.x + tache.width)) {
248
- maxX = tache.x + tache.width
249
- }
250
- if (maxY < (tache.y + tache.height)) {
251
- maxY = tache.y + tache.height
252
- }
253
- }
254
- return {
255
- x: minX - 10,
256
- y: minY - 10,
257
- width: maxX - minX + 20,
258
- height: maxY - minY + 20
259
- }
260
- }
261
- function startDragTache(event, vm) {
262
- // 清除选中的环节或者流向
263
- clearAllSelectedComponents()
264
- // 清除选择区域
265
- vm.$parent.region = null
266
- // 不是显示流转历史的时候,需要选中当前环节
267
- if (!vm.$parent.showHistory) {
268
- vm.model.isSelected = true
269
- }
270
-
271
- getStore().getters['wfEditor/selectedTaches'].push(vm.model)
272
-
273
- const mouseDownPosition = getMousePosition(event)
274
- getStore().commit('wfEditor/setMouseDownPosition', mouseDownPosition)
275
- getStore().commit('wfEditor/setMovingTache', true)
276
- }
277
- function endDragTache() {
278
- getStore().commit('wfEditor/setMovingTache', false)
279
- getStore().commit('wfEditor/setMouseDownPosition', null)
280
- }
281
- function unselectTaches() {
282
- for (const tache of getStore().getters['wfEditor/selectedTaches']) {
283
- tache.isSelected = false
284
- }
285
- getStore().commit('wfEditor/setSelectedTaches', [])
286
- }
287
- /**
288
- * 包括选中的环节(可能有多个)和流向(0个或1个)
289
- */
290
- function clearAllSelectedComponents() {
291
- unselectTaches()
292
- if (getStore().getters['wfEditor/selectedTransition']) {
293
- getStore().getters['wfEditor/selectedTransition'].isSelected = false
294
- }
295
- getStore().commit('wfEditor/setSelectedTransition', null)
296
- }
297
-
298
- /**
299
- * 通过xml-js库生成的js对象包含_text属性,需要把这个属性去掉,把值复制给父属性
300
- * 如x:{_text:50}需要变成x:50
301
- * @param {包含_text属性的对象} obj
302
- */
303
- function removeTextProperty(obj) {
304
- const keys = Object.getOwnPropertyNames(obj)
305
- keys.forEach(function (key) {
306
- if (typeof obj[key] === 'object') {
307
- if (obj[key]._text !== undefined) {
308
- obj[key] = obj[key]._text
309
- return
310
- } else {
311
- if (Object.keys(obj[key]).length > 0) {
312
- removeTextProperty(obj[key])
313
- } else {
314
- // 如果是空对象就转换为字符串,js-xml库会把每个xml节点都转换为对象,对底层的空节点应该是字符串,其他类型应该给默认值,true,0等
315
- // variables和events节点不是最底层节点,有时候也会为空,不能处理他们
316
- const specialNodes = ['variables', 'events', 'autoFilledFields']
317
- if (specialNodes.indexOf(key) < 0) {
318
- obj[key] = ''
319
- }
320
- }
321
- }
322
- }
323
- })
324
- }
325
- function generateTaches(type, arr) {
326
- if (!arr) arr = []
327
- if (!Array.isArray(arr)) {
328
- arr = [arr]
329
- }
330
- const taches = getStore().getters['wfEditor/taches']
331
- for (const task of arr) {
332
- const tache = {
333
- id: task.attr.id,
334
- name: task.attr.name,
335
- // +号是把文本转换成数字的快捷方式
336
- x: task.g.x,
337
- y: task.g.y,
338
- width: task.g.width,
339
- height: task.g.height,
340
- type: type,
341
- isSelected: false,
342
- ref: task
343
- }
344
- taches.push(tache)
345
- }
346
- }
347
- function generateTransitions(type, arr) {
348
- if (!arr) arr = []
349
- if (!Array.isArray(arr)) {
350
- arr = [arr]
351
- }
352
- const transitions = getStore().getters['wfEditor/transitions']
353
- for (const transition of arr) {
354
- const remark = transition.basicProperties.remark || ''
355
- const model = {
356
- id: transition.attr.id,
357
- startJoint: { parent: findTacheById(transition.attr.from), position: transition.g.fromJoint },
358
- endJoint: { parent: findTacheById(transition.attr.to), position: transition.g.toJoint },
359
- isSelected: false,
360
- remark: remark,
361
- lineInfo: {
362
- type: transition.g.lineType,
363
- controlPoint: null
364
- },
365
- ref: transition
366
- }
367
- // 曲线的话会有控制点,如果以后要存多个控制点,就以'x1,y1 x2,y2 x3,y3'的形式来保存,目前只有一个控制点
368
- if (transition.g.lineType === 'CurveLine' && transition.g.coordinate) {
369
- const point = transition.g.coordinate.split(',')
370
- model.lineInfo.controlPoint = {
371
- x: point[0],
372
- y: point[1]
373
- }
374
- } else if (transition.g.lineType === 'BrokenLine' && transition.g.coordinate) {
375
- const points = transition.g.coordinate.split(';')
376
- const controlPoints = []
377
- points.forEach(pointXY => {
378
- if (pointXY !== '') {
379
- const point = pointXY.split(',')
380
- controlPoints.push({ x: point[0], y: point[1] })
381
- }
382
- })
383
- model.lineInfo.controlPoint = controlPoints
384
- }
385
- transitions.push(model)
386
- }
387
- }
388
- function initializeProcessData(process) {
389
- if (!process) return
390
- generateTaches('HumanTask', process.humanTask)
391
- generateTaches('Decision', process.decision)
392
- generateTaches('Fork', process.fork)
393
- generateTaches('Join', process.join)
394
- generateTaches('Subprocess', process.subprocess)
395
- generateTaches('HumanDecision', process.humanDecision)
396
- generateTaches('CopyTask', process.copyTask)
397
- generateTaches('AutoTask', process.autoTask)
398
- generateTaches('Start', process.start)
399
- generateTaches('End', process.end)
400
- generateTransitions('Transition', process.transition)
401
- }
402
- function findOutgoingTransitionsByTacheId(tacheId) {
403
- const transitions = getStore().getters['wfEditor/transitions']
404
- const result = transitions.filter(transition => {
405
- return transition.startJoint.parent.id === tacheId || transition.ref.attr.from === tacheId
406
- })
407
- return result
408
- }
409
-
410
- function findIncomingTransitionsByTacheId(tacheId) {
411
- const transitions = getStore().getters['wfEditor/transitions']
412
- const result = transitions.filter(transition => {
413
- return transition.endJoint.parent.id === tacheId || transition.ref.attr.to === tacheId
414
- })
415
- return result
416
- }
417
-
418
- function findTacheById(tacheId) {
419
- const taches = getStore().getters['wfEditor/taches']
420
- const tache = taches.filter(tache => {
421
- return tache.ref.attr.id === tacheId
422
- })
423
- if (tache.length > 0) {
424
- return tache[0]
425
- } else {
426
- return null
427
- }
428
- }
429
- function deepCopy(source) {
430
- return JSON.parse(JSON.stringify(source))
431
- }
432
-
433
- function updateTransitionsWhenTacheIdChanged(newId, oldId) {
434
- const incomingTransitions = findIncomingTransitionsByTacheId(oldId)
435
- incomingTransitions.map(item => {
436
- item.ref.attr.to = newId
437
- item.ref.attr.id = 'flow_' + item.ref.attr.from + '_to_' + item.ref.attr.to
438
- item.id = item.ref.attr.id
439
- })
440
- const outgoingTransitions = findOutgoingTransitionsByTacheId(oldId)
441
- outgoingTransitions.map(item => {
442
- item.ref.attr.from = newId
443
- item.ref.attr.id = 'flow_' + item.ref.attr.from + '_to_' + item.ref.attr.to
444
- item.id = item.ref.attr.id
445
- })
446
- return true
447
- }
448
- function validateTacheCode(vm) {
449
- const tache = findTacheById(vm.formModel.id)
450
- if (tache && tache.id !== vm.id) {
451
- vm.$alert(getI18n().t('workflowEditorMessage.itIsTheSameAsTheExistingLink', { name: tache.name }))
452
- // 编码重复,立即还原id
453
- vm.formModel.id = vm.id
454
- return
455
- }
456
- // 环节编码不重复的时候,就需要更新流入流向的to和流出流向的from属性了,同时把编码值回传给父组件
457
- updateTransitionsWhenTacheIdChanged(vm.formModel.id, vm.id)
458
- // 支持.snyc修饰符的写法
459
- vm.$emit('update:id', vm.formModel.id)
460
- }
461
-
462
- function watchShowName(vm, newVal) {
463
- let showName = ''
464
- if (vm.processI18n && vm.model.ref && vm.model.ref.basicProperties && vm.model.ref.basicProperties.i18nKey) {
465
- const i18nKey = vm.model.ref.basicProperties.i18nKey
466
- const language = getLanguageWithLocale()
467
- if (vm.processI18n[i18nKey]) {
468
- showName = vm.processI18n[i18nKey][language]
469
- }
470
- if (!showName) {
471
- showName = newVal
472
- }
473
- } else {
474
- showName = newVal
475
- }
476
- return showName
477
- }
478
- export {
479
- clearAllSelectedComponents, deepCopy, endDragTache, findIncomingTransitionsByTacheId, findOutgoingTransitionsByTacheId, findTacheById, getClientMousePosition, getComponentInfo, getI18n, getJoint, getMouseOffset, getMousePosition, getRealRegion, getVirtualRegion, initializeProcessData, removeTextProperty, startDragTache, updateTransitionsWhenTacheIdChanged,
480
- validateTacheCode, watchShowName
481
- }
482
-
483
- const processTemplate = {
484
- newProcess,
485
- newHumanTask,
486
- newDecision,
487
- newStart,
488
- newEnd,
489
- newTransition,
490
- newSubprocess,
491
- newFork,
492
- newJoin,
493
- newHumanDecision,
494
- newCopyTask,
495
- newAutoTask
496
- }
497
-
498
- export { processTemplate }
499
-