Fix problem with dialogs
This commit is contained in:
parent
60b14e9b45
commit
8896b0adf3
110
modules/UI/UI.js
110
modules/UI/UI.js
|
@ -83,57 +83,6 @@ JITSI_TRACK_ERROR_TO_MESSAGE_KEY_MAP.microphone[TrackErrors.CONSTRAINT_FAILED]
|
||||||
JITSI_TRACK_ERROR_TO_MESSAGE_KEY_MAP.microphone[TrackErrors.NO_DATA_FROM_SOURCE]
|
JITSI_TRACK_ERROR_TO_MESSAGE_KEY_MAP.microphone[TrackErrors.NO_DATA_FROM_SOURCE]
|
||||||
= "dialog.micNotSendingData";
|
= "dialog.micNotSendingData";
|
||||||
|
|
||||||
/**
|
|
||||||
* Prompt user for nickname.
|
|
||||||
*/
|
|
||||||
function promptDisplayName() {
|
|
||||||
let labelKey = 'dialog.enterDisplayName';
|
|
||||||
let message = (
|
|
||||||
`<div class="form-control">
|
|
||||||
<label data-i18n="${labelKey}" class="form-control__label"></label>
|
|
||||||
<input name="displayName" type="text"
|
|
||||||
data-i18n="[placeholder]defaultNickname"
|
|
||||||
class="input-control" autofocus>
|
|
||||||
</div>`
|
|
||||||
);
|
|
||||||
|
|
||||||
// Don't use a translation string, because we're too early in the call and
|
|
||||||
// the translation may not be initialised.
|
|
||||||
let buttons = {Ok:true};
|
|
||||||
|
|
||||||
let dialog = messageHandler.openDialog(
|
|
||||||
'dialog.displayNameRequired',
|
|
||||||
message,
|
|
||||||
true,
|
|
||||||
buttons,
|
|
||||||
function (e, v, m, f) {
|
|
||||||
e.preventDefault();
|
|
||||||
if (v) {
|
|
||||||
let displayName = f.displayName;
|
|
||||||
if (displayName) {
|
|
||||||
UI.inputDisplayNameHandler(displayName);
|
|
||||||
dialog.close();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
function () {
|
|
||||||
let form = $.prompt.getPrompt();
|
|
||||||
let input = form.find("input[name='displayName']");
|
|
||||||
input.focus();
|
|
||||||
let button = form.find("button");
|
|
||||||
button.attr("disabled", "disabled");
|
|
||||||
input.keyup(function () {
|
|
||||||
if (input.val()) {
|
|
||||||
button.removeAttr("disabled");
|
|
||||||
} else {
|
|
||||||
button.attr("disabled", "disabled");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize toolbars with side panels.
|
* Initialize toolbars with side panels.
|
||||||
*/
|
*/
|
||||||
|
@ -382,12 +331,6 @@ UI.start = function () {
|
||||||
|
|
||||||
document.title = interfaceConfig.APP_NAME;
|
document.title = interfaceConfig.APP_NAME;
|
||||||
|
|
||||||
if(config.requireDisplayName) {
|
|
||||||
if (!APP.settings.getDisplayName()) {
|
|
||||||
promptDisplayName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!interfaceConfig.filmStripOnly) {
|
if (!interfaceConfig.filmStripOnly) {
|
||||||
toastr.options = {
|
toastr.options = {
|
||||||
"closeButton": true,
|
"closeButton": true,
|
||||||
|
@ -916,6 +859,59 @@ UI.participantConnectionStatusChanged = function (id, isActive) {
|
||||||
VideoLayout.onParticipantConnectionStatusChanged(id, isActive);
|
VideoLayout.onParticipantConnectionStatusChanged(id, isActive);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prompt user for nickname.
|
||||||
|
*/
|
||||||
|
UI.promptDisplayName = () => {
|
||||||
|
const labelKey = 'dialog.enterDisplayName';
|
||||||
|
const message = (
|
||||||
|
`<div class="form-control">
|
||||||
|
<label data-i18n="${labelKey}" class="form-control__label"></label>
|
||||||
|
<input name="displayName" type="text"
|
||||||
|
data-i18n="[placeholder]defaultNickname"
|
||||||
|
class="input-control" autofocus>
|
||||||
|
</div>`
|
||||||
|
);
|
||||||
|
|
||||||
|
// Don't use a translation string, because we're too early in the call and
|
||||||
|
// the translation may not be initialised.
|
||||||
|
const buttons = { Ok: true };
|
||||||
|
|
||||||
|
const dialog = messageHandler.openDialog(
|
||||||
|
'dialog.displayNameRequired',
|
||||||
|
message,
|
||||||
|
true,
|
||||||
|
buttons,
|
||||||
|
(e, v, m, f) => {
|
||||||
|
e.preventDefault();
|
||||||
|
if (v) {
|
||||||
|
const displayName = f.displayName;
|
||||||
|
|
||||||
|
if (displayName) {
|
||||||
|
UI.inputDisplayNameHandler(displayName);
|
||||||
|
dialog.close();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
() => {
|
||||||
|
const form = $.prompt.getPrompt();
|
||||||
|
const input = form.find("input[name='displayName']");
|
||||||
|
const button = form.find("button");
|
||||||
|
|
||||||
|
input.focus();
|
||||||
|
button.attr("disabled", "disabled");
|
||||||
|
input.keyup(() => {
|
||||||
|
if (input.val()) {
|
||||||
|
button.removeAttr("disabled");
|
||||||
|
} else {
|
||||||
|
button.attr("disabled", "disabled");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update audio level visualization for specified user.
|
* Update audio level visualization for specified user.
|
||||||
* @param {string} id user id
|
* @param {string} id user id
|
||||||
|
|
|
@ -12,6 +12,7 @@ import { appNavigate } from '../../app';
|
||||||
import { setUnsupportedBrowser } from '../../unsupported-browser';
|
import { setUnsupportedBrowser } from '../../unsupported-browser';
|
||||||
|
|
||||||
declare var APP: Object;
|
declare var APP: Object;
|
||||||
|
declare var config: Object;
|
||||||
|
|
||||||
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
||||||
|
|
||||||
|
@ -71,6 +72,10 @@ export function connect() {
|
||||||
});
|
});
|
||||||
|
|
||||||
APP.keyboardshortcut.init();
|
APP.keyboardshortcut.init();
|
||||||
|
|
||||||
|
if (config.requireDisplayName && !APP.settings.getDisplayName()) {
|
||||||
|
APP.UI.promptDisplayName();
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
APP.UI.hideRingOverLay();
|
APP.UI.hideRingOverLay();
|
||||||
|
|
Loading…
Reference in New Issue