diff --git a/interface_config.js b/interface_config.js
index adff2c338..1e07ad678 100644
--- a/interface_config.js
+++ b/interface_config.js
@@ -17,6 +17,10 @@ var interfaceConfig = { // eslint-disable-line no-unused-vars
GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,
APP_NAME: "Jitsi Meet",
INVITATION_POWERED_BY: true,
+ /**
+ * If we should show authentication block in profile
+ */
+ AUTHENTICATION_ENABLE: true,
// the toolbar buttons line is intentionally left in one line, to be able
// to easily override values or remove them using regex
MAIN_TOOLBAR_BUTTONS: ['microphone', 'camera', 'desktop', 'invite', 'fullscreen', 'hangup'], // jshint ignore:line
diff --git a/modules/UI/UI.js b/modules/UI/UI.js
index bd19c6249..adfe408bb 100644
--- a/modules/UI/UI.js
+++ b/modules/UI/UI.js
@@ -362,8 +362,6 @@ function registerListeners() {
UI.addListener(UIEvents.TOGGLE_FULLSCREEN, UI.toggleFullScreen);
- UI.addListener(UIEvents.TOGGLE_AUTHENTICATION, UI.toggleAuthentication);
-
UI.addListener(UIEvents.TOGGLE_CHAT, UI.toggleChat);
UI.addListener(UIEvents.TOGGLE_SETTINGS, function () {
@@ -724,13 +722,6 @@ UI.isFilmStripVisible = function () {
return FilmStrip.isFilmStripVisible();
};
-/**
- * Toggles authentication panel.
- */
-UI.toggleAuthentication = function () {
- UI.toggleSidePanel("authentication_container");
-};
-
/**
* Toggles chat panel.
*/
@@ -1149,11 +1140,12 @@ UI.notifyFocusLeft = function () {
* @param {string} [login] current login
*/
UI.updateAuthInfo = function (isAuthEnabled, login) {
+ let showAuth = isAuthEnabled && UIUtil.isAuthenticationEnabled();
let loggedIn = !!login;
- Toolbar.showAuthenticateButton(isAuthEnabled);
+ Toolbar.showAuthenticateButton(showAuth);
- if (isAuthEnabled) {
+ if (showAuth) {
Toolbar.setAuthenticatedIdentity(login);
Toolbar.showLoginButton(!loggedIn);
diff --git a/modules/UI/authentication/LoginDialog.js b/modules/UI/authentication/LoginDialog.js
index e730e848a..6ee3606f3 100644
--- a/modules/UI/authentication/LoginDialog.js
+++ b/modules/UI/authentication/LoginDialog.js
@@ -8,16 +8,15 @@ function getPasswordInputHtml() {
let placeholder = config.hosts.authdomain
? "user identity"
: "user@domain.net";
- let passRequiredMsg = APP.translation.translateString(
- "dialog.passwordRequired"
- );
+
return `
-
${passRequiredMsg}
-
+
- `;
+ placeholder="user password">`;
}
/**
@@ -80,6 +79,7 @@ function LoginDialog(successCallback, cancelCallback) {
const states = {
login: {
+ title: APP.translation.translateString('dialog.passwordRequired'),
html: getPasswordInputHtml(),
buttons: loginButtons,
focus: ':input:first',
diff --git a/modules/UI/toolbars/Toolbar.js b/modules/UI/toolbars/Toolbar.js
index 4e9f211d0..01c02b31f 100644
--- a/modules/UI/toolbars/Toolbar.js
+++ b/modules/UI/toolbars/Toolbar.js
@@ -6,68 +6,7 @@ import SideContainerToggler from "../side_pannels/SideContainerToggler";
let emitter = null;
let Toolbar;
-/**
- * Opens the invite link dialog.
- */
-function openLinkDialog () {
- let inviteAttributes;
-
- if (roomUrl === null) {
- inviteAttributes = 'data-i18n="[value]roomUrlDefaultMsg" value="' +
- APP.translation.translateString("roomUrlDefaultMsg") + '"';
- } else {
- inviteAttributes = "value=\"" + encodeURI(roomUrl) + "\"";
- }
-
- let inviteLinkId = "inviteLinkRef";
- let focusInviteLink = function() {
- $('#' + inviteLinkId)
- .focus()
- .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 {
- JitsiMeetJS.analytics.sendEvent('toolbar.invite.cancel');
- }
- },
- function (event) {
- 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.
- );
-}
-
const buttonHandlers = {
- "toolbar_button_authentication": function() {
- JitsiMeetJS.analytics.sendEvent('toolbar.authentication.toggled');
- emitter.emit(UIEvents.TOGGLE_AUTHENTICATION);
- },
"toolbar_button_profile": function () {
JitsiMeetJS.analytics.sendEvent('toolbar.profile.toggled');
emitter.emit(UIEvents.TOGGLE_PROFILE);
@@ -186,11 +125,6 @@ const buttonHandlers = {
};
const defaultToolbarButtons = {
- 'authentication': {
- id: 'toolbar_button_authentication',
- tooltipKey: 'toolbar.authenticate',
- sideContainerId: 'authentication_container'
- },
'microphone': {
id: 'toolbar_button_mute',
tooltipKey: 'toolbar.mute',
@@ -457,11 +391,9 @@ Toolbar = {
* @param show true to show or false to hide
*/
showAuthenticateButton (show) {
- if (UIUtil.isButtonEnabled('authentication') && show) {
- $('#toolbar_button_authentication').css({display: "inline"});
- } else {
- $('#toolbar_button_authentication').css({display: "none"});
- }
+ let display = show ? 'block' : 'none';
+
+ $('#authenticationContainer').css({display});
},
showEtherpadButton () {
@@ -515,12 +447,14 @@ Toolbar = {
* @param authIdentity identity name to be displayed.
*/
setAuthenticatedIdentity (authIdentity) {
+ let selector = $('#toolbar_auth_identity');
+
if (authIdentity) {
- let selector = $('#toolbar_auth_identity');
selector.css({display: "list-item"});
selector.text(authIdentity);
} else {
- $('#toolbar_auth_identity').css({display: "none"});
+ selector.css({display: "none"});
+ selector.text('');
}
},
@@ -529,7 +463,7 @@ Toolbar = {
* @param show true to show
*/
showLoginButton (show) {
- if (UIUtil.isButtonEnabled('authentication') && show) {
+ if (show) {
$('#toolbar_button_login').css({display: "list-item"});
} else {
$('#toolbar_button_login').css({display: "none"});
@@ -541,7 +475,7 @@ Toolbar = {
* @param show true to show
*/
showLogoutButton (show) {
- if (UIUtil.isButtonEnabled('authentication') && show) {
+ if (show) {
$('#toolbar_button_logout').css({display: "list-item"});
} else {
$('#toolbar_button_logout').css({display: "none"});
diff --git a/modules/UI/util/UIUtil.js b/modules/UI/util/UIUtil.js
index daa1b3570..fe4d1f739 100644
--- a/modules/UI/util/UIUtil.js
+++ b/modules/UI/util/UIUtil.js
@@ -204,6 +204,15 @@ const TOOLTIP_POSITIONS = {
return interfaceConfig.SETTINGS_SECTIONS.indexOf(name) !== -1;
},
+ /**
+ * Indicates if Authentication Section should be shown
+ *
+ * @returns {boolean}
+ */
+ isAuthenticationEnabled: function() {
+ return interfaceConfig.AUTHENTICATION_ENABLE;
+ },
+
/**
* Shows the element given by id.
*
diff --git a/service/UI/UIEvents.js b/service/UI/UIEvents.js
index 87ecbbb02..ed2b492e5 100644
--- a/service/UI/UIEvents.js
+++ b/service/UI/UIEvents.js
@@ -44,10 +44,6 @@ export default {
* Notifies that the profile toolbar button has been clicked.
*/
TOGGLE_PROFILE: "UI.toggle_profile",
- /**
- * Notifies that the authentication toolbar button has been clicked.
- */
- TOGGLE_AUTHENTICATION: "UI.toggle_authentication",
/**
* Notifies that a command to toggle the film strip has been issued. The
* event may optionally specify a {Boolean} (primitive) value to assign to