[pbs-devel] [PATCH proxmox-backup] ui: autofocus after rendering text fields for 2fa
Thomas Lamprecht
t.lamprecht at proxmox.com
Thu Feb 4 16:11:58 CET 2021
On 04.02.21 15:39, Oguz Bektas wrote:
> also fix a small typo
>
> Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
> ---
> www/LoginView.js | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/www/LoginView.js b/www/LoginView.js
> index 15373533..5e8b2f93 100644
> --- a/www/LoginView.js
> +++ b/www/LoginView.js
> @@ -525,6 +525,11 @@ Ext.define('PBS.login.TfaWindow', {
> allowBlank: false,
> regex: /^[0-9]{6}$/,
> regexText: 'TOTP codes consist of six decimal digits',
> + listeners: {
> + afterrender: function(field) {
> + field.focus();
> + },
> + },
arrow functions are much nicer for such things:
listeners: {
afterrender: field => field.focus(),
},
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
Besides that, this could be added to the existing controllers 'field' control
instance, it's not really nice to have the control logic split.
I did not test it, but if the following works you get +1 not +10 lines of change:
diff --git a/www/LoginView.js b/www/LoginView.js
index f7380339..54bc8de0 100644
--- a/www/LoginView.js
+++ b/www/LoginView.js
@@ -338,6 +338,7 @@ Ext.define('PBS.login.TfaWindow', {
// non-visible tab, so we can just directly use the valid param
this.getViewModel().set('canConfirm', valid);
},
+ afterrender: field => field.focus(), // ensure focus on initial render
},
},
> },
> ],
> },
> @@ -551,7 +556,12 @@ Ext.define('PBS.login.TfaWindow', {
> reference: 'recoveryKey',
> allowBlank: false,
> regex: /^[0-9a-f]{4}(-[0-9a-f]{4}){3}$/,
> - regexText: 'Does not looks like a valid recovery key',
> + regexText: 'Does not look like a valid recovery key',
we may also want to wrap that in gettext() for translation availability
(separate patch please)
> + listeners: {
> + afterrender: function(field) {
> + field.focus();
same here.
> + },
> + },
> },
> {
> xtype: 'box',
>
More information about the pbs-devel
mailing list