summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2015-03-10 18:33:30 +0100
committerChristophe Simonis <chs@odoo.com>2015-03-10 18:33:30 +0100
commit9eccc71a14f31924896fbb09acfac13c90c50fc6 (patch)
treec8402ecc257f791582c26f961ce1ef800ede59ad /addons/web/static/src/js
parentef020a257424ae9be06201dafe4bf5db66c8c5f5 (diff)
parentc0496ed03a28e062817dc89450ad77fdcbe30bc6 (diff)
[MERGE] forward port of branch 8.0 up to c0496ed
Diffstat (limited to 'addons/web/static/src/js')
-rw-r--r--addons/web/static/src/js/search.js16
-rw-r--r--addons/web/static/src/js/view_form.js6
-rw-r--r--addons/web/static/src/js/views.js1
3 files changed, 15 insertions, 8 deletions
diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js
index a0398c80a5b..f65cb3cb140 100644
--- a/addons/web/static/src/js/search.js
+++ b/addons/web/static/src/js/search.js
@@ -2153,12 +2153,20 @@ instance.web.search.AutoComplete = instance.web.Widget.extend({
}
return;
}
- if (!self.searching) {
- self.searching = true;
- return;
+ var search_string = self.get_search_string();
+ if (self.search_string !== search_string) {
+ if (search_string.length) {
+ self.search_string = search_string;
+ setTimeout(function () { self.initiate_search(search_string);}, self.delay);
+ } else {
+ self.close();
+ }
}
- self.search_string = self.get_search_string();
+ });
+ this.$input.on('keypress', function (ev) {
+ self.search_string = self.get_search_string() + String.fromCharCode(ev.which);
if (self.search_string.length) {
+ self.searching = true;
var search_string = self.search_string;
setTimeout(function () { self.initiate_search(search_string);}, self.delay);
} else {
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 92e6bf3b766..7284553a422 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -4393,8 +4393,8 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
this.records
.bind('add', this.proxy("changed_records"))
- .bind('edit', this.proxy("changed_records"))
.bind('remove', this.proxy("changed_records"));
+ this.on('save:after', this, this.proxy("changed_records"));
},
start: function () {
var ret = this._super();
@@ -4411,7 +4411,6 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
if (!this.fields_view || !this.editable()){
return true;
}
- var r;
if (_.isEmpty(this.records.records)){
return true;
}
@@ -4422,9 +4421,8 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
current_values[field.name] = field.get('value');
});
var valid = _.every(this.records.records, function(record){
- r = record;
_.each(self.editor.form.fields, function(field){
- field.set_value(r.attributes[field.name]);
+ field.set_value(record.attributes[field.name]);
});
return _.every(self.editor.form.fields, function(field){
field.process_modifiers();
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 7f3562571f2..e58753e1efa 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -350,6 +350,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
search_disable_custom_filters: action.context && action.context.search_disable_custom_filters
});
action.menu_id = options.action_menu_id;
+ action.context.params = _.extend({ 'action' : action.id }, action.context.params);
if (!(type in this)) {
console.error("Action manager can't handle action of type " + action.type, action);
return $.Deferred().reject();