Changeset 43981 in spip-zone


Ignore:
Timestamp:
Jan 29, 2011, 4:04:31 PM (9 years ago)
Author:
cedric@…
Message:

debug de la colonne document, qui passe en deux parties separee (formulaire + liste de documents en ajax), comme le reste.
Il manque la possibilite d'une callback sur ajaxReload, ce qui est genant (pour mettre le focus sur le lien modifier" ici, ou autre operation qui depend du rechargement en general)

Location:
_core_/plugins/medias
Files:
1 deleted
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _core_/plugins/medias/formulaires/inc-upload_document.html

    r43743 r43981  
    11#SET{domid,_#ENV{mode}|concat{'_',#ENV{id,new}}}
     2#SET{methode,upload}
     3[(#ENV{joindre_mediatheque}|oui)#SET{methode,mediatheque}]
     4[(#ENV{joindre_distant}|oui)#SET{methode,distant}]
     5[(#ENV{joindre_ftp}|oui)#SET{methode,ftp}]
     6
     7<div id="defaultsubmit#GET{domid}"></div>
    28[
    39
    410
    511(#REM) Formulaire d'upload de fichier
    6 ]<div class='joindre_mode#GET{domid}' id='joindre_upload#GET{domid}'>
     12]<div class='joindre_mode#GET{domid}[(#GET{methode}|=={upload}|non)jsnone]' id='joindre_upload#GET{domid}'>
    713        <ul>
    814                <li class='editer_fichier_upload[ (#ENV**{erreurs}|table_valeur{fichier_upload}|oui)erreur]'>
     
    1622                <:medias:bouton_download_local:>
    1723                [(#ENV{mediatheque,''}|oui)
    18                 | <a href='#' onclick="if (jQuery('#joindre_media#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_media#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_par_mediatheque:></a>]
     24                | <a href='#' onclick="change_methode('mediatheque');return false;"><:medias:bouton_download_par_mediatheque:></a>]
    1925                [(#ENV{proposer_ftp,''}|oui)
    20                 | <a href='#' onclick="if (jQuery('#joindre_ftp#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_ftp#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_par_ftp:></a>]
    21                 | <a href='#' onclick="if (jQuery('#joindre_distant#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_distant#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_sur_le_web:></a>
     26                | <a href='#' onclick="change_methode('ftp');return false;"><:medias:bouton_download_par_ftp:></a>]
     27                | <a href='#' onclick="change_methode('distant');return false;"><:medias:bouton_download_sur_le_web:></a>
    2228        </div>
    2329        <p class='boutons'><input class='submit' type="submit" name="joindre_upload" value="<:medias:bouton_upload:>"/></p>
     
    2935(#REM) Formulaire pour document dans mediatheque
    3036][(#ENV{mediatheque,''}|oui)
    31 <div class='joindre_mode#GET{domid}' id='joindre_media#GET{domid}'>
     37<div class='joindre_mode#GET{domid}[(#GET{methode}|=={mediatheque}|non)jsnone]' id='joindre_mediatheque#GET{domid}'>
    3238        <ul>
    3339                <li class='editer_refdoc_joindre[ (#ENV**{erreurs}|table_valeur{refdoc_joindre}|oui)erreur]'>
     
    5157        <div class='sourceup'>
    5258                <:medias:bouton_download_depuis:>
    53                 <a href='#' onclick="if (jQuery('#joindre_upload#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_upload#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_local:></a>
     59                        <a href='#' onclick="change_methode('upload');return false;"><:medias:bouton_download_local:></a>
    5460                | <:medias:bouton_download_par_mediatheque:>
    5561                [(#ENV{proposer_ftp,''}|oui)
    56                 | <a href='#' onclick="if (jQuery('#joindre_ftp#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_ftp#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_par_ftp:></a>]
    57                 | <a href='#' onclick="if (jQuery('#joindre_distant#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_distant#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_sur_le_web:></a>
     62                | <a href='#' onclick="change_methode('ftp');return false;"><:medias:bouton_download_par_ftp:></a>]
     63                | <a href='#' onclick="change_methode('distant');return false;"><:medias:bouton_download_sur_le_web:></a>
    5864        </div>
    5965        <p class='boutons'><input class='submit' type="submit" name="joindre_mediatheque" value="<:medias:bouton_attacher_document:>"/></p>
     
    6672(#REM) Formulaire pour upload ftp
    6773][(#ENV{proposer_ftp,''}|oui)
    68 <div class='joindre_mode#GET{domid}' id='joindre_ftp#GET{domid}'>
     74<div class='joindre_mode#GET{domid}[(#GET{methode}|=={ftp}|non)jsnone]' id='joindre_ftp#GET{domid}'>
    6975        [
    7076        <ul>
     
    7884                </li>
    7985        </ul>][(#ENV{_dir_upload_ftp}|et{#ENV{_options_upload_ftp}|non}|oui)
    80         <div class="infos">
     86        <p class="infos">
    8187        [(#VAL{info_installer_ftp}|_T{#ARRAY{upload,#ENV*{_dir_upload_ftp}}})] #AIDER{ins_upload}
    82         </div>
     88        </p>
    8389        ]
    8490        <div class='sourceup'>
    8591                <:medias:bouton_download_depuis:>
    86                 <a href='#' onclick="if (jQuery('#joindre_upload#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_upload#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_local:></a>
     92                <a href='#' onclick="change_methode('upload');return false;"><:medias:bouton_download_local:></a>
    8793                [(#ENV{mediatheque,''}|oui)
    88                 | <a href='#' onclick="if (jQuery('#joindre_media#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_media#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_par_mediatheque:></a>]
     94                | <a href='#' onclick="change_methode('mediatheque');return false;"><:medias:bouton_download_par_mediatheque:></a>]
    8995                | <:medias:bouton_download_par_ftp:>
    90                 | <a href='#' onclick="if (jQuery('#joindre_distant#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_distant#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_sur_le_web:></a>
     96                | <a href='#' onclick="change_methode('distant');return false;"><:medias:bouton_download_sur_le_web:></a>
    9197        </div>
    92         [(#ENV*{_options_upload_ftp}|oui)
    93         <p class='boutons'><input class='submit' type="submit" name="joindre_ftp" value="<:bouton_choisir:>"/></p>
    94         ]
     98        <p class='boutons'>
     99                [(#ENV*{_options_upload_ftp}|oui)
     100                <input class='submit' type="submit" name="joindre_ftp" value="<:bouton_choisir:>"/>
     101                ]
     102        </p>
    95103</div>
    96104][
     
    100108
    101109(#REM) Formulaire pour document distant
    102 ]<div class='joindre_mode#GET{domid}' id='joindre_distant#GET{domid}'>
     110]<div class='joindre_mode#GET{domid}[(#GET{methode}|=={distant}|non)jsnone]' id='joindre_distant#GET{domid}'>
    103111        <ul>
    104112                <li class='editer_url[ (#ENV**{erreurs}|table_valeur{url}|oui)erreur]'>
     
    110118        <div class='sourceup'>
    111119                <:medias:bouton_download_depuis:>
    112                 <a href='#' onclick="if (jQuery('#joindre_upload#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_upload#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_local:></a>
     120                        <a href='#' onclick="change_methode('upload');return false;"><:medias:bouton_download_local:></a>
    113121                [(#ENV{mediatheque,''}|oui)
    114                 | <a href='#' onclick="if (jQuery('#joindre_media#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_media#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_par_mediatheque:></a>]
     122                | <a href='#' onclick="change_methode('mediatheque');return false;"><:medias:bouton_download_par_mediatheque:></a>]
    115123                [(#ENV{proposer_ftp,''}|oui)
    116                 | <a href='#' onclick="if (jQuery('#joindre_ftp#GET{domid}').is(':hidden')) {jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');jQuery('#joindre_ftp#GET{domid}').slideDown('fast');}return false;"><:medias:bouton_download_par_ftp:></a>]
     124                | <a href='#' onclick="change_methode('ftp');return false;"><:medias:bouton_download_par_ftp:></a>]
    117125                | <:medias:bouton_download_sur_le_web:>
    118126        </div>
     
    127135
    128136<script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
    129 setTimeout(function(){
    130 if (window.jQuery){
    131 jQuery(document).ready(function(){
    132         [(#ENV{joindre_upload}|oui)
    133         jQuery('.joindre_mode#GET{domid}:not(#joindre_upload#GET{domid})').hide();
    134         ]
    135         [(#ENV{joindre_mediatheque}|oui)
    136         jQuery('.joindre_mode#GET{domid}:not(#joindre_media#GET{domid})').hide();
    137         ]
    138         [(#ENV{joindre_distant}|oui)
    139         jQuery('.joindre_mode#GET{domid}:not(#joindre_distant#GET{domid})').hide();
    140         ]
    141         [(#ENV{joindre_ftp}|oui)
    142         jQuery('.joindre_mode#GET{domid}:not(#joindre_ftp#GET{domid})').hide();
    143         ]
    144         if (jQuery('.joindre_mode#GET{domid}:visible').length>1)
    145                 jQuery('.joindre_mode#GET{domid}:not(#joindre_upload#GET{domid})').hide();
    146 });
     137function change_methode(methode){
     138        var id = "#joindre_"+methode+"#GET{domid}";
     139        if (jQuery(id).is(':hidden')) {
     140                jQuery('div.joindre_mode#GET{domid}:visible').slideUp('fast');
     141                jQuery(id).slideDown('fast');
     142        }
     143        // placer en haut du formulaire les boutons submit par defaut correspondant a la methode active
     144        jQuery("#defaultsubmit#GET{domid}").html('').append(jQuery(id).find('.boutons').eq(-1).find('input').clone(true));
    147145}
    148 },10);
     146jQuery(function(){change_methode('#GET{methode}');});
    149147/*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>
  • _core_/plugins/medias/formulaires/joindre_document.php

    r43978 r43981  
    7474       
    7575        if ($galerie){
    76                 # colonne documents ou portfolio ?
     76                # passer optionnellement une galerie jointe au form
     77                # plus utilise nativement, on prefere la mise a jour
     78                # apres upload par ajaxReload('documents')
    7779                $valeurs['_galerie'] = $galerie;
    7880        }
     
    188190                        $res['message_erreur'] = implode('<br />',$messages_erreur);
    189191                if ($nb_docs){
    190                         $sel = "#doc".implode(",#doc",$sel);
    191                         $js = "if (window.jQuery) jQuery(function(){ajaxReload('documents');});";
    192                         if ($nb_docs==1)
    193                                 $js .= "setTimeout(function(){if (window.jQuery) jQuery('#doc$ancre a.editbox').get(0).focus();},30);";
    194                         $js = "<script type='text/javascript'>$js</script>";
     192                        #$sel = "#doc".implode(",#doc",$sel);
    195193                        $res['message_ok'] = singulier_ou_pluriel($nb_docs,'medias:document_installe_succes','medias:nb_documents_installe_succes').$js;
    196194                }
     
    198196                        $res['redirect'] = "#doc$ancre";
    199197        }
    200        
     198        if (isset($res['message_ok'])){
     199                $js = "if (window.jQuery) jQuery(function(){ajaxReload('documents');});";
     200                if ($ancre)
     201                        $js .= "setTimeout(function(){if (window.jQuery) jQuery('#doc$ancre a.editbox').get(0).focus();},900);";
     202                $js = "<script type='text/javascript'>$js</script>";
     203          $res['message_ok'] .= $js;
     204        }
     205
    201206        return $res;
    202207}
  • _core_/plugins/medias/inc/documents.php

    r43743 r43981  
    196196        }
    197197
    198         return
    199           ((++$num > 1) ? "" : http_script('',  "spip_barre.js"))
    200                 . "\n<div style='text-align: $align'$onclick>&lt;$doc$id$pipe&gt;</div>\n";
     198        return "\n<div style='text-align: $align'$onclick>&lt;$doc$id$pipe&gt;</div>\n";
    201199}
    202200
  • _core_/plugins/medias/prive/editer/colonne_document.html

    r30304 r43981  
    11<div class='ajax'>
    2 #FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_objet},#ENV{objet},'auto','formulaires/inc-colonne_documents'}
     2#FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_objet},#ENV{objet}}
    33</div>
     4<INCLURE{fond=prive/squelettes/inclure/colonne-documents,env,ajax=documents}>
    45[<script type="text/javascript" src='(#CHEMIN{javascript/jquery.MultiFile.js})'></script>
    56<script type='text/javascript'>
Note: See TracChangeset for help on using the changeset viewer.