<?php namespace nur\v\plugins; use nur\v\BasePlugin; use nur\v\js; /** * Class setfocusPlugin: activer le focus sur un élément de formulaire */ class setfocusPlugin extends BasePlugin { const HAVE_JQUERY = true; function __construct(?string $selector=null, ?bool $cond=null, bool $select=true) { if ($selector === null) $selector = "input:text, textarea, select"; if ($cond === null) $cond = $selector? true: false; $this->selector = $selector; $this->cond = $cond; $this->select = $select; } /** * @var string sélecteur pour le composant concerné. par défaut, prendre le * premier élément de formulaire de type text, textarea ou select */ protected $selector; /** @var bool ce plugin est-il activé? */ protected $cond; /** @var bool faut-il sélectionner le contenu de l'élément de formulaire? */ protected $select; function printJquery(): void { if (!$this->cond) return; ?> var $fi = $(<?=js::qv($this->selector)?>).filter(":first"); $fi.focus() <?php if ($this->select): ?> if ($fi.is("input")) $fi.select(); <?php endif; ?> <?php } }