* @link https://www.tassos.gr * @copyright Copyright © 2024 Tassos All Rights Reserved * @license GNU GPLv3 or later */ // No direct access to this file defined('_JEXEC') or die; use Joomla\CMS\Form\Field\PasswordField; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Factory; class JFormFieldNR_Password extends PasswordField { /** * Method to get the field input markup. * * @return string The field input markup. */ public function getInput() { if (defined('nrJ4')) { return parent::getInput(); } $id = $this->id . '_btn'; $doc = Factory::getDocument(); HTMLHelper::stylesheet('plg_system_nrframework/fields.css', false, true); $doc->addStyleDeclaration(' .nr-pass-btn { display:flex; align-items:center; } .nr-pass-btn > * { margin:0 !important; padding:0 !important; } .nr-pass-btn label { margin-left:5px !important; user-select: none; } '); $doc->addScriptDeclaration(' jQuery(function($) { $("#' . $id . '").change(function() { var type = $(this).is(":checked") ? "text" : "password"; $(this).closest(".nr-pass").find(".nr-pass-input input").attr("type", type); }) }) '); return '
'. parent::getInput() .'
'; } }