diff options
| author | Christophe Simonis <chs@odoo.com> | 2015-03-10 18:33:30 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2015-03-10 18:33:30 +0100 |
| commit | 9eccc71a14f31924896fbb09acfac13c90c50fc6 (patch) | |
| tree | c8402ecc257f791582c26f961ce1ef800ede59ad /addons/web/static/src/js | |
| parent | ef020a257424ae9be06201dafe4bf5db66c8c5f5 (diff) | |
| parent | c0496ed03a28e062817dc89450ad77fdcbe30bc6 (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.js | 16 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 6 | ||||
| -rw-r--r-- | addons/web/static/src/js/views.js | 1 |
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(); |
