summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMahendra Barad <mba@odoo.com>2018-09-07 13:46:20 +0200
committerThibault Delavallée <tde@odoo.com>2018-09-07 14:39:32 +0200
commitf81f85eba2eebb71671c7bc677bd872e2e3311d8 (patch)
treec3a0562cc913b9b843257a2ad08a1a3f208908a9
parent9c277c6b6d00415c02c8b0a79556905bcfb82207 (diff)
[IMP] base: properly focus search input in settings
Before this commit, the search input was focused everytime the settings view was rendered after a timeout of 0. This is not considered as correct. It is fragile as asynchronous code could break in many situations. This commit fixes that behavior by using a hook 'on_attach_callback' which is called when the widget is put in the DOM. This commit is linked to task ID 47221 and PR #26483.
-rw-r--r--odoo/addons/base/static/src/js/res_config_settings.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/odoo/addons/base/static/src/js/res_config_settings.js b/odoo/addons/base/static/src/js/res_config_settings.js
index 69a54ff2df6..855b03452ae 100644
--- a/odoo/addons/base/static/src/js/res_config_settings.js
+++ b/odoo/addons/base/static/src/js/res_config_settings.js
@@ -33,6 +33,15 @@ var BaseSettingRenderer = FormRenderer.extend({
},
/**
+ * @override
+ */
+ on_attach_callback: function () {
+ this._super.apply(this, arguments);
+ // set default focus on searchInput
+ this.searchInput.focus();
+ },
+
+ /**
* initialize modules list.
* remove module that restricted in groups
* data contains
@@ -213,6 +222,7 @@ var BaseSettingRenderer = FormRenderer.extend({
},
_onSettingTabClick: function (event) {
+ this.searchInput.focus();
if (this.searchText.length > 0) {
this.searchInput.val('');
this.searchText = "";
@@ -341,6 +351,7 @@ var BaseSettingRenderer = FormRenderer.extend({
var BaseSettingController = FormController.extend({
init: function () {
this._super.apply(this, arguments);
+ this.disableAutofocus = true;
this.renderer.activeSettingTab = this.initialState.context.module;
},
});