[IMP] Added first setup for embedded views.
bzr revid: nicolas.vanhoren@openerp.com-20110601082358-adg1u4evi7s08iqf
This commit is contained in:
parent
954ac12560
commit
61a9b05a58
|
@ -31,10 +31,14 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV
|
|||
this.touched = false;
|
||||
this.flags = this.view_manager.flags || {};
|
||||
},
|
||||
start: function() {
|
||||
start: function(fields_view) {
|
||||
//this.log('Starting FormView '+this.model+this.view_id)
|
||||
return this.rpc("/base/formview/load", {"model": this.model, "view_id": this.view_id,
|
||||
toolbar:!!this.flags.sidebar}, this.on_loaded);
|
||||
if (fields_view) {
|
||||
return $.Deferred().then(this.on_loaded).resolve({fields_view: fields_view});
|
||||
} else {
|
||||
return this.rpc("/base/formview/load", {"model": this.model, "view_id": this.view_id,
|
||||
toolbar:!!this.flags.sidebar}, this.on_loaded);
|
||||
}
|
||||
},
|
||||
on_loaded: function(data) {
|
||||
var self = this;
|
||||
|
@ -991,6 +995,7 @@ openerp.base.form.FieldMany2One = openerp.base.form.Field.extend({
|
|||
openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
|
||||
init: function(view, node) {
|
||||
this._super(view, node);
|
||||
debugger;
|
||||
this.template = "FieldOne2Many";
|
||||
this.is_started = $.Deferred();
|
||||
this.is_setted = $.Deferred();
|
||||
|
@ -1013,13 +1018,13 @@ openerp.base.form.FieldOne2Many = openerp.base.form.Field.extend({
|
|||
this.viewmanager = new openerp.base.ViewManager(this.view.session,
|
||||
this.element_id, this.dataset, views);
|
||||
this.viewmanager.start();
|
||||
this.viewmanager.on_controller_inited.add_last(function(view_type) {
|
||||
this.viewmanager.on_controller_inited.add_last(function(view_type, controller) {
|
||||
if (view_type == "list") {
|
||||
self.is_started.resolve();
|
||||
// TODO niv
|
||||
} else {
|
||||
} else if (view_type == "form") {
|
||||
// TODO niv
|
||||
}
|
||||
self.is_started.resolve();
|
||||
});
|
||||
|
||||
$.when(this.is_started, this.is_setted).then(function() {
|
||||
|
|
|
@ -94,9 +94,9 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi
|
|||
*
|
||||
* @returns {$.Deferred} loading promise
|
||||
*/
|
||||
start: function() {
|
||||
start: function(fields_view) {
|
||||
this.$element.addClass('oe-listview');
|
||||
return this.reload_view();
|
||||
return this.reload_view(undefined, fields_view);
|
||||
},
|
||||
/**
|
||||
* Called after loading the list view's description, sets up such things
|
||||
|
@ -254,17 +254,22 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi
|
|||
*
|
||||
* @param {Boolean} [grouped] Should the list be displayed grouped
|
||||
*/
|
||||
reload_view: function (grouped) {
|
||||
reload_view: function (grouped, fields_view) {
|
||||
var self = this;
|
||||
this.dataset.offset = 0;
|
||||
this.dataset.limit = false;
|
||||
return this.rpc('/base/listview/load', {
|
||||
model: this.model,
|
||||
view_id: this.view_id,
|
||||
toolbar: !!this.flags.sidebar
|
||||
}, function (field_view_get) {
|
||||
self.on_loaded(field_view_get, grouped);
|
||||
});
|
||||
var callback = function (field_view_get) {
|
||||
self.on_loaded(field_view_get, grouped);
|
||||
};
|
||||
if (fields_view) {
|
||||
return $.Deferred().then(callback).resolve({fields_view: fields_view});
|
||||
} else {
|
||||
return this.rpc('/base/listview/load', {
|
||||
model: this.model,
|
||||
view_id: this.view_id,
|
||||
toolbar: !!this.flags.sidebar
|
||||
}, callback);
|
||||
}
|
||||
},
|
||||
/**
|
||||
* re-renders the content of the list view
|
||||
|
|
|
@ -122,7 +122,7 @@ openerp.base.ViewManager = openerp.base.Controller.extend({
|
|||
view_promise = controller.start();
|
||||
var self = this;
|
||||
$.when(view_promise).then(function() {
|
||||
self.on_controller_inited(view_type);
|
||||
self.on_controller_inited(view_type, controller);
|
||||
});
|
||||
this.views[view_type].controller = controller;
|
||||
}
|
||||
|
@ -155,8 +155,9 @@ openerp.base.ViewManager = openerp.base.Controller.extend({
|
|||
* Event launched when a controller has been inited.
|
||||
*
|
||||
* @param {String} view_type type of view
|
||||
* @param {String} view the inited controller
|
||||
*/
|
||||
on_controller_inited: function(view_type) {},
|
||||
on_controller_inited: function(view_type, view) {},
|
||||
/**
|
||||
* Sets up the current viewmanager's search view.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue