feat: FORMULAIRE_BIGLOAD - ajout ajaxReload
On ajout une cle dans l'array args pour définir un bloc à recharger via ajaxReload
This commit is contained in:
parent
f3e8326650
commit
1745f8d854
4 changed files with 51 additions and 24 deletions
22
README.md
22
README.md
|
@ -1,7 +1,9 @@
|
|||
# Plugin bigform
|
||||
|
||||
> plugin proposant un formulaire CVT pour le plugin bigup
|
||||
|
||||
## Usage 1 : en formulaire autonome (comme html5_upload)
|
||||
|
||||
> ATTENTION : il n'y a pas de vérification sur le type des fichiers envoyés en PHP.
|
||||
> Ne pas hésiter à surcharger la fonction de vérification : formulaires_bigform_verifier()
|
||||
> en fonction des besoins !
|
||||
|
@ -9,30 +11,39 @@
|
|||
```html
|
||||
#FORMULAIRE_BIGFORM{objet, id_objet, mode, args (array)}
|
||||
```
|
||||
|
||||
- `mode` (facultatif) : le type d'image si besoin. Valeurs possibles : `auto | logoon | logooff`
|
||||
- `args` (facultatif) : un array d'options.
|
||||
- `redirect` qui permet de renvoyer sur la page passée en argument.
|
||||
- `obfusquer`
|
||||
- `proteger`
|
||||
- `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre
|
||||
Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans une popin :
|
||||
- `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre
|
||||
- `ajaxReload` le nom d'un bloc ajax à recharger via ajaxReload. dans ce cas, charger_js_titre = non
|
||||
Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans une popin :
|
||||
|
||||
```
|
||||
#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}, obfusquer, oui}}
|
||||
```
|
||||
|
||||
## Usage 2 : en inclure dans un formulaire
|
||||
|
||||
> Ajoute dynamiquement un champ **titre** pour chaque image
|
||||
|
||||
1. dans le formulaire html:
|
||||
|
||||
```html
|
||||
<INCLURE{fond=inclure/bigform,env}>
|
||||
arg: suffix_liste_fichiers=toto qui permet de charger le fichier :inc-bigup_liste_fichiers_toto.html
|
||||
```
|
||||
|
||||
cet inclure peut accepter 3 arguments facultatifs :
|
||||
* `accept=#LISTE{image/*, application/pdf}` ou `accept="image/*"` par défaut tous les fichiers
|
||||
* `previsualiser=non` (par défaut = oui)
|
||||
* `multiple=non` (par défaut = oui)
|
||||
|
||||
- `accept=#LISTE{image/*, application/pdf}` ou `accept="image/*"` par défaut tous les fichiers
|
||||
- `previsualiser=non` (par défaut = oui)
|
||||
- `multiple=non` (par défaut = oui)
|
||||
|
||||
2. dans le formulaire php
|
||||
|
||||
```php
|
||||
// dans le charger :
|
||||
$valeurs['_bigup_rechercher_fichiers'] = true;
|
||||
|
@ -86,6 +97,7 @@ $bigform($id_objet, $objet, $mode, $secu);
|
|||
define('_BIGFORM_OBFUSQUER', true);
|
||||
|
||||
```
|
||||
|
||||
> **ATTENTION**
|
||||
> Il faut ajouter les vérifications pour les différents types de fichiers
|
||||
|
||||
|
|
|
@ -2,12 +2,18 @@
|
|||
<div class="formulaire_spip formulaire_#FORM">
|
||||
|
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
||||
[(#ENV*{message_ok}|oui)
|
||||
<script>
|
||||
ajaxReload("#ENV*{message_ok}");
|
||||
</script>
|
||||
]
|
||||
|
||||
<form class="form_bigform" id="form_bigform[_(#ENV{objet})][_(#ENV{id_objet})]" name="formulaire_#FORM" action="#ENV{action}" method="post" enctype="multipart/form-data"><div>
|
||||
#ACTION_FORMULAIRE{#ENV{action}}
|
||||
|
||||
<INCLURE{fond=inclure/bigform_doc,env,ajax}>
|
||||
[(#ENV{ajaxReload}|non)
|
||||
<INCLURE{fond=inclure/bigform_doc,env,ajax}>
|
||||
]
|
||||
<INCLURE{fond=inclure/bigform,env}>
|
||||
|
||||
<div class="boutons"><input id="valider_bigup" type="submit" class="submit valider_bigup" value="Envoyer" ></div>
|
||||
|
@ -16,3 +22,13 @@
|
|||
</div>
|
||||
]
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function() {
|
||||
$('.valider_bigup').css('display','none');
|
||||
$('input.bigup').bigup({}, {
|
||||
complete: function(){
|
||||
$(this).parents('form').submit();
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -5,12 +5,19 @@ if (!defined('_ECRIRE_INC_VERSION')){
|
|||
|
||||
|
||||
function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = []) {
|
||||
$charger_js_titre = $args['charger_js_titre'] ?? 'oui';
|
||||
if (!empty($args['ajaxReload'])) {
|
||||
$ajaxReload = $args['ajaxReload'];
|
||||
$charger_js_titre = 'non';
|
||||
} else {
|
||||
$charger_js_titre = $args['charger_js_titre'] ?? 'oui';
|
||||
$ajaxReload = null;
|
||||
}
|
||||
$valeurs = [
|
||||
'_bigup_rechercher_fichiers' => true,
|
||||
'id_objet' => $id_objet,
|
||||
'objet' => $objet,
|
||||
'charger_js_titre' => $charger_js_titre === 'oui' ? 'oui' : 'non'
|
||||
'ajaxReload' => $ajaxReload,
|
||||
'charger_js_titre' => $charger_js_titre === 'oui' ? 'oui' : 'non',
|
||||
];
|
||||
|
||||
$valeurs['objet_ok'] = '';
|
||||
|
@ -64,9 +71,12 @@ function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mo
|
|||
]
|
||||
]);
|
||||
|
||||
if (!empty($args) and !empty($args['redirect'])) {
|
||||
return ['redirect' => $args['redirect']];
|
||||
} else {
|
||||
return [];
|
||||
$retour = [];
|
||||
if (!empty($args['redirect'])) {
|
||||
$retour['redirect'] = $args['redirect'];
|
||||
}
|
||||
if (!empty($args['ajaxReload'])) {
|
||||
$retour['message_ok'] = $args['ajaxReload'];
|
||||
}
|
||||
return $retour;
|
||||
}
|
||||
|
|
|
@ -76,14 +76,3 @@
|
|||
</BOUCLE_pdf>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(function() {
|
||||
$('.valider_bigup').css('display','none');
|
||||
$('input.bigup').bigup({}, {
|
||||
complete: function(){
|
||||
console.log("on valide [(#ENV{objet})]_[(#ENV{id_objet})]");
|
||||
$(this).parents('form').submit();
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
Loading…
Add table
Reference in a new issue