[IMP] propagate click events from labels to the corresponding nodes in order to avoid implementing all handlers twice
bzr revid: xmo@openerp.com-20111026124928-a5yq78p1cejg2uzx
This commit is contained in:
parent
e8bc3209ae
commit
a45785d2f8
|
@ -121,26 +121,23 @@ openerp.web.DiagramView = openerp.web.View.extend({
|
||||||
//Custom logic
|
//Custom logic
|
||||||
var self = this;
|
var self = this;
|
||||||
var renderer = function(r, n) {
|
var renderer = function(r, n) {
|
||||||
var node;
|
|
||||||
var set;
|
|
||||||
var shape = n.node.shape;
|
var shape = n.node.shape;
|
||||||
if(shape == 'rectangle')
|
if(shape == 'rectangle')
|
||||||
shape = 'rect';
|
shape = 'rect';
|
||||||
node = r[shape](n.node.x, n.node.y).attr({
|
var node = r[shape](n.node.x, n.node.y).attr({
|
||||||
"fill": n.node.color
|
"fill": n.node.color
|
||||||
}).dblclick(function() {
|
}).dblclick(function() {
|
||||||
self.add_edit_node(n.node.id, self.node);
|
self.add_edit_node(n.node.id, self.node);
|
||||||
});
|
});
|
||||||
set = r.set()
|
|
||||||
.push(node)
|
var propagate_to_previous_sibling = function (e) {
|
||||||
.push(
|
$(this).prev().trigger(e.type);
|
||||||
r.text(n.node.x, n.node.y, (n.label || n.id))
|
};
|
||||||
.attr({"cursor":"pointer"})
|
var nodes = r.set()
|
||||||
.dblclick(function() {
|
.push(node, r.text(n.node.x, n.node.y, (n.label || n.id))
|
||||||
self.add_edit_node(n.node.id, self.node);
|
.click(propagate_to_previous_sibling)
|
||||||
})
|
.dblclick(propagate_to_previous_sibling)
|
||||||
);
|
).attr("cursor", "pointer");
|
||||||
node.attr({cursor: "pointer"});
|
|
||||||
|
|
||||||
if(shape == "ellipse")
|
if(shape == "ellipse")
|
||||||
node.attr({rx: "40", ry: "20"});
|
node.attr({rx: "40", ry: "20"});
|
||||||
|
@ -148,7 +145,8 @@ openerp.web.DiagramView = openerp.web.View.extend({
|
||||||
node.attr({width: "60", height: "44"});
|
node.attr({width: "60", height: "44"});
|
||||||
node.next.attr({"text-anchor": "middle", x: n.node.x + 20, y: n.node.y + 20});
|
node.next.attr({"text-anchor": "middle", x: n.node.x + 20, y: n.node.y + 20});
|
||||||
}
|
}
|
||||||
return set;
|
|
||||||
|
return nodes;
|
||||||
};
|
};
|
||||||
|
|
||||||
_.each(res_nodes, function(res_node) {
|
_.each(res_nodes, function(res_node) {
|
||||||
|
|
Loading…
Reference in New Issue