<?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
  }
}