Changeset 110370 in spip-zone


Ignore:
Timestamp:
May 25, 2018, 2:41:50 PM (3 years ago)
Author:
abelass@…
Message:

harmoniser l'affichage avec blocks liens objet

Location:
_plugins_/prix_objets/trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/prix_objets/trunk/formulaires/inc-prix_affichage.html

    r110362 r110370  
    11<B_prix>
    2 <div class="liste prix">
     2<div class="liste-objets liste-objets-lies prix_objets">
    33<table class="spip liste ordonner_rang_lien liste_items prix_objets"
    44        id="prix_choisis"
     
    5555</div>
    5656</B_prix>
     57<div class="liste-objets liste-objets-lies prix_objets caption-wrap">
     58        <strong class="caption">[(#ENV*{titre,<:prix_objets:info_aucun_prix_objets:>})]</strong>
     59</div>
     60<//B_prix>
    5761
    58 <script type="text/javascript">
    59 /* Gestion du tri des listes de documents et de leur enregistrement */
    60 
    61         $(function($){
    62 
    63         if ($.fn.sortable) {
    64                 $(".liste.prix .ordonner_rang_lien[data-lien]").find('.sortable').each(function () {
    65 
    66                         // détruire / recréer le sortable à chaque appel ajax
    67                         if ($(this).has('.ui-sortable').length) {
    68                                 $(this).sortable('destroy');
    69                         }
    70                         // pas de tri possible s'il n'y a qu'un seul élément.
    71                         if ($(this).find('tr').length < 2) {
    72                                 $(this).find('.deplacer-document').hide();
    73                                 return true; // continue
    74                         } else {
    75                                 $(this).find('.deplacer-document').show();
    76                         }
    77                         $(this).sortable({
    78                                 /*axis: "y",*/ /* minidoc a un affichage en case */
    79                                 placeholder: ".ui-state-highlight",
    80                                 cursor: "move",
    81                                 containment: "parent",
    82                                 tolerance: "pointer",
    83                                 update: function (event, ui) {
    84                                         var items = $(this);
    85                                         var item = ui.item;
    86                                         var liste = items.sortable('toArray');
    87                                         var ordre = [];
    88 
    89                                         $.each(liste, function(i, id) {
    90                                                 if (id) {
    91                                                         ordre.push( id.substring(4) ); // prix123 => 123
    92                                                 }
    93                                         });
    94 
    95                                         // l'objet lié est indiqué dans l'attribut data-lien sur la liste
    96                                         var lien = items.parents(".liste_items.prix_objets").data("lien").split("/");
    97                                         var objet_lie = lien[0];
    98                                         var id_objet_lie = lien[1];
    99                                         var action = '[(#VAL{ordonner_prix_objets}|generer_url_action{"", 1})]';
    100                                         var params = {
    101                                                 objet_source: 'prix_objet',
    102                                                 objet_lie: objet_lie,
    103                                                 id_objet_lie: id_objet_lie,
    104                                                 ordre: ordre,
    105                                         };
    106 
    107                                         $.ajax({
    108                                                 url: action,
    109                                                 data: params,
    110                                                 dataType: 'json',
    111                                                 cache: false,
    112                                         }).done(function(data) {
    113 
    114                                                 var couleur_origine = item.css('background-color');
    115                                                 var couleur_erreur = $("<div class='remove'></div>").css('background-color');
    116                                                 var couleur_succes = $("<div class='append'></div>").css('background-color');
    117 
    118                                                 if (data.errors.length) {
    119                                                         items.sortable('cancel');
    120                                                         item.css({backgroundColor: couleur_erreur}).animate({backgroundColor: couleur_origine}, 'normal', function(){
    121                                                                 item.css({backgroundColor: ''});
    122                                                         });
    123                                                 } else {
    124                                                         item.css({backgroundColor: couleur_succes}).animate({backgroundColor: couleur_origine}, 'normal', function(){
    125                                                                 item.css({backgroundColor: ''});
    126                                                         });
    127                                                         items.parent().find('.tout_desordonner').show();
    128                                                 }
    129                                         });
    130                                 }
    131                         });
    132                         // bouton "désordonner"
    133                         if ($(this).parent().find('.deplacer-document[data-rang!=0]').length) {
    134                                 $(this).parent().find('.tout_desordonner').show();
    135                         } else {
    136                                 $(this).parent().find('.tout_desordonner').hide();
    137                         }
    138                 });
    139         }
    140 });
     62<script type="text/javascript">/*<![CDATA[*/
     63        [(#INCLURE{fond=javascript/gestion_listes_prix_objets.js}|compacte{js})]
     64/*]]>*/
    14165</script>
  • _plugins_/prix_objets/trunk/formulaires/prix.html

    r110362 r110370  
    1 <div class="formulaire_spip editer_prix liste">
    2 [(#SET{plie,0})]
    3 [(#ENV{message_ok}|ou{#ENV{message_erreur}}|oui)
    4                 [(#SET{plie,1})]
    5 ]
    6 [(#VAL{inc/presentation}|include_spip|oui)]
    7 [(#VAL{inc/layer}|include_spip|oui)]
    8 
    9 [(#SET{identifiant,[(#VAL{sel_prix})]})]
    10         [(#VAL{e}|debut_cadre{'','',[(#VAL{<:prix_objets:info_prix:>}|bouton_block_depliable{[(#GET{plie}?{#EVAL{true},#EVAL{false}})],#GET{identifiant}})]})]
    11 
    12 <INCLURE {fond=formulaires/inc-prix_affichage,env} />
    13 
    14 [(#GET{plie}|debut_block_depliable{#GET{identifiant}})]
    15 <BOUCLE_test0(CONDITION){si #ENV{devises}|count|>{0}}>
     1<div class="formulaire_spip formulaire_editer formulaire_editer_liens formulaire_editer_liens-bancaire_comptes">
    162        <form id="form_prix" name="form_prix" action="#ENV{action}#form_prix" method="post"><div>
    173                #ACTION_FORMULAIRE{#ENV{action}}
     4                <input type="hidden" name="visible" value="#ENV{visible,0}" id="visible-prix"/>
     5                <div class="toggle_box_link">
     6                        &#91;<button type="submit" class="link" name="visible" value="1">
     7                                <:prix_objets:ajouter_prix:>
     8                        </button>&#93;
     9                </div>
     10                <INCLURE {fond=formulaires/inc-prix_affichage,env} />
     11<BOUCLE_test0(CONDITION){si #ENV{devises}|count|>{0}}>
     12        <BOUCLE_editable_visible(CONDITION){si #ENV{visible,0}|et{#ENV{editable}}|oui}>
     13        <div class="selecteur[(#ENV{recherche}|oui)filtre]">
     14                <h3 class="titrem"><:prix_objets:ajouter_prix:></h3>
    1815                [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{code_devise})</div>]
    1916                <div class="editer-groupe">
     
    3936                                </div>
    4037                        </div>
     38
    4139                        [(#SAISIE{oui_non,taxes_inclus,
    4240                                        label=<:prix_objets:taxes_inclus:>})]
     
    5149                        <!--fini champs!-->
    5250                        </div>
    53                 <p class="boutons"><input type="submit"  class="submit" value="<:prix_objets:ajouter_prix:>" /></p></div>
    54         </form>
     51                <p class="boutons">
     52                        <input type="submit"  class="submit" value="<:prix_objets:ajouter_prix:>" />
     53                </p>
     54                                <div class="toggle_box_link">
     55                                        &#91;<a href="#"
     56                                                onclick="jQuery(this).parents('div.selecteur').hide('fast').siblings('.toggle_box_link').show();jQuery('#visible-prix').attr('value',0);return false;"
     57                                                ><:bouton_fermer:></a>&#93;
     58                                </div>
     59                        </div>
     60                        <div class="toggle_box_link" style="display:none;">
     61                                        &#91;<a href="#"
     62                                                onclick="jQuery(this).parents('div.toggle_box_link').hide('fast').siblings('.selecteur').show('fast');jQuery('#visible-prix').attr('value',1);return false;"
     63                                                ><:prix_objets:ajouter_prix:></a>&#93;
     64                        </div>
     65        </div>
     66                </BOUCLE_editable_visible>
     67        [(#ENV{editable})
     68                [(#ENV{visible,0}|non)
     69                <div class="toggle_box_link">
     70                        &#91;<button type="submit" class="link" name="visible" value="1">
     71                                <:prix_objets:ajouter_prix:>
     72                        </button>&#93;
     73                </div>
     74                ]
     75                [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
     76                <!--extra-->
     77        </div></form>
     78        ]
    5579
    5680</BOUCLE_test0>
    57 [(#GET{plie}|fin_block)]
    58 [(#VAL{e}|fin_cadre)]
    59         <br class="nettoyeur"/>
    6081</div>
     82
  • _plugins_/prix_objets/trunk/formulaires/prix.php

    r110362 r110370  
    5252                'objet_titre' => '',
    5353                'taxes' => $taxes,
    54                 'taxe' => ''
     54                'taxe' => '',
     55                'visible' => _request('visible') ? _request('visible') : ''
    5556        );
    5657
     
    177178
    178179
    179         $titres_secondaires = implode(' / ', $titres_secondaires);
    180 
    181 
    182 
    183180        if ($titres_secondaires) {
     181                $titres_secondaires = implode(' / ', $titres_secondaires);
    184182                $titre = $titre . ' - ' . $titres_secondaires;
    185183        }
  • _plugins_/prix_objets/trunk/lang/prix_objets_fr.php

    r110362 r110370  
    3030        // I
    3131        'info_1_prix' => 'Un prix attaché',
     32        'info_aucun_prix_objets' => 'Aucun prix',
    3233        'info_actions' => 'Actions',
    3334        'info_extensions' => 'Extensions',
Note: See TracChangeset for help on using the changeset viewer.