bpmn-js 8.8.2 → 8.10.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * bpmn-js - bpmn-modeler v8.8.2
2
+ * bpmn-js - bpmn-modeler v8.10.0
3
3
  *
4
4
  * Copyright (c) 2014-present, camunda Services GmbH
5
5
  *
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * Source Code: https://github.com/bpmn-io/bpmn-js
10
10
  *
11
- * Date: 2021-10-20
11
+ * Date: 2022-02-17
12
12
  */
13
13
  (function (global, factory) {
14
14
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -2337,13 +2337,14 @@
2337
2337
  eventBus.on([ 'render.shape', 'render.connection' ], renderPriority, function(evt, context) {
2338
2338
  var type = evt.type,
2339
2339
  element = context.element,
2340
- visuals = context.gfx;
2340
+ visuals = context.gfx,
2341
+ attrs = context.attrs;
2341
2342
 
2342
2343
  if (self.canRender(element)) {
2343
2344
  if (type === 'render.shape') {
2344
- return self.drawShape(visuals, element);
2345
+ return self.drawShape(visuals, element, attrs);
2345
2346
  } else {
2346
- return self.drawConnection(visuals, element);
2347
+ return self.drawConnection(visuals, element, attrs);
2347
2348
  }
2348
2349
  }
2349
2350
  });
@@ -2803,7 +2804,7 @@
2803
2804
  return true;
2804
2805
  };
2805
2806
 
2806
- DefaultRenderer.prototype.drawShape = function drawShape(visuals, element) {
2807
+ DefaultRenderer.prototype.drawShape = function drawShape(visuals, element, attrs) {
2807
2808
  var rect = create$1('rect');
2808
2809
 
2809
2810
  attr(rect, {
@@ -2814,9 +2815,9 @@
2814
2815
  });
2815
2816
 
2816
2817
  if (isFrameElement$1(element)) {
2817
- attr(rect, this.FRAME_STYLE);
2818
+ attr(rect, assign({}, this.FRAME_STYLE, attrs || {}));
2818
2819
  } else {
2819
- attr(rect, this.SHAPE_STYLE);
2820
+ attr(rect, assign({}, this.SHAPE_STYLE, attrs || {}));
2820
2821
  }
2821
2822
 
2822
2823
  append(visuals, rect);
@@ -2824,9 +2825,9 @@
2824
2825
  return rect;
2825
2826
  };
2826
2827
 
2827
- DefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection) {
2828
+ DefaultRenderer.prototype.drawConnection = function drawConnection(visuals, connection, attrs) {
2828
2829
 
2829
- var line = createLine(connection.waypoints, this.CONNECTION_STYLE);
2830
+ var line = createLine(connection.waypoints, assign({}, this.CONNECTION_STYLE, attrs || {}));
2830
2831
  append(visuals, line);
2831
2832
 
2832
2833
  return line;
@@ -4365,6 +4366,10 @@
4365
4366
  var BASE_LAYER = 'base';
4366
4367
  var HIDDEN_MARKER = 'djs-element-hidden';
4367
4368
 
4369
+ // render plane contents behind utility layers
4370
+ var PLANE_LAYER_INDEX = 0;
4371
+ var UTILITY_LAYER_INDEX = 1;
4372
+
4368
4373
 
4369
4374
  var REQUIRED_MODEL_ATTRS = {
4370
4375
  shape: [ 'x', 'y', 'width', 'height' ],
@@ -4463,7 +4468,8 @@
4463
4468
  'connection.added',
4464
4469
  'shape.removed',
4465
4470
  'connection.removed',
4466
- 'elements.changed'
4471
+ 'elements.changed',
4472
+ 'plane.set'
4467
4473
  ], function() {
4468
4474
  delete this._cachedViewbox;
4469
4475
  }, this);
@@ -4524,7 +4530,7 @@
4524
4530
  * @returns {SVGElement}
4525
4531
  */
4526
4532
  Canvas.prototype.getDefaultLayer = function() {
4527
- return this.getLayer(BASE_LAYER);
4533
+ return this.getLayer(BASE_LAYER, PLANE_LAYER_INDEX);
4528
4534
  };
4529
4535
 
4530
4536
  /**
@@ -4573,8 +4579,8 @@
4573
4579
  */
4574
4580
  Canvas.prototype._createLayer = function(name, index) {
4575
4581
 
4576
- if (!index) {
4577
- index = 0;
4582
+ if (typeof index === 'undefined') {
4583
+ index = UTILITY_LAYER_INDEX;
4578
4584
  }
4579
4585
 
4580
4586
  var childIndex = reduce(this._layers, function(childIndex, layer) {
@@ -4604,9 +4610,7 @@
4604
4610
  throw new Error('must specify a name');
4605
4611
  }
4606
4612
 
4607
- var plane = this._planes[name];
4608
-
4609
- return plane;
4613
+ return this._planes[name];
4610
4614
  };
4611
4615
 
4612
4616
  /**
@@ -4635,7 +4639,7 @@
4635
4639
  };
4636
4640
  }
4637
4641
 
4638
- var svgLayer = this.getLayer(name);
4642
+ var svgLayer = this.getLayer(name, PLANE_LAYER_INDEX);
4639
4643
  classes(svgLayer).add(HIDDEN_MARKER);
4640
4644
 
4641
4645
  var plane = this._planes[name] = {
@@ -5244,9 +5248,10 @@
5244
5248
  if (!box) {
5245
5249
 
5246
5250
  // compute the inner box based on the
5247
- // diagrams default layer. This allows us to exclude
5251
+ // diagrams active plane. This allows us to exclude
5248
5252
  // external components, such as overlays
5249
- innerBox = this.getDefaultLayer().getBBox();
5253
+
5254
+ innerBox = (this._activePlane && this._activePlane.layer.getBBox()) || {};
5250
5255
 
5251
5256
  transform = transform$1(viewport);
5252
5257
  matrix = transform ? transform.matrix : createMatrix();
@@ -5262,10 +5267,10 @@
5262
5267
  height: outerBox.height / scale,
5263
5268
  scale: scale,
5264
5269
  inner: {
5265
- width: innerBox.width,
5266
- height: innerBox.height,
5267
- x: innerBox.x,
5268
- y: innerBox.y
5270
+ width: innerBox.width || 0,
5271
+ height: innerBox.height || 0,
5272
+ x: innerBox.x || 0,
5273
+ y: innerBox.y || 0
5269
5274
  },
5270
5275
  outer: outerBox
5271
5276
  };
@@ -5318,13 +5323,17 @@
5318
5323
  * Scrolls the viewbox to contain the given element.
5319
5324
  * Optionally specify a padding to be applied to the edges.
5320
5325
  *
5321
- * @param {Object} [element] the element to scroll to.
5326
+ * @param {Object|String} [element] the element to scroll to.
5322
5327
  * @param {Object|Number} [padding=100] the padding to be applied. Can also specify top, bottom, left and right.
5323
5328
  *
5324
5329
  */
5325
5330
  Canvas.prototype.scrollToElement = function(element, padding) {
5326
5331
  var defaultPadding = 100;
5327
5332
 
5333
+ if (typeof element === 'string') {
5334
+ element = this._elementRegistry.get(element);
5335
+ }
5336
+
5328
5337
  // switch to correct Plane
5329
5338
  var targetPlane = this.findPlane(element);
5330
5339
  if (targetPlane !== this._activePlane) {
@@ -16442,6 +16451,20 @@
16442
16451
  }
16443
16452
 
16444
16453
 
16454
+ /**
16455
+ * Return true if element has any of the given types.
16456
+ *
16457
+ * @param {djs.model.Base} element
16458
+ * @param {Array<string>} types
16459
+ *
16460
+ * @return {boolean}
16461
+ */
16462
+ function isAny(element, types) {
16463
+ return some(types, function(t) {
16464
+ return is$1(element, t);
16465
+ });
16466
+ }
16467
+
16445
16468
  /**
16446
16469
  * Return the business object for a given element.
16447
16470
  *
@@ -21491,22 +21514,26 @@
21491
21514
 
21492
21515
  Overlays.prototype._updateOverlayVisibilty = function(overlay, viewbox) {
21493
21516
  var show = overlay.show,
21517
+ plane = overlay.plane,
21494
21518
  minZoom = show && show.minZoom,
21495
21519
  maxZoom = show && show.maxZoom,
21496
21520
  htmlContainer = overlay.htmlContainer,
21521
+ activePlane = this._canvas.getActivePlane(),
21497
21522
  visible = true;
21498
21523
 
21499
- if (show) {
21524
+ if (plane !== activePlane) {
21525
+ visible = false;
21526
+ } else if (show) {
21500
21527
  if (
21501
21528
  (isDefined(minZoom) && minZoom > viewbox.scale) ||
21502
21529
  (isDefined(maxZoom) && maxZoom < viewbox.scale)
21503
21530
  ) {
21504
21531
  visible = false;
21505
21532
  }
21506
-
21507
- setVisible$1(htmlContainer, visible);
21508
21533
  }
21509
21534
 
21535
+ setVisible$1(htmlContainer, visible);
21536
+
21510
21537
  this._updateOverlayScale(overlay, viewbox);
21511
21538
  };
21512
21539
 
@@ -25500,14 +25527,23 @@
25500
25527
  // the touch recognizer
25501
25528
  var recognizer;
25502
25529
 
25503
- function handler(type) {
25530
+ function handler(type, buttonType) {
25504
25531
 
25505
25532
  return function(event) {
25506
25533
 
25507
- interactionEvents.fire(type, event);
25534
+ var gfx = getGfx(event.target),
25535
+ element = gfx && elementRegistry.get(gfx);
25536
+
25537
+ // translate into an actual mouse click event
25538
+ if (buttonType) {
25539
+ event.srcEvent.button = buttonType;
25540
+ }
25541
+
25542
+ return interactionEvents.fire(type, event, element);
25508
25543
  };
25509
25544
  }
25510
25545
 
25546
+
25511
25547
  function getGfx(target) {
25512
25548
  var node = closest(target, 'svg, .djs-element', true);
25513
25549
  return node;
@@ -25518,10 +25554,6 @@
25518
25554
  // touch recognizer
25519
25555
  recognizer = createTouchRecognizer(svg);
25520
25556
 
25521
- recognizer.on('doubletap', handler('element.dblclick'));
25522
-
25523
- recognizer.on('tap', handler('element.click'));
25524
-
25525
25557
  function startGrabCanvas(event) {
25526
25558
 
25527
25559
  var lx = 0, ly = 0;
@@ -25589,6 +25621,9 @@
25589
25621
  recognizer.on('pinchcancel', end);
25590
25622
  }
25591
25623
 
25624
+ recognizer.on('tap', handler('element.click'));
25625
+ recognizer.on('doubletap', handler('element.dblclick', 1));
25626
+
25592
25627
  recognizer.on('panstart', startGrab);
25593
25628
  recognizer.on('press', startGrab);
25594
25629
 
@@ -26326,21 +26361,6 @@
26326
26361
  autoPlaceSelectionBehavior: [ 'type', AutoPlaceSelectionBehavior ]
26327
26362
  };
26328
26363
 
26329
- /**
26330
- * Return true if element has any of the given types.
26331
- *
26332
- * @param {djs.model.Base} element
26333
- * @param {Array<string>} types
26334
- *
26335
- * @return {boolean}
26336
- */
26337
- function isAny(element, types) {
26338
- return some(types, function(t) {
26339
- return is$1(element, t);
26340
- });
26341
- }
26342
-
26343
-
26344
26364
  /**
26345
26365
  * Return the parent of the element with any of the given types.
26346
26366
  *
@@ -35185,7 +35205,7 @@
35185
35205
  return this._createEntries(element, DATA_OBJECT_REFERENCE);
35186
35206
  }
35187
35207
 
35188
- if (is$1(businessObject, 'bpmn:DataStoreReference')) {
35208
+ if (is$1(businessObject, 'bpmn:DataStoreReference') && !is$1(element.parent, 'bpmn:Collaboration')) {
35189
35209
  return this._createEntries(element, DATA_STORE_REFERENCE);
35190
35210
  }
35191
35211
 
@@ -39186,7 +39206,7 @@
39186
39206
 
39187
39207
  function activateDirectEdit(element, force) {
39188
39208
  if (force ||
39189
- isAny(element, [ 'bpmn:Task', 'bpmn:TextAnnotation', 'bpmn:Group' ]) ||
39209
+ isAny(element, [ 'bpmn:Task', 'bpmn:TextAnnotation' ]) ||
39190
39210
  isCollapsedSubProcess(element)) {
39191
39211
 
39192
39212
  directEditing.activate(element);
@@ -40528,122 +40548,97 @@
40528
40548
  }
40529
40549
  });
40530
40550
 
40531
- function ensureCollaboration(context) {
40532
- var parent = context.parent,
40533
- collaboration;
40534
-
40551
+ // turn process into collaboration when creating first participant
40552
+ function getOrCreateCollaboration() {
40535
40553
  var rootElement = canvas.getRootElement();
40536
40554
 
40537
40555
  if (is$1(rootElement, 'bpmn:Collaboration')) {
40538
- collaboration = rootElement;
40539
- } else {
40540
-
40541
- // update root element by making collaboration
40542
- collaboration = modeling.makeCollaboration();
40543
-
40544
- // re-use process when creating first participant
40545
- context.process = parent;
40556
+ return rootElement;
40546
40557
  }
40547
40558
 
40548
- context.parent = collaboration;
40559
+ return modeling.makeCollaboration();
40549
40560
  }
40550
40561
 
40551
- // turn process into collaboration before adding participant
40552
- this.preExecute('shape.create', function(context) {
40553
- var parent = context.parent,
40554
- shape = context.shape;
40555
-
40556
- if (is$1(shape, 'bpmn:Participant') && is$1(parent, 'bpmn:Process')) {
40557
- ensureCollaboration(context);
40558
- }
40559
- }, true);
40560
-
40561
- this.execute('shape.create', function(context) {
40562
- var process = context.process,
40563
- shape = context.shape;
40564
-
40565
- if (process) {
40566
- context.oldProcessRef = shape.businessObject.processRef;
40567
-
40568
- // re-use process when creating first participant
40569
- shape.businessObject.processRef = process.businessObject;
40570
- }
40571
- }, true);
40562
+ // when creating mutliple elements through `elements.create` parent must be set to collaboration
40563
+ // and passed to `shape.create` as hint
40564
+ this.preExecute('elements.create', HIGH_PRIORITY$a, function(context) {
40565
+ var elements = context.elements,
40566
+ parent = context.parent,
40567
+ participant = findParticipant(elements),
40568
+ hints;
40572
40569
 
40573
- this.revert('shape.create', function(context) {
40574
- var process = context.process,
40575
- shape = context.shape;
40570
+ if (participant && is$1(parent, 'bpmn:Process')) {
40571
+ context.parent = getOrCreateCollaboration();
40576
40572
 
40577
- if (process) {
40573
+ hints = context.hints = context.hints || {};
40578
40574
 
40579
- // re-use process when creating first participant
40580
- shape.businessObject.processRef = context.oldProcessRef;
40575
+ hints.participant = participant;
40576
+ hints.process = parent;
40577
+ hints.processRef = getBusinessObject(participant).get('processRef');
40581
40578
  }
40582
40579
  }, true);
40583
40580
 
40584
- this.postExecute('shape.create', function(context) {
40585
- var process = context.process,
40581
+ // when creating single shape through `shape.create` parent must be set to collaboration
40582
+ // unless it was already set through `elements.create`
40583
+ this.preExecute('shape.create', function(context) {
40584
+ var parent = context.parent,
40586
40585
  shape = context.shape;
40587
40586
 
40588
- if (process) {
40589
-
40590
- // move children from process to participant
40591
- var processChildren = process.children.slice();
40587
+ if (is$1(shape, 'bpmn:Participant') && is$1(parent, 'bpmn:Process')) {
40588
+ context.parent = getOrCreateCollaboration();
40592
40589
 
40593
- modeling.moveElements(processChildren, { x: 0, y: 0 }, shape);
40590
+ context.process = parent;
40591
+ context.processRef = getBusinessObject(shape).get('processRef');
40594
40592
  }
40595
-
40596
40593
  }, true);
40597
40594
 
40598
- // turn process into collaboration when creating participants
40599
- this.preExecute('elements.create', HIGH_PRIORITY$a, function(context) {
40600
- var elements = context.elements,
40601
- parent = context.parent,
40602
- participant;
40603
-
40604
- var hasParticipants = findParticipant(elements);
40605
-
40606
- if (hasParticipants && is$1(parent, 'bpmn:Process')) {
40607
- ensureCollaboration(context);
40608
-
40609
- participant = findParticipant(elements);
40595
+ // #execute necessary because #preExecute not called on CommandStack#redo
40596
+ this.execute('shape.create', function(context) {
40597
+ var hints = context.hints || {},
40598
+ process = context.process || hints.process,
40599
+ shape = context.shape,
40600
+ participant = hints.participant;
40610
40601
 
40611
- context.oldProcessRef = participant.businessObject.processRef;
40602
+ // both shape.create and elements.create must be handled
40603
+ if (process && (!participant || shape === participant)) {
40612
40604
 
40613
- // re-use process when creating first participant
40614
- participant.businessObject.processRef = parent.businessObject;
40605
+ // monkey-patch process ref
40606
+ getBusinessObject(shape).set('processRef', getBusinessObject(process));
40615
40607
  }
40616
40608
  }, true);
40617
40609
 
40618
- this.revert('elements.create', function(context) {
40619
- var elements = context.elements,
40620
- process = context.process,
40621
- participant;
40610
+ this.revert('shape.create', function(context) {
40611
+ var hints = context.hints || {},
40612
+ process = context.process || hints.process,
40613
+ processRef = context.processRef || hints.processRef,
40614
+ shape = context.shape,
40615
+ participant = hints.participant;
40622
40616
 
40623
- if (process) {
40624
- participant = findParticipant(elements);
40617
+ // both shape.create and elements.create must be handled
40618
+ if (process && (!participant || shape === participant)) {
40625
40619
 
40626
- // re-use process when creating first participant
40627
- participant.businessObject.processRef = context.oldProcessRef;
40620
+ // monkey-patch process ref
40621
+ getBusinessObject(shape).set('processRef', processRef);
40628
40622
  }
40629
40623
  }, true);
40630
40624
 
40631
- this.postExecute('elements.create', function(context) {
40632
- var elements = context.elements,
40633
- process = context.process,
40634
- participant;
40625
+ this.postExecute('shape.create', function(context) {
40626
+ var hints = context.hints || {},
40627
+ process = context.process || context.hints.process,
40628
+ shape = context.shape,
40629
+ participant = hints.participant;
40635
40630
 
40636
40631
  if (process) {
40637
- participant = findParticipant(elements);
40632
+ var children = process.children.slice();
40638
40633
 
40639
- // move children from process to first participant
40640
- var processChildren = process.children.slice();
40641
-
40642
- modeling.moveElements(processChildren, { x: 0, y: 0 }, participant);
40634
+ // both shape.create and elements.create must be handled
40635
+ if (!participant) {
40636
+ modeling.moveElements(children, { x: 0, y: 0 }, shape);
40637
+ } else if (shape === participant) {
40638
+ modeling.moveElements(children, { x: 0, y: 0 }, participant);
40639
+ }
40643
40640
  }
40644
-
40645
40641
  }, true);
40646
-
40647
40642
  }
40648
40643
 
40649
40644
  CreateParticipantBehavior.$inject = [
@@ -41292,12 +41287,12 @@
41292
41287
  dockingPoint = intersection.bendpoint ? waypoints[intersection.index] : mid;
41293
41288
 
41294
41289
  // if last waypointBefore is inside shape's bounds, ignore docking point
41295
- if (!isPointInsideBBox(shape, waypointsBefore[waypointsBefore.length-1])) {
41290
+ if (waypointsBefore.length === 1 || !isPointInsideBBox(shape, waypointsBefore[waypointsBefore.length-1])) {
41296
41291
  waypointsBefore.push(copy(dockingPoint));
41297
41292
  }
41298
41293
 
41299
41294
  // if first waypointAfter is inside shape's bounds, ignore docking point
41300
- if (!isPointInsideBBox(shape, waypointsAfter[0])) {
41295
+ if (waypointsAfter.length === 1 || !isPointInsideBBox(shape, waypointsAfter[0])) {
41301
41296
  waypointsAfter.unshift(copy(dockingPoint));
41302
41297
  }
41303
41298
  }
@@ -44064,7 +44059,9 @@
44064
44059
  var rootElement = canvas.getRootElement(),
44065
44060
  rootElementBo = rootElement.businessObject;
44066
44061
 
44067
- moddle.ids.unclaim(rootElementBo.id);
44062
+ if (is$1(rootElement, 'bpmn:Collaboration')) {
44063
+ moddle.ids.unclaim(rootElementBo.id);
44064
+ }
44068
44065
  });
44069
44066
  }
44070
44067
 
@@ -48012,6 +48009,10 @@
48012
48009
  };
48013
48010
 
48014
48011
  BpmnFactory.prototype._ensureId = function(element) {
48012
+ if (element.id) {
48013
+ this._model.ids.claim(element.id, element);
48014
+ return;
48015
+ }
48015
48016
 
48016
48017
  // generate semantic ids for elements
48017
48018
  // bpmn:SequenceFlow -> SequenceFlow_ID
@@ -48082,7 +48083,8 @@
48082
48083
 
48083
48084
  BpmnFactory.prototype.createDiEdge = function(semantic, waypoints, attrs) {
48084
48085
  return this.create('bpmndi:BPMNEdge', assign({
48085
- bpmnElement: semantic
48086
+ bpmnElement: semantic,
48087
+ waypoint: this.createDiWaypoints(waypoints)
48086
48088
  }, attrs));
48087
48089
  };
48088
48090
 
@@ -52267,12 +52269,26 @@
52267
52269
  // TODO @barmac: remove once we drop bpmn.io properties
52268
52270
  ensureLegacySupport(assignedDi);
52269
52271
 
52270
- self._commandStack.execute('element.updateProperties', {
52271
- element: element,
52272
- properties: {
52273
- di: assignedDi
52274
- }
52275
- });
52272
+ if (element.labelTarget) {
52273
+
52274
+ // set label colors as bpmndi:BPMNLabel#color
52275
+ self._commandStack.execute('element.updateModdleProperties', {
52276
+ element: element,
52277
+ moddleElement: element.businessObject.di.label,
52278
+ properties: {
52279
+ color: di['background-color']
52280
+ }
52281
+ });
52282
+ } else {
52283
+
52284
+ // set colors bpmndi:BPMNEdge or bpmndi:BPMNShape
52285
+ self._commandStack.execute('element.updateProperties', {
52286
+ element: element,
52287
+ properties: {
52288
+ di: assignedDi
52289
+ }
52290
+ });
52291
+ }
52276
52292
  });
52277
52293
 
52278
52294
  };
@@ -54382,7 +54398,9 @@
54382
54398
  ENTRY_SELECTOR = '.entry',
54383
54399
  ELEMENT_SELECTOR = TOGGLE_SELECTOR + ', ' + ENTRY_SELECTOR;
54384
54400
 
54385
- var PALETTE_OPEN_CLS = 'open',
54401
+ var PALETTE_PREFIX = 'djs-palette-',
54402
+ PALETTE_SHOWN_CLS = 'shown',
54403
+ PALETTE_OPEN_CLS = 'open',
54386
54404
  PALETTE_TWO_COLUMN_CLS = 'two-column';
54387
54405
 
54388
54406
  var DEFAULT_PRIORITY = 1000;
@@ -54500,6 +54518,7 @@
54500
54518
  var container = this._container = domify(Palette.HTML_MARKUP);
54501
54519
 
54502
54520
  parentContainer.appendChild(container);
54521
+ classes$1(parentContainer).add(PALETTE_PREFIX + PALETTE_SHOWN_CLS);
54503
54522
 
54504
54523
  delegate.bind(container, ELEMENT_SELECTOR, 'click', function(event) {
54505
54524
 
@@ -54557,7 +54576,8 @@
54557
54576
 
54558
54577
  var twoColumn;
54559
54578
 
54560
- var cls = classes$1(container);
54579
+ var cls = classes$1(container),
54580
+ parentCls = classes$1(parent);
54561
54581
 
54562
54582
  if ('twoColumn' in state) {
54563
54583
  twoColumn = state.twoColumn;
@@ -54567,9 +54587,11 @@
54567
54587
 
54568
54588
  // always update two column
54569
54589
  cls.toggle(PALETTE_TWO_COLUMN_CLS, twoColumn);
54590
+ parentCls.toggle(PALETTE_PREFIX + PALETTE_TWO_COLUMN_CLS, twoColumn);
54570
54591
 
54571
54592
  if ('open' in state) {
54572
54593
  cls.toggle(PALETTE_OPEN_CLS, state.open);
54594
+ parentCls.toggle(PALETTE_PREFIX + PALETTE_OPEN_CLS, state.open);
54573
54595
  }
54574
54596
 
54575
54597
  eventBus.fire('palette.changed', {
@@ -55476,7 +55498,7 @@
55476
55498
 
55477
55499
  create.start(event, [ subProcess, startEvent ], {
55478
55500
  hints: {
55479
- autoSelect: [ startEvent ]
55501
+ autoSelect: [ subProcess ]
55480
55502
  }
55481
55503
  });
55482
55504
  }