diff --git a/lib/features/modeling/behavior/ModelingFeedback.js b/lib/features/modeling/behavior/ModelingFeedback.js
new file mode 100644
index 00000000..e4f20a9c
--- /dev/null
+++ b/lib/features/modeling/behavior/ModelingFeedback.js
@@ -0,0 +1,36 @@
+'use strict';
+
+var is = require('../../../util/ModelUtil').is;
+
+
+function ModelingFeedback(eventBus, tooltips) {
+
+ function showError(position, message) {
+ tooltips.add({
+ position: {
+ x: position.x + 5,
+ y: position.y + 5
+ },
+ type: 'error',
+ timeout: 2000,
+ html: '
' + message + '
'
+ });
+ }
+
+ eventBus.on([ 'shape.move.rejected', 'create.rejected' ], function(event) {
+
+ var context = event.context,
+ shape = context.shape,
+ target = context.target;
+
+ if (is(target, 'bpmn:Collaboration') && is(shape, 'bpmn:FlowNode')) {
+ showError(event, 'flow elements must be children of pools/participants');
+ }
+ });
+
+}
+
+
+ModelingFeedback.$inject = [ 'eventBus', 'tooltips' ];
+
+module.exports = ModelingFeedback;
\ No newline at end of file
diff --git a/lib/features/modeling/behavior/index.js b/lib/features/modeling/behavior/index.js
index 3d4de43b..82bb3cd4 100644
--- a/lib/features/modeling/behavior/index.js
+++ b/lib/features/modeling/behavior/index.js
@@ -1,7 +1,14 @@
module.exports = {
- __init__: [ 'appendBehavior', 'dropBehavior', 'createBehavior', 'removeBehavior' ],
+ __init__: [
+ 'appendBehavior',
+ 'createBehavior',
+ 'dropBehavior',
+ 'removeBehavior',
+ 'modelingFeedback'
+ ],
appendBehavior: [ 'type', require('./AppendBehavior') ],
+ dropBehavior: [ 'type', require('./DropBehavior') ],
createBehavior: [ 'type', require('./CreateBehavior') ],
removeBehavior: [ 'type', require('./RemoveBehavior') ],
- dropBehavior: [ 'type', require('./DropBehavior') ]
+ modelingFeedback: [ 'type', require('./ModelingFeedback') ]
};
\ No newline at end of file
diff --git a/lib/features/modeling/index.js b/lib/features/modeling/index.js
index e5862088..a2128d22 100644
--- a/lib/features/modeling/index.js
+++ b/lib/features/modeling/index.js
@@ -5,6 +5,7 @@ module.exports = {
require('./rules'),
require('./behavior'),
require('diagram-js/lib/command'),
+ require('diagram-js/lib/features/tooltips'),
require('diagram-js/lib/features/change-support')
],
bpmnFactory: [ 'type', require('./BpmnFactory') ],