fix(label-editing): listen to correct events

This commit is contained in:
Nico Rehwaldt 2014-12-17 21:54:25 +01:00
parent 003b4f2be6
commit 18784c5994
2 changed files with 12 additions and 17 deletions

View File

@ -21,18 +21,13 @@ function LabelEditingProvider(eventBus, canvas, directEditing, commandStack, inj
directEditing.registerProvider(this); directEditing.registerProvider(this);
commandStack.registerHandler('element.updateLabel', UpdateLabelHandler); commandStack.registerHandler('element.updateLabel', UpdateLabelHandler);
// per default, listen to double click events // listen to dblclick on non-root elements
eventBus.on('shape.dblclick', function(event) { eventBus.on('element.dblclick', function(event) {
directEditing.activate(event.element);
});
// per default, listen to double click events
eventBus.on('connection.dblclick', function(event) {
directEditing.activate(event.element); directEditing.activate(event.element);
}); });
// intercept direct canvas clicks to deselect all selected shapes // intercept direct canvas clicks to deselect all selected shapes
eventBus.on('canvas.click', function(event) { eventBus.on('element.click', function(event) {
directEditing.complete(); directEditing.complete();
}); });

View File

@ -37,7 +37,7 @@ describe('features - label-editing', function() {
var shape = elementRegistry.get('task-nested-embedded'); var shape = elementRegistry.get('task-nested-embedded');
// when // when
eventBus.fire('shape.dblclick', { element: shape }); eventBus.fire('element.dblclick', { element: shape });
// then // then
expect(directEditing.isActive()).toBe(true); expect(directEditing.isActive()).toBe(true);
@ -53,7 +53,7 @@ describe('features - label-editing', function() {
var oldName = task.name; var oldName = task.name;
// activate // activate
eventBus.fire('shape.dblclick', { element: shape }); eventBus.fire('element.dblclick', { element: shape });
// a jQuery <textarea /> element // a jQuery <textarea /> element
var textarea = directEditing._textbox.textarea; var textarea = directEditing._textbox.textarea;
@ -69,14 +69,14 @@ describe('features - label-editing', function() {
})); }));
it('should submit on <canvas.click>', inject(function(elementRegistry, directEditing, eventBus) { it('should submit on root element click', inject(function(elementRegistry, directEditing, canvas, eventBus) {
// given // given
var shape = elementRegistry.get('task-nested-embedded'), var shape = elementRegistry.get('task-nested-embedded'),
task = shape.businessObject; task = shape.businessObject;
// activate // activate
eventBus.fire('shape.dblclick', { element: shape }); eventBus.fire('element.dblclick', { element: shape });
var newName = 'new value'; var newName = 'new value';
@ -86,7 +86,7 @@ describe('features - label-editing', function() {
// when // when
// change + <canvas.click> // change + <canvas.click>
textarea.val(newName); textarea.val(newName);
eventBus.fire('canvas.click', {}); eventBus.fire('element.click', { element: canvas.getRootElement() });
// then // then
expect(directEditing.isActive()).toBe(false); expect(directEditing.isActive()).toBe(false);
@ -110,9 +110,9 @@ describe('features - label-editing', function() {
function directEditActivate(element) { function directEditActivate(element) {
if (element.waypoints) { if (element.waypoints) {
eventBus.fire('connection.dblclick', { element: element }); eventBus.fire('element.dblclick', { element: element });
} else { } else {
eventBus.fire('shape.dblclick', { element: element }); eventBus.fire('element.dblclick', { element: element });
} }
} }
@ -183,7 +183,7 @@ describe('features - label-editing', function() {
var listenerCalled; var listenerCalled;
eventBus.on('shape.changed', function(e) { eventBus.on('element.changed', function(e) {
if (e.element === diagramElement) { if (e.element === diagramElement) {
listenerCalled = true; listenerCalled = true;
} }
@ -205,7 +205,7 @@ describe('features - label-editing', function() {
var listenerCalled; var listenerCalled;
eventBus.on('shape.changed', function(e) { eventBus.on('element.changed', function(e) {
if (e.element === diagramElement.label) { if (e.element === diagramElement.label) {
listenerCalled = true; listenerCalled = true;
} }