2021-11-03 22:04:24 +01:00
|
|
|
/* This file contains helpers which should not be part of client.js */
|
|
|
|
|
|
|
|
|
|
angular.module('Application').directive('passwordReveal', function () {
|
|
|
|
|
return {
|
|
|
|
|
link: function (scope, elements) {
|
|
|
|
|
var element = elements[0];
|
|
|
|
|
|
|
|
|
|
if (!element.parentNode) {
|
|
|
|
|
console.error('Wrong password-reveal directive usage. Element has no parent.');
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var eye = document.createElement('i');
|
|
|
|
|
eye.classList.add('fa');
|
|
|
|
|
eye.classList.add('fa-eye-slash');
|
2021-11-16 13:20:22 +01:00
|
|
|
eye.style.position = 'relative';
|
|
|
|
|
eye.style.float = 'right';
|
|
|
|
|
eye.style.marginTop = '-23px';
|
|
|
|
|
eye.style.marginRight = '10px';
|
2021-11-03 22:04:24 +01:00
|
|
|
eye.style.cursor = 'pointer';
|
|
|
|
|
|
|
|
|
|
eye.addEventListener('click', function () {
|
|
|
|
|
if (element.type === 'password') {
|
|
|
|
|
element.type = 'text';
|
|
|
|
|
eye.classList.remove('fa-eye-slash');
|
|
|
|
|
eye.classList.add('fa-eye');
|
|
|
|
|
} else {
|
|
|
|
|
element.type = 'password';
|
|
|
|
|
eye.classList.remove('fa-eye');
|
|
|
|
|
eye.classList.add('fa-eye-slash');
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
element.parentNode.style.position = 'relative';
|
|
|
|
|
element.parentNode.append(eye);
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
});
|