[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.on_change();
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();
},
reset_ids: function(ids) {
@ -788,7 +788,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
} else {
console.warn("trying to create a record using default proxy dataset behavior");
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();
}
},
@ -800,7 +800,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
} else {
console.warn("trying to write a record using default proxy dataset behavior");
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();
}
},
@ -809,7 +809,7 @@ openerp.web.ProxyDataSet = openerp.web.DataSetSearch.extend({
this.on_unlink(ids);
console.warn("trying to unlink a record using default proxy dataset behavior");
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();
},
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) {
var def = $.Deferred().then(this.on_loaded);
var self = this;
setTimeout(function() {def.resolve(self.embedded_view);}, 0);
$.async_when().then(function() {def.resolve(self.embedded_view);});
return def.promise();
} else {
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;
}, 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()};
@ -1918,7 +1918,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({
real_set_value(data[0]);
}).fail(function() {self.tmp_value = undefined;});
} else {
setTimeout(function() {real_set_value(value);}, 0);
$.async_when().then(function() {real_set_value(value);});
}
},
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) {
$.when(self.save_any_view()).then(function() {
if(n_mode === "list")
setTimeout(function() {self.reload_current_view();}, 0);
$.async_when().then(function() {self.reload_current_view();});
});
});
this.is_setted.then(function() {
setTimeout(function () {
$.async_when().then(function () {
self.viewmanager.appendTo(self.$element);
}, 0);
});
});
return def;
},
@ -2402,9 +2402,9 @@ openerp.web.form.FieldMany2Many = openerp.web.form.Field.extend({
self.initial_is_loaded.resolve();
loaded.resolve();
});
setTimeout(function () {
$.async_when().then(function () {
self.list_view.appendTo($("#" + self.list_id));
}, 0);
});
return loaded;
},
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 options = { offset: page * limit, limit: limit };
//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
if (self.records.length) {
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});
list.render();
d.resolve(list);
});}, 0);
});});
return d.promise();
},
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)
// when synchronous (without setTimeout)
(function (dataset, id, seq) {
setTimeout(function () {
$.async_when().then(function () {
dataset.write(id, {sequence: seq});
}, 0);
});
}(dataset, record.get('id'), seq));
record.set('sequence', seq);
}

View File

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