Changeset 120826 in spip-zone


Ignore:
Timestamp:
Jan 27, 2020, 10:06:44 AM (13 months ago)
Author:
Cerdic
Message:

refactoring formulaire edition tradlang

Location:
_plugins_/trad-lang/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/trad-lang/trunk

    • Property subgit:lock:427e04212ef1979ca7f09acf582d0c2d2f3d6b09 deleted
    • Property subgit:lock:98e66067f91aae5572338d602027a9135d6591a4 set to 2020-01-27T11:08:30.743
  • _plugins_/trad-lang/trunk/formulaires/editer_tradlang.html

    r75884 r120826  
    1 <div class="formulaire_spip formulaire_tradlang_ajout_codelangue" id="formulaire_tradlang_ajout_codelangue">
     1<div class="formulaire_spip formulaire_#FORM" id="formulaire_#FORM-#ENV{id}">
    22        [<p class='reponse_formulaire reponse_formulaire_ok'>(#ENV*{message_ok})</p>]
    33        [<p class='reponse_formulaire reponse_formulaire_erreur'>(#ENV*{message_erreur})</p>]
     
    77                parametre : url d'action ]
    88                #ACTION_FORMULAIRE{#ENV{action}}
    9                 <ul>
    10                         <li class="notice_statut" style="display:none;">
    11                                 <div class="notice"><:tradlang:crayon_changer_statut:></div>
    12                         </li>
    13                         <li class="editer editer_str_orig readonly">
     9                <div class="editer-groupe">
     10                        <div class="editer editer_str_orig readonly">
    1411                                <BOUCLE_orig(TRADLANGS){id=#ENV{id}}{lang=#ENV{lang_orig}}{0,1}>
    1512                                [(#SET{comm_orig,#COMM})][(#SET{lines,#STR*|strlen|div{40}|intval|plus{1}})]
     
    2623                                <//B_orig>
    2724                                <input type="hidden" class="hidden" value="#ENV{lang_orig}" />
    28                         </li>
    29                         <li class='editer editer_str obligatoire[(#ENV{erreurs}|table_valeur{str}|oui)erreur]'>
     25                        </div>
     26                        <div class='editer editer_str obligatoire[(#ENV{erreurs}|table_valeur{str}|oui)erreur]'>
    3027                                <label for='str'><:tradlang:label_tradlang_str{lang=#ENV{langue}}:></label>[
    3128                                <span class="erreur_message">(#ENV{erreurs}|table_valeur{str})</span>]
    3229                                <textarea class="texte" name="str" id="str" rows="#GET{lines}">[(#ENV**{str}|tradlang_utf8)]</textarea>
    33                         </li>
    34                         [(#COMM|oui)<li class='editer editer_comm_orig readonly'>
     30                        </div>
     31                        [(#COMM|oui)<div class='editer editer_comm_orig readonly'>
    3532                                [(#ENV{lang_orig}|=={#ENV{lang_mere}}|oui)<label><:tradlang:label_version_originale_comm{lang=#ENV{lang_orig}}:></label>]
    3633                                [(#ENV{lang_orig}|=={#ENV{lang_mere}}|non)<label><:tradlang:label_version_selectionnee_comm{lang=#ENV{lang_orig}}:></label>]
    3734                                <textarea class="texte" name="comm_orig" id="comm_orig" readonly="readonly" style="text-align:#LANG_LEFT;" dir="#LANG_DIR">[(#GET*{comm}|entites_html)]</textarea>
    38                         </li>]
    39                         <li class="editer editer_statut obligatoire[(#ENV{erreurs}|table_valeur{statut}|oui)erreur]">
     35                        </div>]
     36                        <div class="editer editer_statut obligatoire[(#ENV{erreurs}|table_valeur{statut}|oui)erreur]">
     37                                <div class="alert alert-warning notice_statut" style="display:none;">
     38                                        <:tradlang:crayon_changer_statut:>
     39                                </div>
    4040                                <label for="statut"><:tradlang:label_tradlang_status:></label>[
    4141                                <span class="erreur_message">(#ENV{erreurs}|table_valeur{statut})</span>]
     
    4646                                        <option value="NEW"[(#STATUT|=={NEW}|oui)selected="selected"]><:tradlang:str_status_new:></option>
    4747                                </select>
    48                         </li>
    49                 </ul>
     48                        </div>
     49                </div>
    5050                <p class='boutons'>
    51                         <input type='submit' class='submit' value='<:bouton_valider:>' />
     51                        <input type='submit' class='btn btn-primary' value='<:bouton_valider|attribut_html:>' />
    5252                </p>
    5353        </div></form>
     
    5656
    5757<script type='text/javascript'>
    58         var contenu_orig = '[(#ENV**{str}|tradlang_utf8|entites_html|replace{"\n","_"}|replace{"\r",""}|replace{"\t",""})]',
    59                 statut_orig = '#STATUT';
    60         jQuery('#formulaire_tradlang_ajout_codelangue form').submit(function(){
    61                 var newstatut = jQuery(this).find('#statut').val();
    62                 var new_contenu = jQuery(this).find('#str').val().replace(/\n/,'_');
    63                 if((new_contenu != contenu_orig) && (newstatut != 'OK'))
    64                         if(!window.confirm('<:tradlang:crayon_changer_statut|filtrer_entites|texte_script:>'))
    65                                 return false;
    66         });
    67         jQuery('#formulaire_tradlang_ajout_codelangue #str').keyup(function(){
    68                 var newstatut = jQuery('#formulaire_tradlang_ajout_codelangue #statut').val();
    69                 var new_contenu = jQuery(this).val().replace(/\n/,'_');
    70                 if((new_contenu != contenu_orig) && (newstatut != 'OK') && jQuery(this).parents('form').find('.notice_statut').is(':hidden'))
    71                         jQuery(this).parents('form').find('.notice_statut').toggle();
    72                 else if((new_contenu == contenu_orig) && jQuery(this).parents('form').find('.notice_statut').is(':visible'))
    73                         jQuery(this).parents('form').find('.notice_statut').toggle();
    74         });
    75         jQuery('#formulaire_tradlang_ajout_codelangue #statut').change(function(){
    76                 var newstatut = jQuery(this).val();
    77                 var new_contenu = jQuery('#formulaire_tradlang_ajout_codelangue #str').val().replace(/\n/,'_');
    78                 if((new_contenu != contenu_orig) && (newstatut != 'OK') && (newstatut == statut_orig) && jQuery('#formulaire_tradlang_ajout_codelangue .form').is(':hidden'))
    79                         jQuery('#formulaire_tradlang_ajout_codelangue .notice_statut').toggle();
    80                 else if((new_contenu != contenu_orig) && (newstatut == 'OK') && jQuery('#formulaire_tradlang_ajout_codelangue .notice_statut').is(':visible'))
    81                         jQuery('#formulaire_tradlang_ajout_codelangue .notice_statut').toggle();
    82                 else if((new_contenu == contenu_orig) && jQuery('#formulaire_tradlang_ajout_codelangue.notice_statut').is(':visible'))
    83                         jQuery('#formulaire_tradlang_ajout_codelangue .notice_statut').toggle();
    84         });
     58        jQuery(function(){
     59                var contenu_orig = '[(#ENV**{str}|tradlang_utf8|entites_html|replace{"\n","_"}|replace{"\r",""}|replace{"\t",""})]',
     60                        statut_orig = '#STATUT';
     61                var $me = jQuery('#formulaire_[#FORM-(#ENV{id})]');
     62                var $notice = $me.find('.notice_statut');
     63                jQuery('form', $me).submit(function(){
     64                        var newstatut = jQuery(this).find('#statut').val();
     65                        var new_contenu = jQuery(this).find('#str').val().replace(/\n/,'_');
     66                        if((new_contenu != contenu_orig) && (newstatut != 'OK'))
     67                                if(!window.confirm('<:tradlang:crayon_changer_statut|filtrer_entites|texte_script:>'))
     68                                        return false;
     69                });
     70                function check_str_changes(){
     71                        var newstatut = jQuery('#statut', $me).val();
     72                        var new_contenu = jQuery('#str', $me).val().replace(/\n/,'_');
     73                        if((new_contenu != contenu_orig) && (newstatut != 'OK') && $notice.is(':hidden'))
     74                                {$notice.toggle();jQuery('#statut', $me).closest('.editer').addClass('error');}
     75                        else if((new_contenu == contenu_orig) && $notice.is(':visible'))
     76                                {$notice.toggle();jQuery('#statut', $me).closest('.editer').removeClass('error');}
     77                }
     78                jQuery('#str', $me).keyup(check_str_changes);
     79                check_str_changes();
     80                jQuery('#statut', $me).change(function(){
     81                        var newstatut = jQuery(this).val();
     82                        var new_contenu = jQuery('#str', $me).val().replace(/\n/,'_');
     83                        if((new_contenu != contenu_orig) && (newstatut != 'OK') && (newstatut == statut_orig) && $notice.is(':hidden'))
     84                                {$notice.toggle();jQuery('#statut', $me).closest('.editer').addClass('error');}
     85                        else if((new_contenu != contenu_orig) && (newstatut == 'OK') && $notice.is(':visible'))
     86                                {$notice.toggle();jQuery('#statut', $me).closest('.editer').removeClass('error');}
     87                        else if((new_contenu == contenu_orig) && $notice.is(':visible'))
     88                                {$notice.toggle();jQuery('#statut', $me).closest('.editer').removeClass('error');}
     89                });
     90        })
     91
    8592</script>
Note: See TracChangeset for help on using the changeset viewer.