<?php namespace nur\v\plugins; use nur\v\BasePlugin; use nur\v\js; /** * Class setqakPlugin: installer l'accesskey 'q' sur le premier élément de * formulaire */ class setqakPlugin extends BasePlugin { const HAVE_JQUERY = true; function __construct(?string $selector=null, ?bool $cond=null, ?string $accesskey=null) { if ($selector === null) $selector = "input:text, textarea, select"; if ($cond === null) $cond = $selector? true: false; if ($accesskey === null) $accesskey = "q"; $this->selector = $selector; $this->cond = $cond; $this->accesskey = $accesskey; } /** * @var string sélecteur pour le composant concerné. par défaut, prendre le * premier élément de formulaire de type text, textarea ou select */ private $selector; /** @var bool ce plugin est-il activé? */ private $cond; /** @var string acceskey à installer */ private $accesskey; function printJquery(): void { if (!$this->cond) return; $ak = $this->accesskey; ?> var $elems = $(<?=js::qv($this->selector)?>); var $qelems = $elems.filter("[accesskey=<?=js::sqv($ak)?>]"); if ($qelems.length == 0) { $elems.filter(":first").attr("accesskey", <?=js::qv($ak)?>); } <?php } }