From 592be29abf0d622d21886be7ce6f02168fa2add1 Mon Sep 17 00:00:00 2001 From: Niklas Kiefer Date: Thu, 8 Aug 2019 14:13:56 +0200 Subject: [PATCH] feat(palette): declare start event as to be selected * Uses new hints on create start to declare start event as the element to be selected after operation --- lib/features/palette/PaletteProvider.js | 8 ++++++- .../features/palette/PaletteProviderSpec.js | 21 ++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/lib/features/palette/PaletteProvider.js b/lib/features/palette/PaletteProvider.js index b4e638d51f..8a3c670d4c 100644 --- a/lib/features/palette/PaletteProvider.js +++ b/lib/features/palette/PaletteProvider.js @@ -86,7 +86,13 @@ PaletteProvider.prototype.getPaletteEntries = function(element) { parent: subProcess }); - create.start(event, [ subProcess, startEvent ]); + var hints = { + selectOnFinish: [ startEvent ] + }; + + create.start(event, [ subProcess, startEvent ], { + hints: hints + }); } function createParticipant(event) { diff --git a/test/spec/features/palette/PaletteProviderSpec.js b/test/spec/features/palette/PaletteProviderSpec.js index 9a784671ba..7fcb2c84f0 100644 --- a/test/spec/features/palette/PaletteProviderSpec.js +++ b/test/spec/features/palette/PaletteProviderSpec.js @@ -46,7 +46,7 @@ describe('features/palette', function() { describe('sub process', function() { - it('should create sub process with start event', inject(function(dragging, palette) { + it('should create sub process with start event', inject(function(dragging) { // when triggerPaletteEntry('create.subprocess-expanded'); @@ -60,6 +60,25 @@ describe('features/palette', function() { expect(is(elements[1], 'bpmn:StartEvent')).to.be.true; })); + + it('should declare start event to be selected', inject(function(dragging) { + + // when + triggerPaletteEntry('create.subprocess-expanded'); + + // then + var context = dragging.context(), + data = context.data, + elements = data.elements, + createContext = data.context, + hints = createContext.hints, + selectOnFinish = hints.selectOnFinish; + + expect(hints.selectOnFinish).to.exist; + expect(hints.selectOnFinish).to.have.length(1); + expect(selectOnFinish[0]).to.eql(elements[1]); + })); + }); });