Files
cabinet/assets/controllers/passwordShow_controller.js
2026-05-28 12:09:28 +03:00

39 lines
1.1 KiB
JavaScript

import { Controller } from 'stimulus';
/*
* This is an example Stimulus controller!
*
* Any element with a data-controller="default" attribute will cause
* this controller to be executed. The name "default" comes from the filename:
* default_controller.js -> "default"
*
* Delete this file or adapt it for your use!
*/
export default class extends Controller {
connect() {
var eye = document.createElement('i');
eye.setAttribute('aria-hidden', true);
eye.classList = 'fa fa-eye-slash'; //fa-eye
eye.style.position = 'absolute';
eye.dataset.action = 'click->passwordShow#toggle'
eye.style.top = '10px';
eye.style.right = '10px';
this.element.style.position = 'relative';
this.element.append(eye);
}
toggle() {
var btn = this.element.querySelector('input');
var eye = this.element.querySelector('i');
if (eye.classList.contains('fa-eye-slash')) {
eye.classList = 'fa fa-eye';
btn.type = 'text';
} else {
eye.classList = 'fa fa-eye-slash';
btn.type = 'password';
}
}
}