diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-02-14 11:15:04 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2025-02-14 11:15:04 +0000 |
| commit | 3592861804c484d3386c1be5eb050c1761892c59 (patch) | |
| tree | 901ade7b1397ff8675e6955b182d3bc8f085486b /resources/assets/javascripts/bootstrap/application.js | |
| parent | 461e5c491da6fe3b2bb3b7400fb09303b54d1aa0 (diff) | |
implement generic methods to allow the user to display a password in a password input, fixes #5186
Closes #5186
Merge request studip/studip!3876
Diffstat (limited to 'resources/assets/javascripts/bootstrap/application.js')
| -rw-r--r-- | resources/assets/javascripts/bootstrap/application.js | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/resources/assets/javascripts/bootstrap/application.js b/resources/assets/javascripts/bootstrap/application.js index 4e5eccc..7fdb316 100644 --- a/resources/assets/javascripts/bootstrap/application.js +++ b/resources/assets/javascripts/bootstrap/application.js @@ -1,5 +1,7 @@ import { $gettext } from '../lib/gettext'; import eventBus from "../lib/event-bus.ts"; +import allowPlaintextToggle from "../../../vue/directives/allow-plaintext-toggle"; + /* ------------------------------------------------------------------------ * application.js @@ -365,8 +367,6 @@ STUDIP.domReady(function () { const passwordInput = document.getElementById('password'); const usernameInput = document.getElementById('loginname'); const passwordCapsText = document.getElementById('password-caps'); - const iconPasswordVisible = document.getElementById('visible-password'); - const iconPasswordInVisible = document.getElementById('invisible-password'); [usernameInput, passwordInput].forEach((input) => { input.addEventListener('keydown', (event) => { @@ -391,16 +391,11 @@ STUDIP.domReady(function () { event.preventDefault(); }); } +}); - document.getElementById('password-toggle').addEventListener('click', () => { - if (passwordInput.type === 'password') { - passwordInput.type = 'text'; - iconPasswordVisible.style.display = 'none'; - iconPasswordInVisible.style.display = ''; - } else { - passwordInput.type = 'password'; - iconPasswordVisible.style.display = ''; - iconPasswordInVisible.style.display = 'none'; - } - }); +/* Allow password inputs to display the password as plain text */ +STUDIP.ready(() => { + document.querySelectorAll('input[type="password"].allow-plaintext-toggle').forEach((node) => { + allowPlaintextToggle(node); + }) }); |
