|
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 |
}); |