[imp] refactoring to improve the way the components are destroyed
bzr revid: nicolas.vanhoren@openerp.com-20110928151613-8suxvi1rzn9t40gd
This commit is contained in:
parent
ebd8ca5df5
commit
e43790f7f2
|
@ -129,6 +129,7 @@ openerp.web.Dialog = openerp.web.OldWidget.extend(/** @lends openerp.web.Dialog#
|
||||||
// Destroy widget
|
// Destroy widget
|
||||||
this.close();
|
this.close();
|
||||||
this.$dialog.dialog('destroy');
|
this.$dialog.dialog('destroy');
|
||||||
|
this._super();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -253,7 +254,7 @@ openerp.web.Database = openerp.web.Widget.extend(/** @lends openerp.web.Database
|
||||||
.removeClass("database_block")
|
.removeClass("database_block")
|
||||||
.end()
|
.end()
|
||||||
.empty();
|
.empty();
|
||||||
|
this._super();
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Converts a .serializeArray() result into a dict. Does not bother folding
|
* Converts a .serializeArray() result into a dict. Does not bother folding
|
||||||
|
|
|
@ -233,6 +233,7 @@ openerp.web.StaticDataGroup = openerp.web.GrouplessDataGroup.extend( /** @lends
|
||||||
});
|
});
|
||||||
|
|
||||||
openerp.web.DataSet = openerp.web.Widget.extend( /** @lends openerp.web.DataSet# */{
|
openerp.web.DataSet = openerp.web.Widget.extend( /** @lends openerp.web.DataSet# */{
|
||||||
|
identifier_prefix: "dataset",
|
||||||
/**
|
/**
|
||||||
* DateaManagement interface between views and the collection of selected
|
* DateaManagement interface between views and the collection of selected
|
||||||
* OpenERP records (represents the view's state?)
|
* OpenERP records (represents the view's state?)
|
||||||
|
@ -242,16 +243,12 @@ openerp.web.DataSet = openerp.web.Widget.extend( /** @lends openerp.web.DataSet
|
||||||
*
|
*
|
||||||
* @param {String} model the OpenERP model this dataset will manage
|
* @param {String} model the OpenERP model this dataset will manage
|
||||||
*/
|
*/
|
||||||
init: function(source_controller, model, context) {
|
init: function(parent, model, context) {
|
||||||
// we don't want the dataset to be a child of anything!
|
this._super(parent);
|
||||||
this._super(null);
|
|
||||||
this.session = source_controller ? source_controller.session : undefined;
|
|
||||||
this.model = model;
|
this.model = model;
|
||||||
this.context = context || {};
|
this.context = context || {};
|
||||||
this.index = null;
|
this.index = null;
|
||||||
},
|
},
|
||||||
start: function() {
|
|
||||||
},
|
|
||||||
previous: function () {
|
previous: function () {
|
||||||
this.index -= 1;
|
this.index -= 1;
|
||||||
if (this.index < 0) {
|
if (this.index < 0) {
|
||||||
|
@ -549,13 +546,11 @@ openerp.web.DataSetSearch = openerp.web.DataSet.extend(/** @lends openerp.web.D
|
||||||
sort: this.sort(),
|
sort: this.sort(),
|
||||||
offset: offset,
|
offset: offset,
|
||||||
limit: options.limit || false
|
limit: options.limit || false
|
||||||
}, function (result) {
|
}).pipe(function (result) {
|
||||||
self.ids = result.ids;
|
self.ids = result.ids;
|
||||||
self.offset = offset;
|
self.offset = offset;
|
||||||
if (callback) {
|
return result.records;
|
||||||
callback(result.records);
|
}).then(callback);
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
get_domain: function (other_domain) {
|
get_domain: function (other_domain) {
|
||||||
if (other_domain) {
|
if (other_domain) {
|
||||||
|
|
|
@ -72,6 +72,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
|
||||||
_.each(this.widgets, function(w) {
|
_.each(this.widgets, function(w) {
|
||||||
w.stop();
|
w.stop();
|
||||||
});
|
});
|
||||||
|
this._super();
|
||||||
},
|
},
|
||||||
on_loaded: function(data) {
|
on_loaded: function(data) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
@ -656,11 +657,6 @@ openerp.web.form.Widget = openerp.web.Widget.extend(/** @lends openerp.web.form.
|
||||||
start: function() {
|
start: function() {
|
||||||
this.$element = $('#' + this.element_id);
|
this.$element = $('#' + this.element_id);
|
||||||
},
|
},
|
||||||
stop: function() {
|
|
||||||
if (this.$element) {
|
|
||||||
this.$element.remove();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
process_modifiers: function() {
|
process_modifiers: function() {
|
||||||
var compute_domain = openerp.web.form.compute_domain;
|
var compute_domain = openerp.web.form.compute_domain;
|
||||||
for (var a in this.modifiers) {
|
for (var a in this.modifiers) {
|
||||||
|
|
|
@ -163,7 +163,7 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{
|
||||||
*/
|
*/
|
||||||
init: function(parent, dataset, views) {
|
init: function(parent, dataset, views) {
|
||||||
this._super(parent);
|
this._super(parent);
|
||||||
this.model = dataset.model;
|
this.model = dataset ? dataset.model : undefined;
|
||||||
this.dataset = dataset;
|
this.dataset = dataset;
|
||||||
this.searchview = null;
|
this.searchview = null;
|
||||||
this.active_view = null;
|
this.active_view = null;
|
||||||
|
@ -184,7 +184,6 @@ db.web.ViewManager = db.web.Widget.extend(/** @lends db.web.ViewManager# */{
|
||||||
start: function() {
|
start: function() {
|
||||||
this._super();
|
this._super();
|
||||||
var self = this;
|
var self = this;
|
||||||
this.dataset.start();
|
|
||||||
this.$element.find('.oe_vm_switch button').click(function() {
|
this.$element.find('.oe_vm_switch button').click(function() {
|
||||||
self.on_mode_switch($(this).data('view-type'));
|
self.on_mode_switch($(this).data('view-type'));
|
||||||
});
|
});
|
||||||
|
@ -332,6 +331,7 @@ db.web.ViewManagerAction = db.web.ViewManager.extend(/** @lends oepnerp.web.View
|
||||||
// dataset initialization will take the session from ``this``, so if we
|
// dataset initialization will take the session from ``this``, so if we
|
||||||
// do not have it yet (and we don't, because we've not called our own
|
// do not have it yet (and we don't, because we've not called our own
|
||||||
// ``_super()``) rpc requests will blow up.
|
// ``_super()``) rpc requests will blow up.
|
||||||
|
this._super(parent, null, action.views);
|
||||||
this.session = parent.session;
|
this.session = parent.session;
|
||||||
this.action = action;
|
this.action = action;
|
||||||
var dataset = new db.web.DataSetSearch(this, action.res_model, action.context, action.domain);
|
var dataset = new db.web.DataSetSearch(this, action.res_model, action.context, action.domain);
|
||||||
|
@ -339,7 +339,7 @@ db.web.ViewManagerAction = db.web.ViewManager.extend(/** @lends oepnerp.web.View
|
||||||
dataset.ids.push(action.res_id);
|
dataset.ids.push(action.res_id);
|
||||||
dataset.index = 0;
|
dataset.index = 0;
|
||||||
}
|
}
|
||||||
this._super(parent, dataset, action.views);
|
this.dataset = dataset;
|
||||||
this.flags = this.action.flags || {};
|
this.flags = this.action.flags || {};
|
||||||
if (action.res_model == 'board.board' && action.views.length == 1 && action.views) {
|
if (action.res_model == 'board.board' && action.views.length == 1 && action.views) {
|
||||||
// Not elegant but allows to avoid form chrome (pager, save/new
|
// Not elegant but allows to avoid form chrome (pager, save/new
|
||||||
|
|
|
@ -35,6 +35,7 @@ openerp.web_calendar.CalendarView = openerp.web.View.extend({
|
||||||
},
|
},
|
||||||
stop: function() {
|
stop: function() {
|
||||||
scheduler.clearAll();
|
scheduler.clearAll();
|
||||||
|
this._super();
|
||||||
},
|
},
|
||||||
on_loaded: function(data) {
|
on_loaded: function(data) {
|
||||||
this.fields_view = data;
|
this.fields_view = data;
|
||||||
|
|
|
@ -301,7 +301,7 @@ openerp.web_dashboard.ConfigOverview = openerp.web.View.extend({
|
||||||
.then(this.on_records_loaded);
|
.then(this.on_records_loaded);
|
||||||
},
|
},
|
||||||
on_records_loaded: function (read_response, progress_response) {
|
on_records_loaded: function (read_response, progress_response) {
|
||||||
var records = read_response[0].records,
|
var records = read_response,
|
||||||
progress = progress_response[0];
|
progress = progress_response[0];
|
||||||
|
|
||||||
var grouped_todos = _(records).chain()
|
var grouped_todos = _(records).chain()
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"version": "2.0",
|
"version": "2.0",
|
||||||
"depends": ['web'],
|
"depends": ['web'],
|
||||||
"js": [
|
"js": [
|
||||||
"static/lib/dhtmlxGraph/codebase/dhtmlxchart.js",
|
"static/lib/dhtmlxGraph/codebase/dhtmlxchart_debug.js",
|
||||||
"static/src/js/graph.js"],
|
"static/src/js/graph.js"],
|
||||||
"css": ["static/lib/dhtmlxGraph/codebase/dhtmlxchart.css"],
|
"css": ["static/lib/dhtmlxGraph/codebase/dhtmlxchart.css"],
|
||||||
"active": True
|
"active": True
|
||||||
|
|
Loading…
Reference in New Issue