Files
pulse-signage/src/web/public/js/account/account-page.js
T
lzstealth 98f969ca0f
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile, web, pulse-signage-web) (push) Successful in 1m47s
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile.player, player, pulse-signage-player) (push) Successful in 31s
Release v2.11.1
2026-09-04 15:43:55 +01:00

57 lines
2.1 KiB
JavaScript

(function () {
var currentPasswordInput = document.querySelector('[data-account-current-password]');
var profileFormInput = document.querySelector('[data-account-profile-current-password]');
var passwordFormInput = document.querySelector('[data-account-password-current-password]');
var profileForm = profileFormInput && profileFormInput.form;
var passwordForm = passwordFormInput && passwordFormInput.form;
if (!currentPasswordInput || !profileFormInput || !passwordFormInput || !profileForm || !passwordForm) {
return;
}
function syncCurrentPassword() {
profileFormInput.value = currentPasswordInput.value;
passwordFormInput.value = currentPasswordInput.value;
}
function clearCurrentPassword() {
currentPasswordInput.value = '';
currentPasswordInput.setCustomValidity('');
currentPasswordInput.removeAttribute('required');
profileFormInput.value = '';
passwordFormInput.value = '';
passwordForm.querySelectorAll('input[type="password"]').forEach(function (input) {
input.value = '';
input.setCustomValidity('');
});
profileForm.classList.remove('was-validated');
passwordForm.classList.remove('was-validated');
}
currentPasswordInput.addEventListener('input', syncCurrentPassword);
currentPasswordInput.addEventListener('input', function () {
currentPasswordInput.setCustomValidity('');
});
document.addEventListener('submit', function (event) {
if (event.target !== profileForm && event.target !== passwordForm) {
return;
}
if (!currentPasswordInput.value) {
event.preventDefault();
event.stopImmediatePropagation();
currentPasswordInput.setCustomValidity('Current password is required.');
currentPasswordInput.reportValidity();
return;
}
currentPasswordInput.setCustomValidity('');
syncCurrentPassword();
}, true);
passwordForm.addEventListener('submit', syncCurrentPassword);
document.addEventListener('web-async-save:success', function (event) {
if (event.detail && event.detail.form !== profileForm && event.detail.form !== passwordForm) {
return;
}
clearCurrentPassword();
});
})();