From 70d622c151562d97ffaa3f4c061e9c79aace725a Mon Sep 17 00:00:00 2001 From: "vda (OpenERP)" Date: Thu, 7 Apr 2011 18:36:23 +0530 Subject: [PATCH] [FIX] Specific Shape accordingly node will display. bzr revid: vda@tinyerp.com-20110407130623-iw7nf7vv0dc4jiqk --- addons/base/static/src/xml/base.xml | 2 +- addons/base_diagram/static/src/js/diagram.js | 50 +++++++++++++++----------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 8d8040f..1ad8f56 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -169,7 +169,7 @@

-
+

diff --git a/addons/base_diagram/static/src/js/diagram.js b/addons/base_diagram/static/src/js/diagram.js index cc0f69b..af56c25 100644 --- a/addons/base_diagram/static/src/js/diagram.js +++ b/addons/base_diagram/static/src/js/diagram.js @@ -97,19 +97,6 @@ openerp.base.DiagramView = openerp.base.Controller.extend({ } this.$element.html(QWeb.render("DiagramView", {"fields_view": this.fields_view})); - -// g.addEdge("strawberry", "cherry"); -// g.addEdge("strawberry", "apple"); -// g.addEdge("strawberry", "tomato"); -// -// g.addEdge("tomato", "apple"); -// g.addEdge("tomato", "kiwi"); -// -// g.addEdge("cherry", "apple"); -// g.addEdge("cherry", "kiwi"); - - - if(this.id) { this.rpc( '/base_diagram/diagram/get_diagram_info', @@ -138,27 +125,48 @@ openerp.base.DiagramView = openerp.base.Controller.extend({ draw_diagram: function(result) { console.log('this>>>',this) var g = new Graph(); - +// var raphel = new this.in_transition_field = result['in_transition_field']; this.out_transition_field = result['out_transition_field']; var res_nodes = result['nodes']; var res_connectors = result['conn']; -// for(nd in res_nodes) { -// var res_node = res_nodes[nd]; -// console.log('nodes',res_node, res_node['shape']) -// var state; -// } + + var render = function(r, n) { + var set; + if (n.node.shape == 'ellipse') { + set = r.set().push( + r.ellipse(n.node.x - 30, n.node.y - 13, 40, 40).attr({ + "fill": n.node.color, + r: "12px", + "stroke-width": n.distance == 0 ? "3px" : "1px" + })).push(r.text(n.node.x - 30, n.node.y - 10, (n.label || n.id))); + } else { + set = r.set().push( + r.rect(n.node.x-30, n.node.y-13, 60, 44).attr({"fill": n.node.color, r : "12px", "stroke-width" : n.distance == 0 ? "3px" : "1px" })).push( + r.text(n.point[0], n.point[1] + 10, (n.label || n.id) + "\n(" + (n.distance == undefined ? "Infinity" : n.distance) + ")")); + + } + return set; + }; + + for(nd in res_nodes) { + var res_node = res_nodes[nd]; + g.addNode(res_node['name'], + { + node: res_node, + render: render + }); + } for(cr in res_connectors) { var res_connector = res_connectors[cr]; g.addEdge(res_connector['source'], res_connector['destination']); - } var layouter = new Graph.Layout.Spring(g); layouter.layout(); - var renderer = new Graph.Renderer.Raphael('dia-canvas', g, 800, 500); + var renderer = new Graph.Renderer.Raphael('dia-canvas', g, 800, 800); renderer.draw(); }, -- 1.7.10.4