I have added 3 customRules the first two are working fine.
But the third ‘shape.create’ action rule doesnt trigger when the element is created by the contextpad, but it does work when adding elements from the palette.
Is there another alternative action that could be triggered when an element is created by both methods?
this.addRule('connection.create',2000, function(context) {
if (context.source.id===context.target.id){
return false;
}
});
this.addRule('elements.delete',2000, function(context) {
if (context.elements[0].id==="StartEvent_1" || context.elements[0].id==="EndEvent_1"){
return false;
}
});
this.addRule('shape.create',2000, function(context) {
//this rule is note working if the element is created from contextpad
console.log(context);
});
Is it also possible to stop the default behavior of selecting an element on creation(that allows to change element’s label, and shows its contextpad)?
I updated my sandbox project.
Try to create a task from the startEvent’s context pad it doesnt trigger the shape.create rule, whereas adding a task from the palette does trigger it.
update:
I tried adding this listener (added in the sandbox too):
eventBus.on(["create.end", "autoPlace.end"], 2000, function () {
//directEditing.cancel();
return false;
});
it works for the contextpad but the “create.end” doesn’t allow adding a task from the palette now