No description
Find a file
2020-06-12 15:31:09 +02:00
action ajout une action pour forcer invalidatrion du cache 2020-05-18 16:29:27 +02:00
css pas 2 fois le meme nom de class pour 2 css differetntes 2020-03-13 11:33:37 +01:00
formulaires ajout d'une option de config pour selectionner la version de vue, par defaut vue.min.js 2020-03-10 22:07:22 +01:00
inclure Pour l'export csv, on utilise Papaparse, c'est plus robuste qu'a la mano 2020-05-19 20:47:10 +02:00
js stoppropagation 2020-06-12 15:31:09 +02:00
lang recup des fichiers gamutable de souscriptions 2020-03-10 16:59:10 +01:00
prive sorti de la fabrique 2020-03-10 16:11:01 +01:00
.gitignore la recherche devient insensible à la casse 2020-05-06 23:37:47 +02:00
gamutable_autorisations.php sorti de la fabrique 2020-03-10 16:11:01 +01:00
gamutable_fonctions.php sorti de la fabrique 2020-03-10 16:11:01 +01:00
gamutable_options.php sorti de la fabrique 2020-03-10 16:11:01 +01:00
gamutable_pipelines.php sorti de la fabrique 2020-03-10 16:11:01 +01:00
gulpfile.js recup des fichiers gamutable de souscriptions 2020-03-10 16:59:10 +01:00
json_gamutable.json.html Apres pas mal de tests, l'utilisation de regex pour récupérer un 2020-05-08 14:46:07 +02:00
package-lock.json maj des lib gulp + ajout icone csv FA5 2020-06-11 17:25:29 +02:00
package.json maj des lib gulp + ajout icone csv FA5 2020-06-11 17:25:29 +02:00
paquet.xml up de z 2020-05-20 14:13:54 +02:00
README.md maj de la doc 2020-05-20 14:17:29 +02:00

gamutable

Configuration

Choisir entre la version minifiée de vuejs (sans le debug) ou la version de dev

Utilisation

  1. Charger l'inclure (5 args possibles et facultatifs)
<INCLURE{fond=inclure/gamutable,env}>

 Ou avec tous les arguments facultatifs

<INCLURE{fond=inclure/gamutable,
	apiuri="spip.php?page=json_souscripteurs.json",
	tparpage=[15,25,50,'Tous'],
	champcsv="search",
	delimitercsv=";",
	namecsv="souscripteurs.csv",
	env
}>
  1. Surcharcher json_gamutable.json.html en suivant son modele
  • pour le header c'est de la forme : "champ":"label"

  • IMPORTANT pour le content du json, il que le cle de la KEY de la table soit "id" et non pas "id_souscription"

  • pour les champs date, pour avoir l'ordre de la col, il faut le format : dd/mm/yyyy ou dd/mm/yy

  1. Pour utliser les actions :
[(#SET{statut,
	#SET{args,#ID_SOUSCRIPTION|concat{-}|concat{#STATUT}}
	<a class="url_action" data-id="#ID_SOUSCRIPTION" href="[(#URL_ACTION_AUTEUR{changer_statut_souscription,#GET{args}})]">
		[(#STATUT|!={publie}|oui)
			<i title="Souscription en attente" class="fa fa-check fa-2x orange" aria-hidden="true"></i>
		]
		[(#STATUT|=={publie}|oui)
			<i title="Souscription validée" class="fa fa-check fa-2x verte" aria-hidden="true"></i>
		]
	</a>
})]
"statut" : [(#GET{statut}|json_encode)],
  • il faut ajouter data-confirm="Confirmez vous ..." si on veut ajouter un popin de confirmation
  • il faut ajouter data-id="" si on veut recharger que cette ligne
  1. Pour utiliser les crayons, il faut utiliser le pipeline crayons_vue_affichage_final
/**
 * injection du reload de vuejs pour les crayons de l'objet souscription
 *
 */
function prefixPlugin_crayons_vue_affichage_final($flux){
	if ($flux['args']['type'] === 'souscription') {
		$id = $flux['args']['id'];
		if ($id = intval($id)) {
			$flux['data'] .= ' <script type="text/javascript"> app.rechargerJson('.$id.'); </script>';
		} else {
			$flux['data'] .= ' <script type="text/javascript"> app.rechargerJson(); </script>';
		}
	}
	return $flux;
}

Attention Pour les crayons, l'invalidation du cache ne se fait que pour les objets publiés

  1. Pour utiliser une mediabox ou modalbox,
    1. Dans le json : ajouter un lien avec la classe mediabox ou modalbox (cf ex de json)
    "modif" : [(#VAL{<a class="modalbox" href="[(#URL_PAGE{souscrire}|parametre_url{id_souscription,#ID_SOUSCRIPTION}|parametre_url{redirect,gamutable})]"><i class="fa fa-pencil"></i></a>}|json_encode)],
    
    1. Il faut appeler le formulaire en ajax
    2. Dans le traiter du formulaire => supprimer la redirection et ajouter :
    if ($retour === 'gamutable') {
    	$res['redirect'] = "";
    	$res['message_ok'] = "gamutable";
    }
    
    1. Dans le html du formulaire, ajouter :
    [(#ENV**{message_ok}|=={gamutable}|oui)
    	<script type="text/javascript">
    		app.rechargerJson();
    		$.modalboxclose();
    	</script>
    ]
    
    • il faut ajouter data-confirm="Confirmez vous ..." si on veut ajouter un popin de confirmation

Attention

les Crayons utilise l'api modifier_objet de SPIP qui invalide le cache que si objet est publie, il faut donc forcer l'invalidation du cache en passant pour le pipeline post_edition

/**
 * invalider le cache pour l'objet souscription
 *
 */
function prefixPlugin_post_edition($flux){
	if ($flux['args']['table'] === "spip_souscriptions") {
		include_spip('inc/invalideur');
		suivre_invalideur("id='id_souscription/1'");
	}
	return $flux;
}