@processmaker/modeler 1.32.0 → 1.34.0

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 (101) hide show
  1. package/README.md +7 -0
  2. package/babel.config.js +1 -2
  3. package/cypress.json +1 -1
  4. package/dist/img/inclusive-gateway.0f0afffd.svg +4 -0
  5. package/dist/img/inspector.42e5d40d.svg +5 -0
  6. package/dist/modeler.common.js +3220 -4350
  7. package/dist/modeler.common.js.map +1 -1
  8. package/dist/modeler.umd.js +3220 -4350
  9. package/dist/modeler.umd.js.map +1 -1
  10. package/dist/modeler.umd.min.js +4 -4
  11. package/dist/modeler.umd.min.js.map +1 -1
  12. package/package.json +1 -1
  13. package/src/.DS_Store +0 -0
  14. package/src/ModelerApp.vue +0 -13
  15. package/src/NodeIdGenerator.js +16 -1
  16. package/src/assets/inspector.svg +5 -0
  17. package/src/assets/toolpanel/inclusive-gateway.svg +2 -2
  18. package/src/components/controls/controls.vue +2 -11
  19. package/src/components/crown/crownButtons/addLaneAboveButton.vue +3 -1
  20. package/src/components/crown/crownButtons/addLaneBelowButton.vue +3 -1
  21. package/src/components/crown/crownButtons/crownBoundaryEventDropdown.vue +2 -1
  22. package/src/components/crown/crownButtons/genericFlowButton.vue +2 -1
  23. package/src/components/crown/crownButtons/icons/faAlignBottom.js +3 -3
  24. package/src/components/crown/crownButtons/icons/faAlignLeft.js +3 -3
  25. package/src/components/crown/crownButtons/icons/faAlignRight.js +3 -3
  26. package/src/components/crown/crownButtons/icons/faAlignTop.js +3 -3
  27. package/src/components/crown/crownButtons/icons/faCenterHorizontally.js +3 -3
  28. package/src/components/crown/crownButtons/icons/faCenterVertically.js +3 -3
  29. package/src/components/crown/crownButtons/icons/faDistributeHorizontally.js +3 -3
  30. package/src/components/crown/crownButtons/icons/faDistributeVertically.js +3 -3
  31. package/src/components/crown/crownMultiselect/crownAlign.vue +3 -0
  32. package/src/components/crown/crownMultiselect/crownMultiselect.vue +7 -5
  33. package/src/components/highlightColors.js +8 -0
  34. package/src/components/inspectors/InspectorPanel.vue +26 -3
  35. package/src/components/inspectors/inspector.scss +11 -0
  36. package/src/components/inspectors/inspectorButton/InspectorButton.vue +38 -0
  37. package/src/components/inspectors/inspectorButton/inspectorButton.scss +20 -0
  38. package/src/components/inspectors/process.js +1 -1
  39. package/src/components/modeler/Modeler.vue +102 -5
  40. package/src/components/modeler/Selection.vue +9 -1
  41. package/src/components/nodes/association/index.js +1 -1
  42. package/src/components/nodes/baseStartEvent/index.js +1 -1
  43. package/src/components/nodes/boundaryEvent/index.js +1 -1
  44. package/src/components/nodes/dataInputAssociation/index.js +1 -1
  45. package/src/components/nodes/dataObject/index.js +1 -1
  46. package/src/components/nodes/dataOutputAssociation/index.js +1 -1
  47. package/src/components/nodes/dataStore/index.js +1 -1
  48. package/src/components/nodes/endEvent/index.js +1 -1
  49. package/src/components/nodes/eventBasedGateway/index.js +1 -1
  50. package/src/components/nodes/exclusiveGateway/index.js +1 -1
  51. package/src/components/nodes/gateway/index.js +1 -1
  52. package/src/components/nodes/inclusiveGateway/index.js +1 -1
  53. package/src/components/nodes/index.js +0 -1
  54. package/src/components/nodes/intermediateEvent/index.js +1 -1
  55. package/src/components/nodes/intermediateMessageEvent/index.js +1 -1
  56. package/src/components/nodes/intermediateTimerEvent/index.js +1 -1
  57. package/src/components/nodes/manualTask/index.js +1 -1
  58. package/src/components/nodes/messageFlow/index.js +1 -1
  59. package/src/components/nodes/parallelGateway/index.js +1 -1
  60. package/src/components/nodes/pool/index.js +1 -1
  61. package/src/components/nodes/pool/pool.vue +10 -4
  62. package/src/components/nodes/poolLane/index.js +1 -1
  63. package/src/components/nodes/scriptTask/index.js +1 -1
  64. package/src/components/nodes/sequenceFlow/index.js +1 -1
  65. package/src/components/nodes/serviceTask/index.js +1 -1
  66. package/src/components/nodes/subProcess/index.js +1 -1
  67. package/src/components/nodes/task/index.js +1 -1
  68. package/src/components/nodes/textAnnotation/index.js +1 -1
  69. package/src/components/railBottom/RailBottom.vue +9 -0
  70. package/src/components/railBottom/controls/Controls.vue +22 -2
  71. package/src/components/railBottom/controls/SubmenuPopper/SubmenuPopper.vue +9 -7
  72. package/src/components/railBottom/controls/controls.scss +2 -0
  73. package/src/components/railBottom/miniPaperControl/miniPaperControl.scss +1 -0
  74. package/src/components/railBottom/railBottom.scss +2 -0
  75. package/src/components/railBottom/zoomControl/ZoomControl.vue +1 -3
  76. package/src/components/rails/explorer-rail/explorer-rail.scss +11 -0
  77. package/src/components/rails/explorer-rail/explorer.vue +14 -5
  78. package/src/components/rails/explorer-rail/filterNodeTypes/filterNodeTypes.vue +18 -3
  79. package/src/components/rails/explorer-rail/nodeTypesLoop/nodeTypesLoop.vue +6 -1
  80. package/src/components/rails/explorer-rail/pmBlocksLoop/pmBlocksLoop.vue +86 -0
  81. package/src/components/shapeStackUtils.js +1 -1
  82. package/src/components/toolbar/ToolBar.vue +49 -39
  83. package/src/components/toolbar/toolbar.scss +78 -15
  84. package/src/components/topRail/TopRail.vue +1 -0
  85. package/src/components/topRail/validateControl/validateButton/ValidateButton.vue +3 -0
  86. package/src/components/topRail/validateControl/validateIssue/ValidateIssue.vue +1 -0
  87. package/src/components/topRail/validateControl/validatePanel/ValidatePanel.vue +4 -1
  88. package/src/components/topRail/validateControl/validatePanel/validatePanel.scss +1 -1
  89. package/src/mixins/clickAndDrop.js +17 -10
  90. package/src/mixins/highlightConfig.js +35 -8
  91. package/src/mixins/linkConfig.js +33 -6
  92. package/src/nodeTypesStore.js +36 -1
  93. package/src/setup/registerPmBlock.js +0 -0
  94. package/src/store.js +1 -0
  95. package/vue.config.js +1 -0
  96. package/dist/.DS_Store +0 -0
  97. package/dist/img/distribute-horizontally-icon.5c513cf4.svg +0 -3
  98. package/dist/img/distribute-vertically-icon.a35fb699.svg +0 -3
  99. package/dist/img/inclusive-gateway.754cb36f.svg +0 -4
  100. package/src/components/controls/rankConstants.js +0 -1
  101. package/src/components/modeler/ModelerReadonly.vue +0 -1011
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <span data-test="body-container">
3
3
  <tool-bar
4
+ v-if="showComponent"
4
5
  :canvas-drag-position="canvasDragPosition"
5
6
  :cursor="cursor"
6
7
  :is-rendering="isRendering"
@@ -10,11 +11,13 @@
10
11
  :validation-errors="validationErrors"
11
12
  :warnings="allWarnings"
12
13
  :xml-manager="xmlManager"
14
+ :validationBar="validationBar"
13
15
  @load-xml="loadXML"
14
16
  @toggle-panels-compressed="panelsCompressed = !panelsCompressed"
15
17
  @toggle-mini-map-open="miniMapOpen = $event"
16
18
  @saveBpmn="saveBpmn"
17
19
  @publishTemplate="publishTemplate"
20
+ @publishPmBlock="publishPmBlock"
18
21
  @close="close"
19
22
  @save-state="pushToUndoStack"
20
23
  @clearSelection="clearSelection"
@@ -27,7 +30,9 @@
27
30
  :title="tooltipTitle"
28
31
  />
29
32
  <explorer-rail
33
+ v-if="showComponent"
30
34
  :node-types="nodeTypes"
35
+ :pm-block-nodes="pmBlockNodes"
31
36
  @set-cursor="cursor = $event"
32
37
  @onCreateElement="onCreateElementHandler"
33
38
  />
@@ -41,9 +46,16 @@
41
46
  <div ref="paper" data-test="paper" class="main-paper" />
42
47
  </b-col>
43
48
 
49
+ <InspectorButton
50
+ v-if="showComponent"
51
+ :showInspector="isOpenInspector"
52
+ @toggleInspector="handleToggleInspector"
53
+ />
54
+
44
55
  <InspectorPanel
56
+ v-if="showComponent"
45
57
  ref="inspector-panel"
46
- v-show="!(highlightedNodes.length > 1)"
58
+ v-show="isOpenInspector && !(highlightedNodes.length > 1)"
47
59
  :style="{ height: parentHeight }"
48
60
  :nodeRegistry="nodeRegistry"
49
61
  :moddle="moddle"
@@ -53,8 +65,8 @@
53
65
  class="inspector h-100"
54
66
  :parent-height="parentHeight"
55
67
  :canvas-drag-position="canvasDragPosition"
56
- :compressed="panelsCompressed && noElementsSelected"
57
68
  @shape-resize="shapeResize(false)"
69
+ @toggleInspector="handleToggleInspector"
58
70
  />
59
71
 
60
72
  <component
@@ -79,8 +91,11 @@
79
91
  :isRendering="isRendering"
80
92
  :paperManager="paperManager"
81
93
  :auto-validate="autoValidate"
82
- :is-active="node === activeNode"
83
94
  :node-id-generator="nodeIdGenerator"
95
+ :is-active="node === activeNode"
96
+ :is-completed="requestCompletedNodes.includes(node.definition.id)"
97
+ :is-in-progress="requestInProgressNodes.includes(node.definition.id)"
98
+ :is-idle="requestIdleNodes.includes(node.definition.id)"
84
99
  @add-node="addNode"
85
100
  @remove-node="removeNode"
86
101
  @set-cursor="cursor = $event"
@@ -138,6 +153,8 @@ import ExplorerRail from '../rails/explorer-rail/explorer';
138
153
  import pull from 'lodash/pull';
139
154
  import remove from 'lodash/remove';
140
155
  import store from '@/store';
156
+ import nodeTypesStore from '@/nodeTypesStore';
157
+ import InspectorButton from '@/components/inspectors/inspectorButton/InspectorButton.vue';
141
158
  import InspectorPanel from '@/components/inspectors/InspectorPanel';
142
159
  import undoRedoStore from '@/undoRedoStore';
143
160
  import { Linter } from 'bpmnlint';
@@ -188,6 +205,7 @@ export default {
188
205
  components: {
189
206
  ToolBar,
190
207
  ExplorerRail,
208
+ InspectorButton,
191
209
  InspectorPanel,
192
210
  ProcessmakerModelerGenericFlow,
193
211
  Selection,
@@ -201,6 +219,25 @@ export default {
201
219
  return {};
202
220
  },
203
221
  },
222
+ readOnly: {
223
+ type: Boolean,
224
+ default() {
225
+ return false;
226
+ },
227
+ },
228
+ validationBar: Array,
229
+ requestIdleNodes: {
230
+ type: Array,
231
+ default: () => [],
232
+ },
233
+ requestCompletedNodes: {
234
+ type: Array,
235
+ default: () => [],
236
+ },
237
+ requestInProgressNodes: {
238
+ type: Array,
239
+ default: () => [],
240
+ },
204
241
  },
205
242
  mixins: [hotkeys, cloneSelection],
206
243
  data() {
@@ -240,10 +277,12 @@ export default {
240
277
  validationErrors: {},
241
278
  miniMapOpen: false,
242
279
  panelsCompressed: false,
280
+ isOpenInspector: false,
243
281
  isGrabbing: false,
244
282
  isRendering: false,
245
283
  allWarnings: [],
246
284
  nodeTypes: [],
285
+ pmBlockNodes: [],
247
286
  breadcrumbData: [],
248
287
  activeNode: null,
249
288
  xmlManager: null,
@@ -312,8 +351,12 @@ export default {
312
351
  invalidNodes() {
313
352
  return getInvalidNodes(this.validationErrors, this.nodes);
314
353
  },
354
+ showComponent: () => store.getters.showComponent,
315
355
  },
316
356
  methods: {
357
+ handleToggleInspector(value) {
358
+ this.isOpenInspector = value;
359
+ },
317
360
  isAppleOS() {
318
361
  return typeof navigator !== 'undefined' && /Mac|iPad|iPhone/.test(navigator.platform);
319
362
  },
@@ -360,6 +403,9 @@ export default {
360
403
  publishTemplate() {
361
404
  this.$emit('publishTemplate');
362
405
  },
406
+ publishPmBlock() {
407
+ this.$emit('publishPmBlock');
408
+ },
363
409
  async pasteElements() {
364
410
  if (this.copiedElements.length > 0 && !this.pasteInProgress) {
365
411
  this.pasteInProgress = true;
@@ -521,8 +567,7 @@ export default {
521
567
  } else {
522
568
  process = this.moddle.create('bpmn:Process');
523
569
  this.processes.push(process);
524
- process.set('id', `process_${this.processes.length}`);
525
-
570
+ process.set('id', this.nodeIdGenerator.generateProcessId());
526
571
  this.definitions.get('rootElements').push(process);
527
572
  }
528
573
 
@@ -618,6 +663,29 @@ export default {
618
663
  this.parsers[bpmnType].default.push(defaultParser);
619
664
  });
620
665
  },
666
+ registerPmBlock(pmBlockNode, customParser) {
667
+ const defaultParser = () => pmBlockNode.id;
668
+
669
+ this.translateConfig(pmBlockNode.inspectorConfig[0]);
670
+ addLoopCharacteristics(pmBlockNode);
671
+ this.nodeRegistry[pmBlockNode.id] = pmBlockNode;
672
+
673
+ Vue.component(pmBlockNode.id, pmBlockNode.component);
674
+ this.pmBlockNodes.push(pmBlockNode);
675
+
676
+ const types = Array.isArray(pmBlockNode.bpmnType)
677
+ ? pmBlockNode.bpmnType
678
+ : [pmBlockNode.bpmnType];
679
+
680
+ types.forEach(bpmnType => {
681
+ if (customParser) {
682
+ this.parsers[bpmnType].custom.push(customParser);
683
+ return;
684
+ }
685
+ this.parsers[bpmnType].default.push(defaultParser);
686
+ });
687
+ nodeTypesStore.commit('setPmBlockNodeTypes', this.pmBlockNodes);
688
+ },
621
689
  addMessageFlows() {
622
690
  if (this.collaboration) {
623
691
  this.collaboration
@@ -1003,6 +1071,15 @@ export default {
1003
1071
  this.$refs.selector.clearSelection();
1004
1072
  await this.$nextTick();
1005
1073
  await this.pushToUndoStack();
1074
+ // force to update the processNode property in every delete
1075
+ this.processes = this.getProcesses();
1076
+ if (this.processes && this.processes.length > 0) {
1077
+ this.processNode = new Node(
1078
+ 'processmaker-modeler-process',
1079
+ this.processes[0],
1080
+ this.planeElements.find(diagram => diagram.bpmnElement.id === this.processes[0].id),
1081
+ );
1082
+ }
1006
1083
  },
1007
1084
  async removeNodes() {
1008
1085
  await this.performSingleUndoRedoTransaction(async() => {
@@ -1181,6 +1258,15 @@ export default {
1181
1258
  },
1182
1259
  pointerMoveHandler(event) {
1183
1260
  const { clientX: x, clientY: y } = event;
1261
+ if (store.getters.isReadOnly) {
1262
+ if (this.canvasDragPosition) {
1263
+ this.paperManager.translate(
1264
+ event.offsetX - this.canvasDragPosition.x,
1265
+ event.offsetY - this.canvasDragPosition.y,
1266
+ );
1267
+ }
1268
+ return;
1269
+ }
1184
1270
  if (this.isGrabbing) return;
1185
1271
  if (this.dragStart && (Math.abs(x - this.dragStart.x) > 5 || Math.abs(y - this.dragStart.y) > 5)) {
1186
1272
  this.isDragging = true;
@@ -1220,6 +1306,7 @@ export default {
1220
1306
  if (runningInCypressTest()) {
1221
1307
  /* Add reference to store on window; this is used in testing to verify rendered nodes */
1222
1308
  window.store = store;
1309
+ window.undoRedoStore = undoRedoStore;
1223
1310
  }
1224
1311
 
1225
1312
  this.$t = this.$t.bind(this);
@@ -1240,6 +1327,7 @@ export default {
1240
1327
  registerBpmnExtension: this.registerBpmnExtension,
1241
1328
  registerNode: this.registerNode,
1242
1329
  registerStatusBar: this.registerStatusBar,
1330
+ registerPmBlock: this.registerPmBlock,
1243
1331
  });
1244
1332
 
1245
1333
  this.moddle = new BpmnModdle(this.extensions);
@@ -1248,6 +1336,7 @@ export default {
1248
1336
  this.$emit('set-xml-manager', this.xmlManager);
1249
1337
  },
1250
1338
  mounted() {
1339
+ store.commit('setReadOnly', this.readOnly);
1251
1340
  this.graph = new dia.Graph();
1252
1341
  store.commit('setGraph', this.graph);
1253
1342
  this.graph.set('interactiveFunc', cellView => {
@@ -1272,6 +1361,9 @@ export default {
1272
1361
 
1273
1362
  this.paperManager.addEventHandler('blank:pointerdown', (event, x, y) => {
1274
1363
  if (this.isGrabbing) return;
1364
+ if (store.getters.isReadOnly) {
1365
+ this.isGrabbing = true;
1366
+ }
1275
1367
  const scale = this.paperManager.scale;
1276
1368
  this.canvasDragPosition = { x: x * scale.sx, y: y * scale.sy };
1277
1369
  this.isOverShape = false;
@@ -1288,6 +1380,7 @@ export default {
1288
1380
  }
1289
1381
  });
1290
1382
  this.paperManager.addEventHandler('blank:pointerup', (event) => {
1383
+ this.isGrabbing = false;
1291
1384
  this.canvasDragPosition = null;
1292
1385
  this.activeNode = null;
1293
1386
  this.pointerUpHandler(event);
@@ -1327,6 +1420,10 @@ export default {
1327
1420
  if (this.isGrabbing) return;
1328
1421
 
1329
1422
  shape.component.$emit('click', event);
1423
+ this.$emit('click', {
1424
+ event,
1425
+ node: this.highlightedNode.definition,
1426
+ });
1330
1427
  });
1331
1428
 
1332
1429
  this.paperManager.addEventHandler('cell:pointerdown', ({ model: shape }, event) => {
@@ -16,6 +16,7 @@
16
16
  :plane-elements="$parent.planeElements"
17
17
  :is-rendering="$parent.isRendering"
18
18
  :dropdown-data="[]"
19
+ @save-state="$emit('save-state')"
19
20
  :has-pools="hasPoolsOrLanesSelected"
20
21
  v-on="$listeners"
21
22
  />
@@ -771,7 +772,7 @@ export default {
771
772
  /**
772
773
  * Stop dragging elements that are in a pool
773
774
  */
774
- overPoolStopDrag(){
775
+ async overPoolStopDrag(){
775
776
  if (this.isNotPoolChilds(this.selected)) {
776
777
  this.updateFlowsWaypoint();
777
778
  this.$emit('save-state');
@@ -788,6 +789,7 @@ export default {
788
789
  if (this.newPool){
789
790
  /* Remove the shape from its current pool */
790
791
  this.moveElements(this.selected, this.oldPool, this.newPool);
792
+ this.moveConectedLinks(this.conectedLinks, this.oldPool, this.newPool);
791
793
  this.newPool = null;
792
794
  this.oldPool = null;
793
795
  this.updateLaneChildren(this.selected);
@@ -920,12 +922,18 @@ export default {
920
922
  const shapesToMove= [
921
923
  'PoolLane',
922
924
  'standard.Link',
925
+ 'processmaker.components.nodes.boundaryEvent.Shape',
923
926
  ];
924
927
  selected.filter(shape => !shapesToMove.includes(shape.model.get('type')))
925
928
  .forEach(shape => {
926
929
  oldPool.model.component.moveElement(shape.model, newPool.model);
927
930
  });
928
931
  },
932
+ moveConectedLinks(links, oldPool, newPool){
933
+ links.forEach(link => {
934
+ oldPool.model.component.moveFlow(link.model, newPool.model);
935
+ });
936
+ },
929
937
  },
930
938
  };
931
939
  </script>
@@ -26,7 +26,7 @@ export default {
26
26
  container: true,
27
27
  config: {
28
28
  initiallyOpen: true,
29
- label: 'Configuration',
29
+ label: 'Properties',
30
30
  icon: 'cog',
31
31
  name: 'inspector-accordion-association',
32
32
  },
@@ -33,7 +33,7 @@ export default {
33
33
  container: true,
34
34
  config: {
35
35
  initiallyOpen: true,
36
- label: 'Configuration',
36
+ label: 'Properties',
37
37
  icon: 'cog',
38
38
  name: 'inspector-accordion-start-event',
39
39
  },
@@ -34,7 +34,7 @@ export default {
34
34
  container: true,
35
35
  config: {
36
36
  initiallyOpen: true,
37
- label: 'Configuration',
37
+ label: 'Properties',
38
38
  icon: 'cog',
39
39
  name: 'inspector-accordion-boundary-event',
40
40
  },
@@ -15,7 +15,7 @@ export default {
15
15
  container: true,
16
16
  config: {
17
17
  initiallyOpen: true,
18
- label: 'Configuration',
18
+ label: 'Properties',
19
19
  icon: 'cog',
20
20
  name: 'inspector-accordion-data-input-association',
21
21
  },
@@ -40,7 +40,7 @@ export default {
40
40
  container: true,
41
41
  config: {
42
42
  initiallyOpen: true,
43
- label: 'Configuration',
43
+ label: 'Properties',
44
44
  icon: 'cog',
45
45
  name: 'inspector-accordion-data-object',
46
46
  },
@@ -15,7 +15,7 @@ export default {
15
15
  container: true,
16
16
  config: {
17
17
  initiallyOpen: true,
18
- label: 'Configuration',
18
+ label: 'Properties',
19
19
  icon: 'cog',
20
20
  name: 'inspector-accordion-data-output-association',
21
21
  },
@@ -40,7 +40,7 @@ export default {
40
40
  container: true,
41
41
  config: {
42
42
  initiallyOpen: true,
43
- label: 'Configuration',
43
+ label: 'Properties',
44
44
  icon: 'cog',
45
45
  name: 'inspector-accordion-data-store',
46
46
  },
@@ -76,7 +76,7 @@ export default {
76
76
  container: true,
77
77
  config: {
78
78
  initiallyOpen: true,
79
- label: 'Configuration',
79
+ label: 'Properties',
80
80
  icon: 'cog',
81
81
  name: 'inspector-accordion-end-event',
82
82
  },
@@ -34,7 +34,7 @@ export default {
34
34
  container: true,
35
35
  config: {
36
36
  initiallyOpen: true,
37
- label: 'Configuration',
37
+ label: 'Properties',
38
38
  icon: 'cog',
39
39
  name: 'inspector-accordion-event-based-gateway',
40
40
  },
@@ -67,7 +67,7 @@ export default {
67
67
  container: true,
68
68
  config: {
69
69
  initiallyOpen: true,
70
- label: 'Configuration',
70
+ label: 'Properties',
71
71
  icon: 'cog',
72
72
  name: 'inspector-accordion-exlcusive-gateway',
73
73
  },
@@ -32,7 +32,7 @@ export default {
32
32
  container: true,
33
33
  config: {
34
34
  initiallyOpen: true,
35
- label: 'Configuration',
35
+ label: 'Properties',
36
36
  icon: 'cog',
37
37
  name: 'inspector-accordion-gateway',
38
38
  },
@@ -37,7 +37,7 @@ export default {
37
37
  container: true,
38
38
  config: {
39
39
  initiallyOpen: true,
40
- label: 'Configuration',
40
+ label: 'Properties',
41
41
  icon: 'cog',
42
42
  name: 'inspector-accordion-inclusive-gateway-config',
43
43
  },
@@ -31,7 +31,6 @@ export { default as pool } from './pool';
31
31
  export { default as poolLane } from './poolLane';
32
32
  export { default as ValidationStatus } from '../validationStatus/ValidationStatus';
33
33
  export { default as Modeler } from '../modeler/Modeler';
34
- export { default as ModelerReadonly } from '../modeler/ModelerReadonly';
35
34
  export { default as manualTask } from './manualTask';
36
35
  export { default as boundaryTimerEvent } from './boundaryTimerEvent';
37
36
  export { default as boundaryMessageEvent } from './boundaryMessageEvent';
@@ -34,7 +34,7 @@ export default {
34
34
  container: true,
35
35
  config: {
36
36
  initiallyOpen: true,
37
- label: 'Configuration',
37
+ label: 'Properties',
38
38
  icon: 'cog',
39
39
  name: 'inspector-accordion-intermediate-gateway-config',
40
40
  },
@@ -37,7 +37,7 @@ export default {
37
37
  container: true,
38
38
  config: {
39
39
  initiallyOpen: true,
40
- label: 'Configuration',
40
+ label: 'Properties',
41
41
  icon: 'cog',
42
42
  name: 'inspector-accordion-intermediate-message-event',
43
43
  },
@@ -135,7 +135,7 @@ export default {
135
135
  container: true,
136
136
  config: {
137
137
  initiallyOpen: true,
138
- label: 'Configuration',
138
+ label: 'Properties',
139
139
  icon: 'cog',
140
140
  name: 'inspector-accordion-intermediate-timer-config',
141
141
  },
@@ -41,7 +41,7 @@ export default {
41
41
  container: true,
42
42
  config: {
43
43
  initiallyOpen: true,
44
- label: 'Configuration',
44
+ label: 'Properties',
45
45
  icon: 'cog',
46
46
  name: 'inspector-accordion-manual-task',
47
47
  },
@@ -26,7 +26,7 @@ export default {
26
26
  container: true,
27
27
  config: {
28
28
  initiallyOpen: true,
29
- label: 'Configuration',
29
+ label: 'Properties',
30
30
  icon: 'cog',
31
31
  name: 'inspector-accordion-message-flow',
32
32
  },
@@ -34,7 +34,7 @@ export default {
34
34
  container: true,
35
35
  config: {
36
36
  initiallyOpen: true,
37
- label: 'Configuration',
37
+ label: 'Properties',
38
38
  icon: 'cog',
39
39
  name: 'inspector-accordion-parallel-gateway-config',
40
40
  },
@@ -36,7 +36,7 @@ export default {
36
36
  container: true,
37
37
  config: {
38
38
  initiallyOpen: true,
39
- label: 'Configuration',
39
+ label: 'Properties',
40
40
  icon: 'cog',
41
41
  name: 'inspector-accordion-pool',
42
42
  },
@@ -121,12 +121,18 @@ export default {
121
121
  moveEmbeddedElements(currentElement, toPool) {
122
122
  this.getElementsUnderArea(currentElement, this.graph)
123
123
  .filter(element => element.isEmbeddedIn(currentElement))
124
- .map(element => element.component.node.definition)
125
- .forEach((elementDefinition) => {
126
- pull(this.containingProcess.get('flowElements'), elementDefinition);
127
- toPool.component.containingProcess.get('flowElements').push(elementDefinition);
124
+ .forEach((child) => {
125
+ child.component.node.pool = toPool;
126
+ pull(this.containingProcess.get('flowElements'), child.component.node.definition);
127
+ toPool.component.containingProcess.get('flowElements').push(child.component.node.definition);
128
128
  });
129
129
  },
130
+ moveFlow(element, toPool){
131
+ const elementDefinition = element.component.node.definition;
132
+ /* Remove references to the element from the current process */
133
+ pull(this.containingProcess.get('flowElements'), elementDefinition);
134
+ toPool.component.containingProcess.get('flowElements').push(elementDefinition);
135
+ },
130
136
  moveElement(element, toPool) {
131
137
  const elementDefinition = element.component.node.definition;
132
138
 
@@ -33,7 +33,7 @@ export default {
33
33
  container: true,
34
34
  config: {
35
35
  initiallyOpen: true,
36
- label: 'Configuration',
36
+ label: 'Properties',
37
37
  icon: 'cog',
38
38
  name: 'inspector-accordion-pool-lane',
39
39
  },
@@ -40,7 +40,7 @@ export default {
40
40
  container: true,
41
41
  config: {
42
42
  initiallyOpen: true,
43
- label: 'Configuration',
43
+ label: 'Properties',
44
44
  icon: 'cog',
45
45
  name: 'inspector-accordion-script-task',
46
46
  },
@@ -66,7 +66,7 @@ export default {
66
66
  container: true,
67
67
  config: {
68
68
  initiallyOpen: true,
69
- label: 'Configuration',
69
+ label: 'Properties',
70
70
  icon: 'cog',
71
71
  name: 'inspector-accordion-sequence-flow',
72
72
  },
@@ -23,7 +23,7 @@ export default {
23
23
  container: true,
24
24
  config: {
25
25
  initiallyOpen: true,
26
- label: 'Configuration',
26
+ label: 'Properties',
27
27
  icon: 'cog',
28
28
  name: 'inspector-accordion-service-task',
29
29
  },
@@ -59,7 +59,7 @@ export default {
59
59
  container: true,
60
60
  config: {
61
61
  initiallyOpen: true,
62
- label: 'Configuration',
62
+ label: 'Properties',
63
63
  icon: 'cog',
64
64
  name: 'inspector-accordion-subprocess',
65
65
  },
@@ -87,7 +87,7 @@ export default {
87
87
  container: true,
88
88
  config: {
89
89
  initiallyOpen: true,
90
- label: 'Configuration',
90
+ label: 'Properties',
91
91
  icon: 'cog',
92
92
  name: 'inspector-accordion-task',
93
93
  },
@@ -51,7 +51,7 @@ export default {
51
51
  container: true,
52
52
  config: {
53
53
  initiallyOpen: true,
54
- label: 'Configuration',
54
+ label: 'Properties',
55
55
  icon: 'cog',
56
56
  name: 'inspector-accordion-text-annotation',
57
57
  },
@@ -6,6 +6,7 @@
6
6
  ref="railLeftBox"
7
7
  >
8
8
  <MiniPaperControl
9
+ v-show="showComponent"
9
10
  :paper-manager="paperManager"
10
11
  :graph="graph"
11
12
  />
@@ -21,6 +22,7 @@
21
22
  :style="[overlap ? { width: 'auto'} : { width: '100%'}]"
22
23
  >
23
24
  <UndoRedoControl
25
+ v-show="showComponent"
24
26
  :is-rendering="isRendering"
25
27
  @load-xml="$emit('load-xml')"
26
28
  @clearSelection="$emit('clearSelection')"
@@ -28,6 +30,7 @@
28
30
  />
29
31
 
30
32
  <Controls
33
+ v-show="showComponent"
31
34
  :nodeTypes="nodeTypes"
32
35
  @onCreateElement="onCreateElementHandler"
33
36
  @onSetCursor="onSetCursorHandler"
@@ -43,6 +46,7 @@ import MiniPaperControl from '@/components/railBottom/miniPaperControl/MiniPaper
43
46
  import ZoomControl from '@/components/railBottom/zoomControl/ZoomControl.vue';
44
47
  import UndoRedoControl from '@/components/railBottom/undoRedoControl/UndoRedoControl.vue';
45
48
  import Controls from '@/components/railBottom/controls/Controls.vue';
49
+ import store from '@/store';
46
50
 
47
51
  export default {
48
52
  components: {
@@ -109,6 +113,11 @@ export default {
109
113
  }
110
114
  },
111
115
  },
116
+ computed: {
117
+ showComponent() {
118
+ return store.getters.showComponent;
119
+ },
120
+ },
112
121
  async mounted() {
113
122
  await nextTick();
114
123