Line 0
Link Here
|
|
|
1 |
function create_show_password_toggle(loop_counter) { |
2 |
const container = document.createElement("div"); |
3 |
container.className = "show-password-toggle"; |
4 |
|
5 |
const checkbox = document.createElement("input"); |
6 |
checkbox.type = "checkbox"; |
7 |
checkbox.className = "show-password-toggle-checkbox"; |
8 |
checkbox.id = `show-password-toggle-checkbox-${loop_counter}`; |
9 |
|
10 |
const label = document.createElement("label"); |
11 |
label.className = "show-password-toggle-label"; |
12 |
label.htmlFor = checkbox.id; |
13 |
label.textContent = " " + __("Show password"); |
14 |
|
15 |
container.appendChild(checkbox); |
16 |
container.appendChild(label); |
17 |
|
18 |
return container; |
19 |
} |
20 |
|
21 |
document.addEventListener("DOMContentLoaded", function () { |
22 |
const local_logins = document.querySelectorAll(".validated"); |
23 |
local_logins.forEach((local_login, i) => { |
24 |
let show_password_toggle_node = create_show_password_toggle(i); |
25 |
local_login |
26 |
.querySelector("input[type='password']") |
27 |
.after(show_password_toggle_node); |
28 |
const password_field = local_login.querySelector( |
29 |
"#password,#mpassword" |
30 |
); |
31 |
const toggle_box = local_login.querySelector( |
32 |
"input.show-password-toggle-checkbox" |
33 |
); |
34 |
if (password_field && toggle_box) { |
35 |
toggle_box.addEventListener("click", function (ev) { |
36 |
if (password_field.type === "password") { |
37 |
password_field.type = "text"; |
38 |
} else { |
39 |
password_field.type = "password"; |
40 |
} |
41 |
}); |
42 |
} |
43 |
}); |
44 |
}); |