diff --git a/prive/formulaires/editer_liens.html b/prive/formulaires/editer_liens.html index 9b4d7ee15857af1001b85e229eaa5354582c77a3..8dd97dd5e513442a8104e09fb5f9ab293eeb94d9 100644 --- a/prive/formulaires/editer_liens.html +++ b/prive/formulaires/editer_liens.html @@ -47,3 +47,13 @@ </div></form> ] </div> +<script type="text/javascript"> + jQuery('.action .delete').click(function(){ + jQuery(this).parents('tr').addClass('remove').animate({opacity: "0.0"}, 'fast'); + }); + /* necessite le plugin jquery.color.js */ + jQuery('tr.append').each(function(){ + jQuery(this).css('opacity','0.0').animate({opacity: "1.0"}, 'slow').animate({backgroundColor: '#ffffff'}, 'slow',function(){jQuery(this).removeClass('append');}); + }); + +</script> \ No newline at end of file diff --git a/prive/formulaires/editer_liens.php b/prive/formulaires/editer_liens.php index 017083e7a841bb482a371d0c9594c50106debcdf..ba46b68d6b2e84ee7ed80028aea1e96e5824079c 100644 --- a/prive/formulaires/editer_liens.php +++ b/prive/formulaires/editer_liens.php @@ -38,6 +38,7 @@ function formulaires_editer_liens_charger_dist($table_source,$objet,$id_objet){ 'id'=>"$table_source-$objet-$id_objet", // identifiant unique pour les id du form '_vue_liee' => $table_source."_lies", '_vue_ajout' => $table_source."_associer", + 'id_new'=>0, 'objet'=>$objet, 'id_objet'=>$id_objet, 'objet_source'=>$objet_source, @@ -113,7 +114,7 @@ function formulaires_editer_liens_traiter_dist($table_source,$objet,$id_objet){ } } } - + if ($supprimer){ include_spip('action/editer_liens'); $oups = array(); @@ -130,16 +131,22 @@ function formulaires_editer_liens_traiter_dist($table_source,$objet,$id_objet){ } if ($ajouter){ + $ajout_ok = false; $ajouter_lien = charger_fonction('ajouter_lien','action'); foreach($ajouter as $k=>$v){ if ($lien = lien_verifier_action($k,$v)){ + $ajout_ok = true; $ajouter_lien($lien); + $lien = explode("-",$lien); + list(,$id_new,,) = $lien; + set_request('id_new',$id_new); } } # oups ne persiste que pour la derniere action, si suppression # une suppression suivie d'un ajout dans le meme hit est un remplacement # non annulable ! - set_request('_oups'); + if ($ajout_ok) + set_request('_oups'); } } diff --git a/prive/listes/auteurs_lies.html b/prive/listes/auteurs_lies.html index fe8208dbf7623755381c37d79c13e485c0ee580a..be6df01985116a174fd018f00ea1f4bf51c20b47 100644 --- a/prive/listes/auteurs_lies.html +++ b/prive/listes/auteurs_lies.html @@ -40,12 +40,12 @@ </thead> <tbody> <BOUCLE_liste_aut(AUTEURS){tout}{id_objet?}{objet}{where?}{statut?}{tri #ENV{par,multi nom},#GET{defaut_tri}}{pagination #ENV{nb,10} autl}{!compteur_articles_filtres #ENV{filtre_statut_articles,"'poubelle'"}}> - <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)]"> + <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][ (#EXPOSE|unique)][ (#NOM**|extraire_multi|initiale|=={#ENV{i}}|?{on}|unique)][(#ID_AUTEUR|=={#ENV{id_new}}|oui)append]"> <td class='statut'>[(#ID_AUTEUR|puce_changement_statut{#STATUT,0,auteur})]</td> <td class='nom[ (#NOM|non)vide]'>[(#LOGO_AUTEUR|image_reduire{20,20})]<a href="[(#ID_AUTEUR|generer_url_entite{auteur})]"[ title="(#BIO*|couper{200}|attribut_html)"]>[(#RANG). ][(#NOM|sinon{<:texte_vide:>})]</a></td> <td class='email'>[<a href='mailto:(#EMAIL)'>[(#EMAIL|couper{30})]</a>]</td> <td class='nombre'>[(#COMPTEUR_ARTICLES|singulier_ou_pluriel{info_1_article,info_nb_articles})][<br /><span>(#PIPELINE{'compter_contributions_auteur',#ARRAY{args,#ARRAY{id_auteur,#ID_AUTEUR},data,#ARRAY{}}}|implode{'<br />'})</span>]</td> - <td class='action'><button class="button link" name="supprimer_lien[auteur-#ID_AUTEUR-#OBJET-#ID_OBJET]" value="X"><:lien_retirer_auteur:> [(#CHEMIN_IMAGE{supprimer-8.png}|balise_img{'X'})]</button></td> + <td class='action'><button class="button link delete" name="supprimer_lien[auteur-#ID_AUTEUR-#OBJET-#ID_OBJET]" value="X"><:lien_retirer_auteur:> [(#CHEMIN_IMAGE{supprimer-8.png}|balise_img{'X'})]</button></td> </tr> </BOUCLE_liste_aut> </tbody> diff --git a/prive/style_prive_formulaires.html b/prive/style_prive_formulaires.html index b1d19011219a98dda3ba31380bdd0a5d29212562..eb213eeb60dc05e1a96469f4581bd9b2212863b2 100644 --- a/prive/style_prive_formulaires.html +++ b/prive/style_prive_formulaires.html @@ -610,4 +610,11 @@ input[type="submit"] { .formulaire_editer_liens .associer_mot.obligatoire.nonvu {background-color:#FFCDAF;} .formulaire_editer_liens .associer_mot.unseul.vu {color:#999999;} .formulaire_editer_liens .associer_mot select,.formulaire_editer_liens .associer_mot input.text {width:75%;} -.formulaire_editer_liens .associer_mot .submit {float:#GET{right};font-weight:normal;} \ No newline at end of file +.formulaire_editer_liens .associer_mot .submit {float:#GET{right};font-weight:normal;} +/* retour visuel a la suppression et a l'ajout */ +.formulaire_editer_liens .remove, +.formulaire_editer_liens table.spip tr.remove, +.formulaire_editer_liens table.spip tr.remove td {background-color:#FFD0BF;} +.formulaire_editer_liens .append, +.formulaire_editer_liens table.spip tr.append, +.formulaire_editer_liens table.spip tr.append td {background-color:#E0FFCF;}