[imp] replaced many usages of setTimeout by async_when

bzr revid: nicolas.vanhoren@openerp.com-20111219162805-0ibqw4hn23imkfuj
This commit is contained in:
niv-openerp 2011-12-19 17:28:05 +01:00
parent 10bd9f1aee
commit f295808ff1
4 changed files with 19 additions and 19 deletions

View File

@ -689,7 +689,7 @@ openerp.web.BufferedDataSet = openerp.web.DataSetStatic.extend({
this.set_ids(_.without.apply(_, [this.ids].concat(ids))); this.set_ids(_.without.apply(_, [this.ids].concat(ids)));
this.on_change(); this.on_change();
var to_return = $.Deferred().then(callback); var to_return = $.Deferred().then(callback);
setTimeout(function () {to_return.resolve({result: true});}, 0); $.async_when().then(function () {to_return.resolve({result: true});});
return to_return.promise(); return to_return.promise();
}, },
reset_ids: function(ids) { reset_ids: function(ids) {
@ -788,7 +788,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
} else { } else {
console.warn("trying to create a record using default proxy dataset behavior"); console.warn("trying to create a record using default proxy dataset behavior");
var to_return = $.Deferred().then(callback); var to_return = $.Deferred().then(callback);
setTimeout(function () {to_return.resolve({"result": undefined});}, 0); $.async_when().then(function () {to_return.resolve({"result": undefined});});
return to_return.promise(); return to_return.promise();
} }
}, },
@ -800,7 +800,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
} else { } else {
console.warn("trying to write a record using default proxy dataset behavior"); console.warn("trying to write a record using default proxy dataset behavior");
var to_return = $.Deferred().then(callback); var to_return = $.Deferred().then(callback);
setTimeout(function () {to_return.resolve({"result": true});}, 0); $.async_when().then(function () {to_return.resolve({"result": true});});
return to_return.promise(); return to_return.promise();
} }
}, },
@ -809,7 +809,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
this.on_unlink(ids); this.on_unlink(ids);
console.warn("trying to unlink a record using default proxy dataset behavior"); console.warn("trying to unlink a record using default proxy dataset behavior");
var to_return = $.Deferred().then(callback); var to_return = $.Deferred().then(callback);
setTimeout(function () {to_return.resolve({"result": true});}, 0); $.async_when().then(function () {to_return.resolve({"result": true});});
return to_return.promise(); return to_return.promise();
}, },
on_unlink: function(ids) {} on_unlink: function(ids) {}

View File

@ -60,7 +60,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView#
if (this.embedded_view) { if (this.embedded_view) {
var def = $.Deferred().then(this.on_loaded); var def = $.Deferred().then(this.on_loaded);
var self = this; var self = this;
setTimeout(function() {def.resolve(self.embedded_view);}, 0); $.async_when().then(function() {def.resolve(self.embedded_view);});
return def.promise(); return def.promise();
} else { } else {
var context = new openerp.web.CompoundContext(this.dataset.get_context()); var context = new openerp.web.CompoundContext(this.dataset.get_context());
@ -1734,7 +1734,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({
return true; return true;
}, menuStyle: {width: "200px"} }, menuStyle: {width: "200px"}
}); });
setTimeout(function() {self.$menu_btn.trigger(e);}, 0); $.async_when().then(function() {self.$menu_btn.trigger(e);});
}); });
}); });
var ctx_callback = function(e) {init_context_menu_def.resolve(e); e.preventDefault()}; var ctx_callback = function(e) {init_context_menu_def.resolve(e); e.preventDefault()};
@ -1918,7 +1918,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({
real_set_value(data[0]); real_set_value(data[0]);
}).fail(function() {self.tmp_value = undefined;}); }).fail(function() {self.tmp_value = undefined;});
} else { } else {
setTimeout(function() {real_set_value(value);}, 0); $.async_when().then(function() {real_set_value(value);});
} }
}, },
get_value: function() { get_value: function() {
@ -2110,13 +2110,13 @@ openerp.web.form.FieldOne2Many = openerp.web.form.Field.extend({
this.viewmanager.on_mode_switch.add_first(function(n_mode, b, c, d, e) { this.viewmanager.on_mode_switch.add_first(function(n_mode, b, c, d, e) {
$.when(self.save_any_view()).then(function() { $.when(self.save_any_view()).then(function() {
if(n_mode === "list") if(n_mode === "list")
setTimeout(function() {self.reload_current_view();}, 0); $.async_when().then(function() {self.reload_current_view();});
}); });
}); });
this.is_setted.then(function() { this.is_setted.then(function() {
setTimeout(function () { $.async_when().then(function () {
self.viewmanager.appendTo(self.$element); self.viewmanager.appendTo(self.$element);
}, 0); });
}); });
return def; return def;
}, },
@ -2402,9 +2402,9 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({
self.initial_is_loaded.resolve(); self.initial_is_loaded.resolve();
loaded.resolve(); loaded.resolve();
}); });
setTimeout(function () { $.async_when().then(function () {
self.list_view.appendTo($("#" + self.list_id)); self.list_view.appendTo($("#" + self.list_id));
}, 0); });
return loaded; return loaded;
}, },
reload_content: function() { reload_content: function() {

View File

@ -1276,7 +1276,7 @@ openerp.web.ListView.Groups = openerp.web.Class.extend( /** @lends openerp.web.L
var fields = _.pluck(_.select(this.columns, function(x) {return x.tag == "field"}), 'name'); var fields = _.pluck(_.select(this.columns, function(x) {return x.tag == "field"}), 'name');
var options = { offset: page * limit, limit: limit }; var options = { offset: page * limit, limit: limit };
//TODO xmo: investigate why we need to put the setTimeout //TODO xmo: investigate why we need to put the setTimeout
setTimeout(function() {dataset.read_slice(fields, options , function (records) { $.async_when().then(function() {dataset.read_slice(fields, options , function (records) {
// FIXME: ignominious hacks, parents (aka form view) should not send two ListView#reload_content concurrently // FIXME: ignominious hacks, parents (aka form view) should not send two ListView#reload_content concurrently
if (self.records.length) { if (self.records.length) {
self.records.reset(null, {silent: true}); self.records.reset(null, {silent: true});
@ -1299,7 +1299,7 @@ openerp.web.ListView.Groups = openerp.web.Class.extend( /** @lends openerp.web.L
self.records.add(records, {silent: true}); self.records.add(records, {silent: true});
list.render(); list.render();
d.resolve(list); d.resolve(list);
});}, 0); });});
return d.promise(); return d.promise();
}, },
setup_resequence_rows: function (list, dataset) { setup_resequence_rows: function (list, dataset) {
@ -1341,9 +1341,9 @@ openerp.web.ListView.Groups = openerp.web.Class.extend( /** @lends openerp.web.L
// Accounting > Taxes > Taxes, child tax accounts) // Accounting > Taxes > Taxes, child tax accounts)
// when synchronous (without setTimeout) // when synchronous (without setTimeout)
(function (dataset, id, seq) { (function (dataset, id, seq) {
setTimeout(function () { $.async_when().then(function () {
dataset.write(id, {sequence: seq}); dataset.write(id, {sequence: seq});
}, 0); });
}(dataset, record.get('id'), seq)); }(dataset, record.get('id'), seq));
record.set('sequence', seq); record.set('sequence', seq);
} }

View File

@ -55,9 +55,9 @@ openerp.web.page = function (openerp) {
def.resolve(); def.resolve();
}); });
} else { } else {
setTimeout(function () { $.async_when().then(function () {
def.reject(); def.reject();
}, 0) })
} }
}); });
return def.promise(); return def.promise();
@ -171,7 +171,7 @@ openerp.web.page = function (openerp) {
real_set_value(data[0]); real_set_value(data[0]);
}); });
} else { } else {
setTimeout(function() {real_set_value(value);}, 0); $.async_when().then(function() {real_set_value(value);});
} }
}, },
get_value: function() { get_value: function() {