workflow-editor 0.0.81-up → 0.0.81-up-tmp2

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 (175) hide show
  1. package/dist/index.full.min.js +3237 -0
  2. package/dist/style.css +1 -0
  3. package/es/_virtual/FileSaver.min.mjs +4 -0
  4. package/es/_virtual/___vite-browser-external.mjs +6 -0
  5. package/es/_virtual/__vite-browser-external.mjs +4 -0
  6. package/es/_virtual/_commonjsHelpers.mjs +30 -0
  7. package/es/_virtual/_plugin-vue_export-helper.mjs +9 -0
  8. package/es/_virtual/clipboard.mjs +4 -0
  9. package/es/_virtual/dayjs.min.mjs +4 -0
  10. package/es/_virtual/index.mjs +4 -0
  11. package/es/_virtual/nprogress.mjs +4 -0
  12. package/es/_virtual/prism.mjs +4 -0
  13. package/es/_virtual/sax.mjs +4 -0
  14. package/es/_virtual/string_decoder.mjs +4 -0
  15. package/es/_virtual/tinymce.mjs +4 -0
  16. package/es/_virtual/weekOfYear.mjs +4 -0
  17. package/es/index.mjs +20 -0
  18. package/es/plugins/formValidatorUtil.mjs +391 -0
  19. package/es/plugins/index.mjs +9 -0
  20. package/es/style.css +1 -0
  21. package/es/vite.svg +1 -0
  22. package/es/workflow-editor/index.mjs +14 -0
  23. package/lib/_virtual/FileSaver.min.cjs +1 -0
  24. package/lib/_virtual/___vite-browser-external.cjs +1 -0
  25. package/lib/_virtual/__vite-browser-external.cjs +1 -0
  26. package/lib/_virtual/_commonjsHelpers.cjs +1 -0
  27. package/lib/_virtual/_plugin-vue_export-helper.cjs +1 -0
  28. package/lib/_virtual/clipboard.cjs +1 -0
  29. package/lib/_virtual/dayjs.min.cjs +1 -0
  30. package/lib/_virtual/index.cjs +1 -0
  31. package/lib/_virtual/nprogress.cjs +1 -0
  32. package/lib/_virtual/prism.cjs +1 -0
  33. package/lib/_virtual/sax.cjs +1 -0
  34. package/lib/_virtual/string_decoder.cjs +1 -0
  35. package/lib/_virtual/tinymce.cjs +1 -0
  36. package/lib/_virtual/weekOfYear.cjs +1 -0
  37. package/lib/index.cjs +1 -0
  38. package/lib/plugins/formValidatorUtil.cjs +1 -0
  39. package/lib/plugins/index.cjs +1 -0
  40. package/lib/style.css +1 -0
  41. package/lib/workflow-editor/index.cjs +1 -0
  42. package/package.json +5 -3
  43. package/vite.config.js +49 -11
  44. package/lib/401-5a92e011.js +0 -101
  45. package/lib/404-2e472acc.js +0 -26
  46. package/lib/authredirect-ae6e75b4.js +0 -10
  47. package/lib/iframe-page-4e84c0f8.js +0 -33
  48. package/lib/index-27119bd2.js +0 -31464
  49. package/lib/index-369eae4a.js +0 -13
  50. package/lib/tab-content-iframe-index-e9146736.js +0 -33
  51. package/lib/tab-content-index-bbc6792b.js +0 -1241
  52. package/lib/tache-subprocess-history-d51d6a50.js +0 -56
  53. package/lib/workflow-editor.css +0 -1
  54. package/lib/workflow-editor.js +0 -5
  55. package/lib/workflow-editor.umd.cjs +0 -85
  56. package/packages/index.js +0 -34
  57. package/packages/plugins/formValidatorUtil.js +0 -723
  58. package/packages/plugins/index.js +0 -8
  59. package/packages/workflow-editor/index.js +0 -14
  60. package/packages/workflow-editor/src/api.js +0 -7
  61. package/packages/workflow-editor/src/assets/tab-select.png +0 -0
  62. package/packages/workflow-editor/src/assets/tab-selectWhite.png +0 -0
  63. package/packages/workflow-editor/src/assets/wf-editor-icons.js +0 -2
  64. package/packages/workflow-editor/src/constant.js +0 -8
  65. package/packages/workflow-editor/src/json-object-templates/auto-task.js +0 -70
  66. package/packages/workflow-editor/src/json-object-templates/copy-task.js +0 -72
  67. package/packages/workflow-editor/src/json-object-templates/decision.js +0 -11
  68. package/packages/workflow-editor/src/json-object-templates/end.js +0 -14
  69. package/packages/workflow-editor/src/json-object-templates/fork.js +0 -10
  70. package/packages/workflow-editor/src/json-object-templates/human-decision.js +0 -9
  71. package/packages/workflow-editor/src/json-object-templates/human-task.js +0 -208
  72. package/packages/workflow-editor/src/json-object-templates/join.js +0 -10
  73. package/packages/workflow-editor/src/json-object-templates/process.js +0 -99
  74. package/packages/workflow-editor/src/json-object-templates/start.js +0 -13
  75. package/packages/workflow-editor/src/json-object-templates/subprocess.js +0 -31
  76. package/packages/workflow-editor/src/json-object-templates/transition.js +0 -26
  77. package/packages/workflow-editor/src/main/admin-save-dialog.vue +0 -67
  78. package/packages/workflow-editor/src/main/canvas.vue +0 -493
  79. package/packages/workflow-editor/src/main/context-menu.vue +0 -147
  80. package/packages/workflow-editor/src/main/icon-svg.vue +0 -32
  81. package/packages/workflow-editor/src/main/selection-region.vue +0 -66
  82. package/packages/workflow-editor/src/main/tache-history-tooltip.vue +0 -38
  83. package/packages/workflow-editor/src/main/tache-name-input.vue +0 -19
  84. package/packages/workflow-editor/src/main/tache-subprocess-history-dialog.vue +0 -40
  85. package/packages/workflow-editor/src/main/toolbox.vue +0 -60
  86. package/packages/workflow-editor/src/main/wf-history-canvas.vue +0 -309
  87. package/packages/workflow-editor/src/process-json.js +0 -624
  88. package/packages/workflow-editor/src/process-service.js +0 -69
  89. package/packages/workflow-editor/src/properties-editors/auto-task/basic-properties.vue +0 -81
  90. package/packages/workflow-editor/src/properties-editors/auto-task/permission-settings.vue +0 -155
  91. package/packages/workflow-editor/src/properties-editors/auto-task.vue +0 -74
  92. package/packages/workflow-editor/src/properties-editors/common/additional-condition-utils.js +0 -568
  93. package/packages/workflow-editor/src/properties-editors/common/additional-condition.vue +0 -320
  94. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields-utils.js +0 -34
  95. package/packages/workflow-editor/src/properties-editors/common/auto-filled-fields.vue +0 -268
  96. package/packages/workflow-editor/src/properties-editors/common/common-notice-tool.vue +0 -81
  97. package/packages/workflow-editor/src/properties-editors/common/common-user-condition.vue +0 -242
  98. package/packages/workflow-editor/src/properties-editors/common/form-fields-utils.js +0 -23
  99. package/packages/workflow-editor/src/properties-editors/common/form-fields.vue +0 -117
  100. package/packages/workflow-editor/src/properties-editors/common/i18n-input.vue +0 -88
  101. package/packages/workflow-editor/src/properties-editors/common/i18n-set-dialog.vue +0 -143
  102. package/packages/workflow-editor/src/properties-editors/common/notice-reminder.vue +0 -149
  103. package/packages/workflow-editor/src/properties-editors/common/notice.vue +0 -108
  104. package/packages/workflow-editor/src/properties-editors/common/reminder.vue +0 -272
  105. package/packages/workflow-editor/src/properties-editors/common/select-mail-template.vue +0 -92
  106. package/packages/workflow-editor/src/properties-editors/common/standard-fields.vue +0 -66
  107. package/packages/workflow-editor/src/properties-editors/common/system-role-tree-inline.vue +0 -354
  108. package/packages/workflow-editor/src/properties-editors/common/system-role-tree.vue +0 -68
  109. package/packages/workflow-editor/src/properties-editors/common/task-title.vue +0 -165
  110. package/packages/workflow-editor/src/properties-editors/common/transactor-settings.vue +0 -275
  111. package/packages/workflow-editor/src/properties-editors/common/user-selection.vue +0 -426
  112. package/packages/workflow-editor/src/properties-editors/common/value-selection-dialog.vue +0 -272
  113. package/packages/workflow-editor/src/properties-editors/common/variables.vue +0 -139
  114. package/packages/workflow-editor/src/properties-editors/copy-task/basic-properties.vue +0 -90
  115. package/packages/workflow-editor/src/properties-editors/copy-task/permission-settings.vue +0 -155
  116. package/packages/workflow-editor/src/properties-editors/copy-task.vue +0 -95
  117. package/packages/workflow-editor/src/properties-editors/decision.vue +0 -95
  118. package/packages/workflow-editor/src/properties-editors/fork.vue +0 -77
  119. package/packages/workflow-editor/src/properties-editors/human-decision.vue +0 -49
  120. package/packages/workflow-editor/src/properties-editors/human-task/additional-condition-dialog.vue +0 -62
  121. package/packages/workflow-editor/src/properties-editors/human-task/basic-properties.vue +0 -184
  122. package/packages/workflow-editor/src/properties-editors/human-task/componentsConfigUtil.js +0 -359
  123. package/packages/workflow-editor/src/properties-editors/human-task/custom-actions.vue +0 -256
  124. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-field-setting.vue +0 -405
  125. package/packages/workflow-editor/src/properties-editors/human-task/editable-child-fields.vue +0 -257
  126. package/packages/workflow-editor/src/properties-editors/human-task/editable-field-selection.vue +0 -430
  127. package/packages/workflow-editor/src/properties-editors/human-task/editable-fields.vue +0 -206
  128. package/packages/workflow-editor/src/properties-editors/human-task/events.vue +0 -60
  129. package/packages/workflow-editor/src/properties-editors/human-task/permission-settings.vue +0 -224
  130. package/packages/workflow-editor/src/properties-editors/human-task/selection-conditions.vue +0 -499
  131. package/packages/workflow-editor/src/properties-editors/human-task.vue +0 -107
  132. package/packages/workflow-editor/src/properties-editors/join.vue +0 -49
  133. package/packages/workflow-editor/src/properties-editors/process/basic-properties.vue +0 -336
  134. package/packages/workflow-editor/src/properties-editors/process/events.vue +0 -79
  135. package/packages/workflow-editor/src/properties-editors/process/notice-settings.vue +0 -68
  136. package/packages/workflow-editor/src/properties-editors/process/parameter-settings.vue +0 -106
  137. package/packages/workflow-editor/src/properties-editors/process/permission-settings.vue +0 -28
  138. package/packages/workflow-editor/src/properties-editors/process/selectPage.vue +0 -88
  139. package/packages/workflow-editor/src/properties-editors/process.vue +0 -115
  140. package/packages/workflow-editor/src/properties-editors/subprocess/basic-properties.vue +0 -201
  141. package/packages/workflow-editor/src/properties-editors/subprocess/events.vue +0 -26
  142. package/packages/workflow-editor/src/properties-editors/subprocess/field-mappings.vue +0 -216
  143. package/packages/workflow-editor/src/properties-editors/subprocess/transactor-settings.vue +0 -66
  144. package/packages/workflow-editor/src/properties-editors/subprocess.vue +0 -80
  145. package/packages/workflow-editor/src/properties-editors/transition/basic-properties.vue +0 -53
  146. package/packages/workflow-editor/src/properties-editors/transition.vue +0 -75
  147. package/packages/workflow-editor/src/properties-editors/user-condition.js +0 -183
  148. package/packages/workflow-editor/src/store/getters.js +0 -33
  149. package/packages/workflow-editor/src/store/workflow-editor.js +0 -153
  150. package/packages/workflow-editor/src/taches/auto-task.vue +0 -99
  151. package/packages/workflow-editor/src/taches/common-methods.js +0 -21
  152. package/packages/workflow-editor/src/taches/copy-task.vue +0 -99
  153. package/packages/workflow-editor/src/taches/custom-task.vue +0 -88
  154. package/packages/workflow-editor/src/taches/decision.vue +0 -102
  155. package/packages/workflow-editor/src/taches/end.vue +0 -76
  156. package/packages/workflow-editor/src/taches/fork.vue +0 -102
  157. package/packages/workflow-editor/src/taches/human-decision.vue +0 -102
  158. package/packages/workflow-editor/src/taches/human-task.vue +0 -113
  159. package/packages/workflow-editor/src/taches/join.vue +0 -91
  160. package/packages/workflow-editor/src/taches/joint.vue +0 -177
  161. package/packages/workflow-editor/src/taches/start.vue +0 -76
  162. package/packages/workflow-editor/src/taches/subprocess.vue +0 -99
  163. package/packages/workflow-editor/src/taches/tache-resizer.vue +0 -80
  164. package/packages/workflow-editor/src/transitions/broken-line.vue +0 -91
  165. package/packages/workflow-editor/src/transitions/curve-line.vue +0 -91
  166. package/packages/workflow-editor/src/transitions/straight-line.vue +0 -26
  167. package/packages/workflow-editor/src/transitions/transition.vue +0 -209
  168. package/packages/workflow-editor/src/transitions/virtual-transition.vue +0 -43
  169. package/packages/workflow-editor/src/util.js +0 -499
  170. package/packages/workflow-editor/src/workflow-editor.vue +0 -852
  171. package/packages/workflow-editor/src/workflow-history.vue +0 -153
  172. package/src/i18n/i18n.js +0 -16
  173. package/src/i18n/langs/cn.js +0 -521
  174. package/src/i18n/langs/en.js +0 -529
  175. /package/{public → dist}/vite.svg +0 -0
@@ -1,499 +0,0 @@
1
-
2
- import { getLanguageWithLocale } from 'agilebuilder-ui/src/utils/util'
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
-