Valider 2840224d rédigé par kent1@arscenic.info's avatar kent1@arscenic.info
Parcourir les fichiers

Faire fonctionner en ajax les formulaires de tri et de pagination grâce à .ajaxReload(...)

Version 0.6.2
parent dda326ed
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+2 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -5,12 +5,13 @@
	en passant un paramètre dans l'url
	
]
[(#ENV**{message_ok})]
<div class="formulaire_spip formulaire_menu_pagination" id="formulaire_menu_pagination_#ENV{boucle}">
	<form method='post' action='#ENV{action}'>
		<div>
			#ACTION_FORMULAIRE{#ENV{action}}
			<label for="#ENV{nom}"><:mediaspip_core:label_nombre_pagination:></label>
			<B_test12><select name="#ENV{nom}" id="#ENV{nom}" onchange="this.parentNode.parentNode.submit()">
			<B_test12><select name="#ENV{nom}" id="#ENV{nom}" onchange="jQuery(this).parents('form').submit()">
				<option value=""> - </option><BOUCLE_test12(POUR){si #ENV{type_form}|=={select}|oui}{tableau #ENV{_tableau_pas}}>
				<option value="#VALEUR"[(#ENV{defaut}|=={#VALEUR}|oui)selected="selected"]>#VALEUR</option></BOUCLE_test12>[(#ENV{afficher_tout}|oui)
				<option value="#ENV{total}"[(#ENV{defaut}|=={#ENV{total}}|oui)selected="selected"]><:mediaspip_core:pagination_tout_afficher:></option>]
+9 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -73,11 +73,18 @@ function formulaires_ms_pagination_charger_dist($boucle,$total_elements='',$ancr
 * @param int $min : Le nombre minimal possible
 * @param int $max : Le nombre maximal possible de la pagination
 */
function formulaires_ms_pagination_traiter_dist($boucle,$total_elements='',$ancre='',$type='select',$pas='5',$min='1',$max='30'){
function formulaires_ms_pagination_traiter_dist($boucle,$total_elements='',$ancre='',$type='select',$pas='5',$min='1',$max='30',$recharger=false){
	$lien = self();
	$valeur = _request('champ_pagination'.$boucle);
	$lien_retour = parametre_url(parametre_url($lien,'pagination'.$boucle,$valeur),'debut'.$boucle,'');
	if($recharger){
		$res['message_ok'] = '<script type="text/javascript">if (window.jQuery) jQuery("'.$recharger.'").ajaxReload({args:{pagination'.$boucle.':'.$valeur.',debut'.$boucle.':""},history:true});</script>';
		set_request('pagination'.$boucle,$valeur);
		set_request('debut'.$boucle,'');
	}else{
		$res['redirect'] = $lien_retour.($ancre ? '#'.$ancre : '');
	}
	
	return $res;
}

+2 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -7,12 +7,13 @@
	en passant un paramètre dans l'url
	
]
[(#ENV**{message_ok})]
<div class="formulaire_spip formulaire_menu_tri" id="formulaire_menu_tri_#ENV{boucle}">
	<form method='post' action='#ENV{action}'>
		<div>
			#ACTION_FORMULAIRE{#ENV{action}}
			<label for="#ENV{nom}"><:mediaspip_core:label_ordre_tri:></label>
			<select name="#ENV{nom}" id="#ENV{nom}" onchange="this.parentNode.parentNode.submit()">
			<select name="#ENV{nom}" id="#ENV{nom}" onchange="jQuery(this).parents('form').submit()">
				<option value=""> - </option>[(#ENV{page_en_cours}|=={recherche}|oui)
				<option value="points"[(#ENV{defaut}|=={points}|oui)selected="selected"]><:mediaspip_core:option_tri_point:></option>]
				<option value="titre"[(#ENV{defaut}|=={titre}|oui)selected="selected"]><:mediaspip_core:option_tri_titre:></option>
+11 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -5,7 +5,7 @@
 * Auteurs :
 * kent1 (http://www.kent1.info - kent1@arscenic.info)
 *
 * © 2010-2012 - Distribue sous licence GNU/GPL
 * © 2010-2013 - Distribue sous licence GNU/GPL
 * 
 */
if (!defined("_ECRIRE_INC_VERSION")) return;
@@ -25,9 +25,10 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 * @param string $defaut : le critère par défaut si rien dans l'environnement
 * @param string $ancre : l'ancre sur laquelle on pointe ensuite
 */
function formulaires_ms_tri_charger_dist($boucle,$defaut='',$ancre=''){
function formulaires_ms_tri_charger_dist($boucle,$defaut='',$ancre='',$recharger=false){
	$tri_actuel = _request('tri'.$boucle) ? _request('tri'.$boucle) : $defaut;
	$page = _request('page');
	spip_log($recharger,'test.'._LOG_ERREUR);
	return
		array(
			'action' => self(),
@@ -38,11 +39,17 @@ function formulaires_ms_tri_charger_dist($boucle,$defaut='',$ancre=''){
		);
}

function formulaires_ms_tri_traiter_dist($boucle,$defaut='',$ancre=''){
function formulaires_ms_tri_traiter_dist($boucle,$defaut='',$ancre='',$recharger=false){
	$lien = self();
	$valeur = _request('champ_tri'.$boucle);
	$lien_retour = parametre_url($lien,'tri'.$boucle,$valeur);
	if($recharger){
		$res['message_ok'] = '<script type="text/javascript">if (window.jQuery) jQuery("'.$recharger.'").ajaxReload({args:{tri'.$boucle.':"'.$valeur.'"},history:true});</script>';
		set_request('tri'.$boucle,$valeur);
	}else{
		$res['redirect'] = $lien_retour.($ancre ? '#'.$ancre : '');
	}
	spip_log($res,'test.'._LOG_ERREUR);
	return $res;
}

+8 −10
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -84,14 +84,13 @@
<BOUCLE_medias_test(ARTICLES){id_article IN #GET{articles_rubriques}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{id_auteur ?}{id_mot ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{tri #GET{tri_medias,#GET{tri_articles_home}},#GET{tri_medias,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{0,#GET{limite}}{doublons medias}{tout} />
<B_medias>
<div class="liste articles sommaire medias" id="#ENV{id_bloc,liste_medias}">
	#ANCRE_PAGINATION
	<h2 class="h2">[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
	<h2 class="h2"[ id="(#ANCRE_PAGINATION|extraire_attribut{id})"]>[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
	<div class="formulaires_tris">[(#GRAND_TOTAL|>{1}|oui)
		#FORMULAIRE_MS_TRI{#GET{tri_medias},liste_medias}][(#GRAND_TOTAL|>={#GET{limite_pagination,6}}|oui)
		[(#FORMULAIRE_MS_PAGINATION{#GRAND_TOTAL,liste_medias,select,#GET{limite_pagination_min,6},0,#GET{limite_pagination_max}})]]
		<div class="ajax">#FORMULAIRE_MS_TRI{#GET{tri_medias},liste_medias,##ENV{id_bloc,liste_medias}}</div>][(#GRAND_TOTAL|>={#GET{limite_pagination,6}}|oui)
		<div class="ajax">[(#FORMULAIRE_MS_PAGINATION{#GRAND_TOTAL,liste_medias,select,#GET{limite_pagination_min,6},0,#GET{limite_pagination_max},##ENV{id_bloc,liste_medias}})]</div>]
	</div>
	<div id="medias" class="liste_medias_vignettes">
		<ul class="liste-items">
		<ul class="liste-items hfeed">
			<BOUCLE_medias(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{mesfavoris #ENV{mesfavoris,ignore}}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{tri #GET{tri_medias,#GET{tri_articles_home}},#GET{tri_medias,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination,6}} #ENV{id_bloc,liste_medias}}{tout}>
			#INCLURE{fond=inclure/article-media_vignette,id_article,compte=#COMPTEUR_BOUCLE,class=vignette,afficher_langue=#GET{afficher_langue,non},couper}
			</BOUCLE_medias>
@@ -136,14 +135,13 @@
<BOUCLE_medias_test_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{notation}{id_auteur ?}{id_mot ?}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous,#GET{tri_articles_home}},#GET{tri_medias_tous}|in_array{#GET{critere_inverse,#GET{tri_articles_home}}}|?{-1,1}}{0,#GET{limite}}{doublons medias_tous}{tout} />
<B_medias_tous>
<div class="liste articles sommaire medias" id="#ENV{id_bloc,liste_medias}">
	[(#ANCRE_PAGINATION)]
	<h2 class="h2">[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
	<h2 class="h2"[ id="(#ANCRE_PAGINATION|extraire_attribut{id})"]>[(#ENV{titre_liste,#CONFIG{mediaspip/home/titre_highlights}|strlen|>{0}|?{#CONFIG{mediaspip/home/titre_highlights},<:mediaspip_core:titre_sommaire_une:>}})][(#ENV{afficher_nombre}|=={oui}|oui)&#40;#GRAND_TOTAL&#41;]</h2>
	<div class="formulaires_tris">[(#GRAND_TOTAL|>{1}|oui)
		#FORMULAIRE_MS_TRI{#GET{tri_medias_tous},#ENV{id_bloc,liste_medias}}][(#GRAND_TOTAL|>={#GET{limite_pagination,6}}|oui)
		[(#FORMULAIRE_MS_PAGINATION{#GRAND_TOTAL,liste_medias,select,#GET{limite_pagination_min,6},0,#GET{limite_pagination_max}})]]
		<div class="ajax">[(#FORMULAIRE_MS_TRI{#GET{tri_medias_tous},#ENV{id_bloc,liste_medias},[#(#ENV{id_bloc,liste_medias})]})]</div>][(#GRAND_TOTAL|>={#GET{limite_pagination,6}}|oui)
		<div class="ajax">[(#FORMULAIRE_MS_PAGINATION{#GRAND_TOTAL,liste_medias,select,#GET{limite_pagination_min,6},0,#GET{limite_pagination_max},##ENV{id_bloc,liste_medias}})]</div>]
	</div>
	<div id="medias_#ENV{id_bloc}" class="liste_medias_vignettes">
		<ul class="liste-items">
		<ul class="liste-items hfeed">
			<BOUCLE_medias_tous(ARTICLES){id_article IN #GET{articles_rubriques}}{agenda date, periode, #GET{annee_debut},#GET{mois_debut},#GET{jour_debut},#GET{annee_fin},#GET{mois_fin},#GET{jour_fin}}{mesfavoris #ENV{mesfavoris,ignore}}{notation}{id_licence==(#ENV{id_licence}|=={ss_licence}|?{'0',#ENV{id_licence,'.*'}})}{id_auteur ?}{id_mot ?}{em_type ?}{recherche ?}{statut IN #ENV{statuts,publie}}{tri #GET{tri_medias_tous,#GET{tri_articles_home}},#GET{tri_medias_tous,#GET{tri_articles_home}}|in_array{#GET{critere_inverse}}|?{-1,1}}{!doublons medias_tous}{pagination #ENV{pagination_#ENV{id_bloc,liste_medias},#GET{limite_pagination,6}} #ENV{id_bloc,liste_medias}}{tout}>
			#INCLURE{fond=inclure/article-media_vignette,id_article,compte=#COMPTEUR_BOUCLE,class=vignette,afficher_langue=#GET{afficher_langue,non},couper}
			</BOUCLE_medias_tous>
Chargement en cours