Changeset 49996 in spip-zone


Ignore:
Timestamp:
Jul 26, 2011, 6:39:19 PM (10 years ago)
Author:
marcimat@…
Message:

Utiliser JS pour mettre les messages d'avertissements plutot que de réafficher tout le formulaire lors d'un déplacement des champs en JS.

Location:
_plugins_/saisies/formulaires
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/formulaires/construire_formulaire.html

    r49777 r49996  
    44<div class="formulaire_spip formulaire_editer formulaire_#ENV{form}">
    55        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    6         [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{_message_attention})</p>]
     6        <p id="message_attention" class="reponse_formulaire reponse_formulaire_ok[ (#ENV{formulaire_modifie}|non) invisible]">#ENV*{_message_attention}</p>
    77        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    88       
     
    1313                #ACTION_FORMULAIRE{#ENV{action}}
    1414                <input style="display:none;" type="submit" class="submit" name="enregistrer" value="<:bouton_enregistrer:>" />
    15                 <input style="display:none;" type="submit" class="vide" name="" value="" />
    1615
    1716                <ul id="deplacable">
    18                         [(#ENV{formulaire_modifie}|oui)
    19                         <li class="actions_formulaire">
     17                       
     18                        <li id="reinitialiser" class="actions_formulaire[ (#ENV{formulaire_modifie}|non) invisible]">
    2019                                <button type="submit" class="submit" name="reinitialiser" value="oui" onclick="return confirm('<:saisies:construire_reinitialiser_confirmer:>')">
    2120                                        <img src="#CHEMIN{images/formulaire-reinitialiser-24.png}" alt="" />
     
    2322                                </button>
    2423                        </li>
    25                         ]
     24
    2625                        <BOUCLE_contenu(POUR){tableau #ENV{_contenu}}>
    2726                        [(#VAL{saisie}|array_key_exists{#VALEUR}|oui)
     
    5251
    5352        [(#ENV{erreurs}|non)
    54                 [<script type='text/javascript' src='(#CHEMIN{javascript/ui/jquery.ui.core.js})'></script>]
    55                 [<script type='text/javascript' src='(#CHEMIN{javascript/ui/jquery.ui.widget.js})'></script>]
    56                 [<script type='text/javascript' src='(#CHEMIN{javascript/ui/jquery.ui.mouse.js})'></script>]
    57                 [<script type='text/javascript' src='(#CHEMIN{javascript/ui/jquery.ui.sortable.js})'></script>
     53                [(#CHEMIN{javascript/ui/jquery.ui.sortable.js}|oui)
    5854                        [(#SET{sortable,1})]
    5955                ]
     
    114110                                });
    115111                        [(#ENV{erreurs}|non|et{#GET{sortable}})
    116                                 if ($.fn.sortable) {
    117                                         $( "#deplacable, #deplacable ul" ).sortable({
    118                                                 containment: 'parent',
    119                                                 connectWith: "#deplacable, #deplacable ul",
    120                                                 placeholder: "ui-state-highlight",
    121                                                 handle: '>.actions .deplacer_saisie',
    122                                                 start: function(event, ui) {
    123                                                         $('.ui-state-highlight')
    124                                                                 .css('height', ui.item.css('height'))
    125                                                                 .css('height', '+=20px');
    126                                                 },
    127                                                 update: function(event, ui) {
    128                                                         id = ui.item.data('id');
    129                                                         ou = ui.item.next().data('id');
    130                                                         // avant le suivant
    131                                                         if (!ou) {
    132                                                                 // sinon dans le parent
    133                                                                 ou = ui.item.closest('.fieldset').data('id');
    134                                                                 if (ou) {
    135                                                                         ou = '[(#VAL{91}|chr)]' + ou + '[(#VAL{93}|chr)]';
     112                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.core.js}", function(){
     113                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.widget.js}", function(){
     114                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.mouse.js}", function(){
     115                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.sortable.js}", function(){
     116                                        if ($.fn.sortable) {
     117                                                $( "#deplacable, #deplacable ul" ).sortable({
     118                                                        revert: true,
     119                                                        containment: '#deplacable',
     120                                                        connectWith: "#deplacable, #deplacable ul",
     121                                                        placeholder: "ui-state-highlight",
     122                                                        handle: '>.actions .deplacer_saisie',
     123                                                        start: function(event, ui) {
     124                                                                $('.ui-state-highlight')
     125                                                                        .css('height', ui.item.css('height'))
     126                                                                        .css('height', '+=20px');
     127                                                        },
     128                                                        update: function(event, ui) {
     129                                                                id = ui.item.data('id');
     130                                                                ou = ui.item.next().data('id');
     131                                                                // avant le suivant
     132                                                                if (!ou) {
     133                                                                        // sinon dans le parent
     134                                                                        ou = ui.item.closest('.fieldset').data('id');
     135                                                                        if (ou) {
     136                                                                                ou = '[(#VAL{91}|chr)]' + ou + '[(#VAL{93}|chr)]';
     137                                                                        }
     138                                                                        console.log(ou);
    136139                                                                }
    137                                                                 console.log(ou);
     140                                                                url = "#URL_ECRIRE";
     141                                                                $.get(url, {
     142                                                                        session: '#ENV{_identifiant_session}',
     143                                                                        action: 'deplacer_saisie',
     144                                                                        saisie: id,
     145                                                                        ou: ou
     146                                                                }, function() {
     147                                                                        //$('input.vide').submit();
     148                                                                        $('#reinitialiser').removeClass('invisible');
     149                                                                        $('#message_attention').removeClass('invisible');
     150                                                                });
    138151                                                        }
    139                                                         url = "#URL_ECRIRE";
    140                                                         $.get(url, {
    141                                                                 session: '#ENV{_identifiant_session}',
    142                                                                 action: 'deplacer_saisie',
    143                                                                 saisie: id,
    144                                                                 ou: ou
    145                                                         }, function() {
    146                                                                 $('input.vide').submit();
    147                                                         });
    148                                                 }
    149                                         });
    150                                         $( "#deplacable" ).disableSelection();
    151                                 }
     152                                                });
     153                                        }
     154                                });});});});
    152155                        ]
    153156                });
  • _plugins_/saisies/formulaires/construire_formulaire.php

    r49774 r49996  
    2424        if ($formulaire_actuel != $formulaire_initial){
    2525                $contexte['formulaire_modifie'] = true;
    26                 $contexte['_message_attention'] = _T('saisies:construire_attention_modifie');
    27         }
     26        }
     27        $contexte['_message_attention'] = _T('saisies:construire_attention_modifie');
    2828       
    2929        // On passe ça pour l'affichage
Note: See TracChangeset for help on using the changeset viewer.