From cfc962668c606ea60116964a2cb816c38d2c8095 Mon Sep 17 00:00:00 2001 From: Bhanu Gupta Date: Sat, 21 Dec 2019 05:21:43 +0530 Subject: [PATCH 1/3] Added fuctionality of form submit by enter key in Wikidata Login dialogue --- .../scripts/dialogs/manage-account-dialog.js | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js b/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js index fb35fd32e..76087c6b5 100644 --- a/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js +++ b/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js @@ -48,7 +48,7 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca elmts.loggedInUsername .text(logged_in_username) .attr('href', 'https://www.wikidata.org/wiki/User:'+logged_in_username); - + frame.find('.cancel-button').click(function() { dismiss(); callback(null); @@ -70,6 +70,25 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca }); }); + + document.addEventListener('keydown', function(event) { + if (event.keyCode == 13) { + frame.hide(); + Refine.postCSRF( + "command/wikidata/login", + elmts.loginForm.serialize(), + function(data) { + if (data.logged_in) { + dismiss(); + callback(data.username); + } else { + frame.show(); + elmts.invalidCredentials.text("Invalid credentials."); + } + }); + } + }); + elmts.logoutButton.click(function() { Refine.postCSRF( "command/wikidata/login", @@ -79,7 +98,7 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca dismiss(); callback(null); } - }); + }); }); }; @@ -95,7 +114,7 @@ ManageAccountDialog.isLoggedIn = function(callback) { ManageAccountDialog.firstLogin = false; callback(data.username); }); -}; +}; ManageAccountDialog.ensureLoggedIn = function(callback) { ManageAccountDialog.isLoggedIn(function(logged_in_username) { From acba3e59ae2f85dc9b5c4761766e190b1e3bced7 Mon Sep 17 00:00:00 2001 From: Bhanu Gupta Date: Sun, 22 Dec 2019 19:56:39 +0530 Subject: [PATCH 2/3] Enter key press issues resolved --- .../scripts/dialogs/manage-account-dialog.js | 59 ++++++++++--------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js b/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js index 76087c6b5..a61391d5a 100644 --- a/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js +++ b/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js @@ -17,6 +17,7 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca var self = this; var frame = $(DOM.loadHTML("wikidata", "scripts/dialogs/manage-account-dialog.html")); var elmts = this._elmts = DOM.bind(frame); + var isOpen = true; ManageAccountDialog.firstLaunch = false; this._elmts.dialogHeader.text($.i18n('wikidata-account/dialog-header')); @@ -37,6 +38,7 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca var dismiss = function() { DialogSystem.dismissUntil(self._level - 1); + isOpen = false; }; if (logged_in_username != null) { @@ -54,40 +56,39 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca callback(null); }); + var Login = (function() { + return function() { + frame.hide(); + Refine.postCSRF( + "command/wikidata/login", + elmts.loginForm.serialize(), + function(data) { + if (data.logged_in) { + dismiss(); + callback(data.username); + } + else { + frame.show(); + isOpen = true; + elmts.invalidCredentials.text("Invalid credentials."); + } + }); + }; + })(); + + elmts.loginButton.click(function() { - frame.hide(); - Refine.postCSRF( - "command/wikidata/login", - elmts.loginForm.serialize(), - function(data) { - if (data.logged_in) { - dismiss(); - callback(data.username); - } else { - frame.show(); - elmts.invalidCredentials.text("Invalid credentials."); - } - }); + Login(); }); - document.addEventListener('keydown', function(event) { - if (event.keyCode == 13) { - frame.hide(); - Refine.postCSRF( - "command/wikidata/login", - elmts.loginForm.serialize(), - function(data) { - if (data.logged_in) { - dismiss(); - callback(data.username); - } else { - frame.show(); - elmts.invalidCredentials.text("Invalid credentials."); - } - }); + if(isOpen == true){ + if (event.keyCode == 13) { + isOpen = false; + Login(); } - }); + } + }); elmts.logoutButton.click(function() { Refine.postCSRF( From 7c06afc3bbe753b747bcb3bdeea14e4f9423176f Mon Sep 17 00:00:00 2001 From: Bhanu Gupta Date: Sun, 22 Dec 2019 20:01:29 +0530 Subject: [PATCH 3/3] Enter key press issues resolved --- .../wikidata/module/scripts/dialogs/manage-account-dialog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js b/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js index a61391d5a..0acd455af 100644 --- a/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js +++ b/extensions/wikidata/module/scripts/dialogs/manage-account-dialog.js @@ -59,6 +59,7 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca var Login = (function() { return function() { frame.hide(); + isOpen = false; Refine.postCSRF( "command/wikidata/login", elmts.loginForm.serialize(), @@ -84,7 +85,6 @@ ManageAccountDialog.display = function(logged_in_username, saved_credentials, ca document.addEventListener('keydown', function(event) { if(isOpen == true){ if (event.keyCode == 13) { - isOpen = false; Login(); } }