[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
|
||||
var self = this;
|
||||
var renderer = function(r, n) {
|
||||
var node;
|
||||
var set;
|
||||
var shape = n.node.shape;
|
||||
if(shape == 'rectangle')
|
||||
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
|
||||
}).dblclick(function() {
|
||||
self.add_edit_node(n.node.id, self.node);
|
||||
});
|
||||
set = r.set()
|
||||
.push(node)
|
||||
.push(
|
||||
r.text(n.node.x, n.node.y, (n.label || n.id))
|
||||
.attr({"cursor":"pointer"})
|
||||
.dblclick(function() {
|
||||
self.add_edit_node(n.node.id, self.node);
|
||||
})
|
||||
);
|
||||
node.attr({cursor: "pointer"});
|
||||
|
||||
var propagate_to_previous_sibling = function (e) {
|
||||
$(this).prev().trigger(e.type);
|
||||
};
|
||||
var nodes = r.set()
|
||||
.push(node, r.text(n.node.x, n.node.y, (n.label || n.id))
|
||||
.click(propagate_to_previous_sibling)
|
||||
.dblclick(propagate_to_previous_sibling)
|
||||
).attr("cursor", "pointer");
|
||||
|
||||
if(shape == "ellipse")
|
||||
node.attr({rx: "40", ry: "20"});
|
||||
|
@ -148,7 +145,8 @@ openerp.web.DiagramView = openerp.web.View.extend({
|
|||
node.attr({width: "60", height: "44"});
|
||||
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) {
|
||||
|
|
Loading…
Reference in New Issue