diff --git a/modules/UI/toolbars/Toolbar.js b/modules/UI/toolbars/Toolbar.js index 4980ff93e..2214c7945 100644 --- a/modules/UI/toolbars/Toolbar.js +++ b/modules/UI/toolbars/Toolbar.js @@ -20,15 +20,24 @@ function openLinkDialog () { inviteAttributes = "value=\"" + encodeURI(roomUrl) + "\""; } + let inviteLinkId = "inviteLinkRef"; + let focusInviteLink = function() { + $('#' + inviteLinkId).focus(); + $('#' + inviteLinkId).select(); + }; + let title = APP.translation.generateTranslationHTML("dialog.shareLink"); APP.UI.messageHandler.openTwoButtonDialog( null, title, null, - '', false, "dialog.copy", function (e, v) { if (v && roomUrl) { JitsiMeetJS.analytics.sendEvent('toolbar.invite.button'); + + focusInviteLink(); + document.execCommand('copy'); } else { @@ -36,20 +45,21 @@ function openLinkDialog () { } }, function (event) { - if (roomUrl) { - $('#inviteLinkRef').focus(); - $('#inviteLinkRef').select(); - } else { + if (!roomUrl) { if (event && event.target) { $(event.target).find('button[value=true]') .prop('disabled', true); } } + else { + focusInviteLink(); + } }, function (e, v, m, f) { if(!v && !m && !f) JitsiMeetJS.analytics.sendEvent('toolbar.invite.close'); - } + }, + 'Copy' // Focus Copy button. ); } diff --git a/modules/UI/util/MessageHandler.js b/modules/UI/util/MessageHandler.js index 8c9cfb31b..12d3ef4fc 100644 --- a/modules/UI/util/MessageHandler.js +++ b/modules/UI/util/MessageHandler.js @@ -108,7 +108,7 @@ var messageHandler = { persistent: false, buttons: buttons, defaultButton: defaultButton, - focus: (focus && focus >= 0) ? focus : -1, + focus: (focus) ? focus : '', loaded: loadedFunction, submit: function (e, v, m, f) { twoButtonDialog = null;