[IMP] ajax call to get data

bzr revid: fp@tinyerp.com-20120507155501-sccb3bs847zu0erv
This commit is contained in:
Fabien Pinckaers
2012-05-07 17:55:01 +02:00
parent 1105b571b4
commit dbaef2660a
2 changed files with 45 additions and 34 deletions
+11 -25
View File
@@ -4,28 +4,14 @@ try:
except ImportError:
import web.common.http as openerpweb
#WIDGET_CONTENT_PATTERN = """<!DOCTYPE html>
#<html>
# <head><title>[[Widget %(id)d]]</title></head>
# <body>
# %(content)s
# <script type="text/javascript">
# var load = window.onload;
# window.onload = function () {
# if (load) {
# load();
# }
# window.frameElement.style.height = document.height + 'px';
# }
# </script>
# </body>
#</html>
#"""
#class Widgets(openerpweb.Controller):
# _cp_path = '/web_dashboard/widgets'
#
# @openerpweb.httprequest
# def content(self, request, widget_id):
# return WIDGET_CONTENT_PATTERN % request.session.model('res.widget').read(
# [int(widget_id)], ['content'], request.session.eval_context(request.context)
# )[0]
class Widgets(openerpweb.Controller):
_cp_path = '/web_graph/graph'
@openerpweb.jsonrequest
def data_get(self, req, domain=[], context={}, group_by=[], view_id=False, orientation=False, **kwargs):
print '---'
print req
print domain
print context
print group_by
return [{'hello': 3}]
+34 -9
View File
@@ -28,6 +28,10 @@ instance.web_graph.GraphView = instance.web.View.extend({
this.legend_container;
this.legend="top"; // top, inside, no
this.domain = [];
this.context = {};
this.group_by = {};
this.is_loaded = $.Deferred();
this.graph = null;
@@ -40,12 +44,12 @@ instance.web_graph.GraphView = instance.web.View.extend({
on_loaded: function(fields_view_get) {
// TODO: move to load_view and document
var width, height;
var width, height;
var self = this;
this.fields_view = fields_view_get;
this.container = this.$element.find("#editor-render-body");
width = this.$element.parent().width();
width = this.$element.parent().width();
this.container.css("width", width);
this.$element.css("width", width);
this.container.css("height", Math.min(500, width*0.8));
@@ -111,7 +115,6 @@ instance.web_graph.GraphView = instance.web.View.extend({
}
);
this._super();
this.graph_render()
},
get_format: function get_format(options) {
@@ -144,6 +147,24 @@ instance.web_graph.GraphView = instance.web.View.extend({
d1 = [],
d2 = [],
d3 = [];
var data;
data = this.rpc(
'/web_graph/graph/data_get',
{
domain: this.domain,
context: this.context,
group_by: this.group_by,
view_id: this.view_id,
orientation: this.orientation
},
function(result) {
console.log(result);
}
);
// return data
for (i = -3; i < 3; i++) {
if (this.orientation % 2) {
d1.push([Math.random(), i]);
@@ -271,13 +292,17 @@ instance.web_graph.GraphView = instance.web.View.extend({
// render the graph using the domain, context and group_by
// calls the 'graph_data_get' python controller to process all data
// TODO: check is group_by should better be in the context
do_search: function(domain, context, group_by) {
var self = this;
return $.when(this.is_loaded).pipe(function() {
// todo: find the right syntax to perform an Ajax call
// return self.rpc.graph_get_data(self.view_id, domain, context, group_by).then($.proxy(self, 'schedule_chart'));
$.proxy(self, "graph_render");
});
this.domain = domain;
this.context = context;
this.group_by = group_by;
this.graph_render();
//return $.when(this.is_loaded).pipe(function() {
// // todo: find the right syntax to perform an Ajax call
// // return self.rpc.graph_get_data(self.view_id, domain, context, group_by).then($.proxy(self, 'schedule_chart'));
//});
},
do_show: function() {