mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-03-29 16:11:01 +03:00
@@ -824,7 +824,8 @@ function watch_screen_recording() {
|
||||
class PasswordEyeArea : Reactor.Component {
|
||||
render() {
|
||||
var method = handler.get_option('verification-method');
|
||||
var value = method != 'use-permanent-password' ? password_cache[0] : "-";
|
||||
var mode= handler.get_option('approve-mode');
|
||||
var value = mode == 'click' || method == 'use-permanent-password' ? "-" : password_cache[0];
|
||||
return
|
||||
<div .eye-area style="width: *">
|
||||
<input|text @{this.input} readonly value={value} />
|
||||
@@ -901,27 +902,46 @@ class PasswordArea: Reactor.Component {
|
||||
|
||||
function renderPop() {
|
||||
var method = handler.get_option('verification-method');
|
||||
var approve_mode= handler.get_option('approve-mode');
|
||||
var show_password = approve_mode != 'click';
|
||||
return <popup><menu.context #edit-password-context>
|
||||
<li #use-temporary-password><span>{svg_checkmark}</span>{translate('Use temporary password')}</li>
|
||||
<li #use-permanent-password><span>{svg_checkmark}</span>{translate('Use permanent password')}</li>
|
||||
<li #use-both-passwords><span>{svg_checkmark}</span>{translate('Use both passwords')}</li>
|
||||
<div .separator />
|
||||
<li #set-password disabled={ method == 'use-temporary-password' ? "true" : "false" }>{translate('Set permanent password')}</li>
|
||||
<TemporaryPasswordLengthMenu />
|
||||
<li #approve-mode-password><span>{svg_checkmark}</span>{translate('Accept sessions via password')}</li>
|
||||
<li #approve-mode-click><span>{svg_checkmark}</span>{translate('Accept sessions via click')}</li>
|
||||
<li #approve-mode-both><span>{svg_checkmark}</span>{translate('Accept sessions via both')}</li>
|
||||
{ !show_password ? '' : <div .separator /> }
|
||||
{ !show_password ? '' : <li #use-temporary-password><span>{svg_checkmark}</span>{translate('Use temporary password')}</li> }
|
||||
{ !show_password ? '' : <li #use-permanent-password><span>{svg_checkmark}</span>{translate('Use permanent password')}</li> }
|
||||
{ !show_password ? '' : <li #use-both-passwords><span>{svg_checkmark}</span>{translate('Use both passwords')}</li> }
|
||||
{ !show_password ? '' : <div .separator /> }
|
||||
{ !show_password ? '' : <li #set-password disabled={ method == 'use-temporary-password' ? "true" : "false" }>{translate('Set permanent password')}</li> }
|
||||
{ !show_password ? '' : <TemporaryPasswordLengthMenu /> }
|
||||
</menu></popup>;
|
||||
}
|
||||
|
||||
function toggleMenuState() {
|
||||
var id = handler.get_option('verification-method');
|
||||
if (id != 'use-temporary-password' && id != 'use-permanent-password')
|
||||
id = 'use-both-passwords';
|
||||
for (var el in [this.$(li#use-temporary-password), this.$(li#use-permanent-password), this.$(li#use-both-passwords)]) {
|
||||
el.attributes.toggleClass("selected", el.id == id);
|
||||
var mode= handler.get_option('approve-mode');
|
||||
var mode_id;
|
||||
if (mode == 'password')
|
||||
mode_id = 'approve-mode-password';
|
||||
else if (mode == 'click')
|
||||
mode_id = 'approve-mode-click';
|
||||
else
|
||||
mode_id = 'approve-mode-both';
|
||||
var pwd_id = handler.get_option('verification-method');
|
||||
if (pwd_id != 'use-temporary-password' && pwd_id != 'use-permanent-password')
|
||||
pwd_id = 'use-both-passwords';
|
||||
for (var el in this.$$(menu#edit-password-context>li)) {
|
||||
if (el.id.indexOf("approve-mode-") == 0)
|
||||
el.attributes.toggleClass("selected", el.id == mode_id);
|
||||
if (el.id.indexOf("use-") == 0)
|
||||
el.attributes.toggleClass("selected", el.id == pwd_id);
|
||||
}
|
||||
}
|
||||
|
||||
event click $(svg#edit) (_, me) {
|
||||
temporaryPasswordLengthMenu.update({show: true });
|
||||
var approve_mode= handler.get_option('approve-mode');
|
||||
var show_password = approve_mode != 'click';
|
||||
if(show_password && temporaryPasswordLengthMenu) temporaryPasswordLengthMenu.update({show: true });
|
||||
var menu = $(menu#edit-password-context);
|
||||
me.popup(menu);
|
||||
}
|
||||
@@ -954,16 +974,28 @@ class PasswordArea: Reactor.Component {
|
||||
handler.set_option('verification-method', me.id);
|
||||
this.toggleMenuState();
|
||||
passwordArea.update();
|
||||
} else if (me.id.indexOf('approve-mode') == 0) {
|
||||
var approve_mode;
|
||||
if (me.id == 'approve-mode-password')
|
||||
approve_mode = 'password';
|
||||
else if (me.id == 'approve-mode-click')
|
||||
approve_mode = 'click';
|
||||
else
|
||||
approve_mode = '';
|
||||
handler.set_option('approve-mode', approve_mode);
|
||||
this.toggleMenuState();
|
||||
passwordArea.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var password_cache = ["","",""];
|
||||
var password_cache = ["","","",""];
|
||||
function updatePasswordArea() {
|
||||
self.timer(1s, function() {
|
||||
var temporary_password = handler.temporary_password();
|
||||
var verification_method = handler.get_option('verification-method');
|
||||
var temporary_password_length = handler.get_option('temporary-password-length');
|
||||
var approve_mode = handler.get_option('approve-mode');
|
||||
var update = false;
|
||||
if (password_cache[0] != temporary_password) {
|
||||
password_cache[0] = temporary_password;
|
||||
@@ -977,6 +1009,10 @@ function updatePasswordArea() {
|
||||
password_cache[2] = temporary_password_length;
|
||||
update = true;
|
||||
}
|
||||
if (password_cache[3] != approve_mode) {
|
||||
password_cache[3] = approve_mode;
|
||||
update = true;
|
||||
}
|
||||
if (update) passwordArea.update();
|
||||
updatePasswordArea();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user