39 lines
882 B
PHP
39 lines
882 B
PHP
<?php
|
|
namespace nur\v\plugins;
|
|
|
|
use nur\v\BasePlugin;
|
|
use nur\v\js;
|
|
|
|
/**
|
|
* Class autosubmitSelectPlugin: soumet le formulaire sur l'événement change
|
|
*/
|
|
class autosubmitOnEventPlugin extends BasePlugin {
|
|
const HAVE_JQUERY = true;
|
|
|
|
function __construct(string $selector, string $event="change", bool $cond=true) {
|
|
$this->selector = $selector;
|
|
$this->event = $event;
|
|
$this->cond = $cond;
|
|
}
|
|
|
|
/**
|
|
* @var string sélecteur pour les composants concernés.
|
|
*/
|
|
private $selector;
|
|
|
|
/** @var string événement sur lequel déclencher la soumission du formulaire */
|
|
private $event;
|
|
|
|
/** @var bool ce plugin est-il activé? */
|
|
private $cond;
|
|
|
|
function printJquery(): void {
|
|
if (!$this->cond) return;
|
|
?>
|
|
$(<?=js::qv($this->selector)?>).on(<?=js::qv($this->event)?>, function() {
|
|
$(this).closest("form").submit();
|
|
return false;
|
|
});
|
|
<?php
|
|
}
|
|
}
|