modifs.mineures sans commentaires
This commit is contained in:
parent
48d686f20c
commit
b4992148fd
|
@ -4,6 +4,9 @@ namespace nur\v\plugins;
|
|||
use nur\v\BasePlugin;
|
||||
use nur\v\js;
|
||||
|
||||
/**
|
||||
* Class autosubmitSelectPlugin: soumet le formulaire si la sélection change
|
||||
*/
|
||||
class autosubmitSelectPlugin extends BasePlugin {
|
||||
const HAVE_JQUERY = true;
|
||||
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
<?php
|
||||
namespace nur\v\plugins;
|
||||
|
||||
use nur\v\BasePlugin;
|
||||
use nur\v\js;
|
||||
|
||||
/**
|
||||
* Class dblclickSelectPlugin: soumet le formulaire avec un bouton en particulier
|
||||
* si on double-clique sur un élément d'une liste multi-select
|
||||
*/
|
||||
class dblclickSelectPlugin extends BasePlugin {
|
||||
const HAVE_JQUERY = true;
|
||||
|
||||
function __construct(?string $selector, ?string $submit=null, ?bool $cond=null) {
|
||||
if ($selector === null) $selector = "select:not(.no-dblclick)";
|
||||
if ($cond === null) $cond = $selector? true: false;
|
||||
$this->selector = $selector;
|
||||
$this->submit = $submit;
|
||||
$this->cond = $cond;
|
||||
}
|
||||
|
||||
/**
|
||||
* @var string sélecteur sur les options des composants concernés. par défaut,
|
||||
* prendre tous les éléments select qui n'ont pas la classe no-dblclick
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string|null sélecteur pour le bouton submit à activer.
|
||||
* ci cette valeur est nulle, le formulaire est soumis directement
|
||||
*/
|
||||
private $submit;
|
||||
|
||||
/** @var bool ce plugin est-il activé? */
|
||||
private $cond;
|
||||
|
||||
function printJquery(): void {
|
||||
if (!$this->cond) return;
|
||||
?>
|
||||
$(<?=js::qv($this->selector)?>).find("option").on("dblclick", function() {
|
||||
let submit = <?=js::qv($this->submit)?>;
|
||||
if (submit != "") {
|
||||
$(submit).click();
|
||||
} else {
|
||||
$(this).closest("form").submit();
|
||||
}
|
||||
return false;
|
||||
});
|
||||
<?php
|
||||
}
|
||||
}
|
|
@ -1,7 +1,9 @@
|
|||
<?php
|
||||
namespace nur\sery\file\web;
|
||||
|
||||
use nur\sery\cl;
|
||||
use nur\sery\file\FileReader;
|
||||
use nur\sery\os\path;
|
||||
use nur\sery\php\coll\BaseArray;
|
||||
use nur\sery\ValueException;
|
||||
|
||||
|
@ -84,6 +86,18 @@ class Upload extends BaseArray {
|
|||
return $this->error === UPLOAD_ERR_OK;
|
||||
}
|
||||
|
||||
/**
|
||||
* retourner true si le nom du fichier a une des extensions de $exts
|
||||
*
|
||||
* @param string|array $exts une ou plusieurs extensions qui sont vérifiées
|
||||
*/
|
||||
function isExt($exts): bool {
|
||||
if ($exts === null) return false;
|
||||
$ext = path::ext($this->name);
|
||||
$exts = cl::with($exts);
|
||||
return in_array($ext, $exts);
|
||||
}
|
||||
|
||||
/** @var ?string chemin du fichier, s'il a été déplacé */
|
||||
protected $file;
|
||||
|
||||
|
|
|
@ -156,7 +156,11 @@ class path {
|
|||
return $basename;
|
||||
}
|
||||
|
||||
/** obtenir l'extension du fichier. l'extension est retournée avec le '.' */
|
||||
/**
|
||||
* obtenir l'extension du fichier. l'extension est retournée avec le '.'
|
||||
*
|
||||
* si le fichier n'a pas d'extension, retourner une chaine vide
|
||||
*/
|
||||
static final function ext($path): ?string {
|
||||
if ($path === null || $path === false) return null;
|
||||
$ext = self::filename($path);
|
||||
|
|
Loading…
Reference in New Issue