Changeset 10526 in spip-zone


Ignore:
Timestamp:
Mar 19, 2007, 10:18:02 PM (13 years ago)
Author:
christian_lefebvre@…
Message:
  • edition de l'etat de la traduction
  • filtrage de la trad par etat
  • title sans le residu d'xsl
  • parametre sans description s'affiche moins moche
  • integration de resizable
Location:
_outils_/docjquery
Files:
5 added
8 edited

Legend:

Unmodified
Added
Removed
  • _outils_/docjquery/plugin/action/docjquery.php

    r10461 r10526  
    1313
    1414        // recup detail id
    15         if(!preg_match('/desc:(\d+):(long|short|ex|arg)(:(\d+))?/', $id, $re)) {
     15        if(!preg_match('/(desc|etat):(\d+)(?::(long|short|ex|arg)(?::(\d+))?)?/', $id, $re)) {
    1616                echo "PB : format id";
    1717                return;
    1818        }
    1919
    20         $id= $re[1];
    21         $detail= $re[2];
     20        $quoi= $re[1];
     21        $id= $re[2];
     22        $detail= $re[3];
    2223        $complement= $re[4];
     24
     25        error_log("action $quoi/$id/$detail/$complement");
    2326       
    2427        include_spip('base/abstract_sql');
     28
     29        if($quoi=='etat') {
     30                $etats=array('new', 'ok', 'trv', 'sup', 'mod');
     31                if(!in_array($text, $etats)) {
     32                        echo "PB : etat '$text' invalide";
     33                        return;
     34                }
     35                $r= spip_query("UPDATE $tablejq SET etat='$text' WHERE id='$id'");
     36                if(!$r) {
     37                        echo "PB : svg etat ...";
     38                        return;
     39                }
     40                include_spip('docjq_fonctions');
     41                echo barre_etat($text, $id);
     42                return;
     43        }
     44 
    2545        // recup xml
    2646        $fetsel= spip_abstract_fetsel(
  • _outils_/docjquery/plugin/docjq_fonctions.php

    r10435 r10526  
    1919}
    2020
     21function barre_etat($etat, $id) {
     22        switch($etat) {
     23        case 'new':
     24        case 'mod':
     25                return etatRouge($id).etatToOrange($id).etatToVert($id);
     26                break;
     27        case 'trv':
     28                return etatOrange($id).etatToVert($id);
     29                break;
     30        case 'ok':
     31                return etatVert($id).etatToOrange($id);
     32                break;
     33        case 'sup':
     34                break;
     35        }
     36}
     37
     38function etatRouge($id) {
     39        return "<img id='rouge:$id' src='".find_in_path('rouge.png')."'/>";
     40}
     41function etatOrange($id) {
     42        return "<img id='orange:$id' src='".find_in_path('orange.png')."'/>";
     43}
     44function etatVert($id) {
     45        return "<img id='vert:$id' src='".find_in_path('vert.png')."'/>";
     46}
     47function etatToOrange($id) {
     48        return "<img onclick='$(\"#etat_$id\").load(\"?action=docjquery&value=trv&id=etat:$id\")' id='orange:$id' src='".find_in_path('toOrange.png')."'/>";
     49}
     50function etatToVert($id) {
     51        return "<img onclick='$(\"#etat_$id\").load(\"?action=docjquery&value=ok&id=etat:$id\")' id='vert:$id'src='".find_in_path('toVert.png')."'/>";
     52}
    2153?>
  • _outils_/docjquery/plugin/docjquery.css

    r10268 r10526  
    3838.editable {
    3939        border: solid 2px red;
     40/*      min-height: 5px;*/
    4041}
     42
     43.etat {
     44        float: right;
     45        border: solid 1px red;
     46        border-top: 0px;
     47        border-right: 0px;
     48}
     49
     50img {
     51        margin: 2px;
     52        border: 0;
     53}
     54
     55.resizehandle {
     56        background:transparent url("http://www.jquery.info/images/resizer.png") no-repeat scroll 45%;
     57        cursor:s-resize;
     58        font-size:0.1em;
     59        height:16px;
     60        width:100%;
     61}
  • _outils_/docjquery/plugin/docjquery.js

    r10409 r10526  
    66                        var id= $this.attr('id');
    77                        $this.attr('id', 'fake'+id);
    8                         $this.after("<div class='editable' id='"+id+"'>"+$this.attr('title')+"</div>");
     8                        var desc= $this.attr('title');
     9                        if(!desc) desc='';
     10                        $this.after("<div class='editable' id='"+id+"'>"+desc+"</div>");
    911                });
     12
    1013        // rendre editables tous les div concernés
    1114        $('div.trad [@id^=desc]:not(.arg-name)')
    1215                .addClass('editable')
    13                 .editable("?action=docjquery", { type: 'textarea', submit: 'OK' });
     16                .editable("?action=docjquery", {
     17                        type: 'textarea',
     18                        submit: 'OK',
     19                        cancel: 'Annuler',
     20                        onblur: 'ignore',
     21                        oncreate: function(t) {
     22                                $(this).resizehandle();
     23                        }
     24                });
     25});
    1426
    15 });
     27/*
     28 * resizehandle.js (c) Fil 2007, plugin pour jQuery ecrit
     29 * a partir du fichier resize.js du projet DotClear
     30 * (c) 2005 Nicolas Martin & Olivier Meunier and contributors
     31 */
     32jQuery.fn.resizehandle = function() {
     33  return this.each(function() {
     34    var me = jQuery(this);
     35    me.after(
     36      jQuery('<div class="resizehandle"></div>')
     37      .bind('mousedown', function(e) {
     38        var h = me.height();
     39        var y = e.clientY;
     40        var moveHandler = function(e) {
     41          me
     42          .height(Math.max(20, e.clientY + h - y));
     43        };
     44        var upHandler = function(e) {
     45          jQuery('html')
     46          .unbind('mousemove',moveHandler)
     47          .unbind('mouseup',upHandler);
     48        };
     49        jQuery('html')
     50        .bind('mousemove', moveHandler)
     51        .bind('mouseup', upHandler);
     52      })
     53    );
     54  });
     55}
  • _outils_/docjquery/plugin/jq_trads.html

    r10438 r10526  
    11<html>
    22<head>
    3         <title>jQuery Docs - <xsl:value-of select="/docs/@version"/> API</title>
     3        <title>jQuery Docs - API</title>
    44        <link rel="stylesheet" href="#CHEMIN{docjquery.css}"/>
    55        #INSERT_HEAD
    66</head>
    77<body>
    8         <h1>jQuery Docs - <xsl:value-of select="/docs/@version"/> API</h1>
     8        <h1>jQuery Docs - API</h1>
    99        <p>Interface permattant de visualiser la documentation de jquery, et
    1010        l'état de sa traduction en #LG</p>
     
    1818<//B_session>
    1919
    20 <a href='[(#SELF|parametre_url{page,export})]'>Voir la documentation résultante</a>
     20Voir :
     21<ul>
     22        <li><a href='[(#SELF|parametre_url{etat,new})]'><img src='#CHEMIN{rouge.png}'/> que les éléments non traduits ou à revoir</a></li>
     23        <li><a href='[(#SELF|parametre_url{etat,trv})]'><img src='#CHEMIN{orange.png}'/> que ceux en cours de traduction</a></li>
     24        <li><a href='[(#SELF|parametre_url{etat,ok})]'><img src='#CHEMIN{vert.png}'/> que ceux traduits</a></li>
     25        <li><a href='[(#SELF|parametre_url{etat,''})]'>tous les éléments</a></li>
     26        <li><a href='[(#SELF|parametre_url{page,export})]'>la documentation résultante</a></li>
     27</ul>
     28
    2129
    2230<B_trad>
    2331#PAGINATION
    2432<ul id="docs">
    25 <BOUCLE_trad(DOCJQ){lang=#LG}{par nom}{pagination 10}>
     33<BOUCLE_trad(DOCJQ){lang=#LG}{par nom}{pagination 10}{etat?}>
    2634        <li>#COMPTEUR_BOUCLE :
    2735                <div class='orig' id='#REFERENCE' rel='#ID'>
     
    3240
    3341                <div class='trad' rel='#ID'>
     42                <div id='etat_#ID' class='etat'>[(#ETAT|barre_etat{#ID})]</div>
    3443                <INCLURE{fond=jq_trad}{xml}{id}>
    3544                </div>
  • _outils_/docjquery/plugin/jquery.jeditable.js

    r10268 r10526  
    5858  * @param String  options[cancel]    cancel button value, empty means no button
    5959  *             
     60  * @param String  options[oncreate]  function to call after creation of edit zone
    6061  */
    6162
     
    185186        }
    186187
     188                if(jQuery.isFunction(settings.oncreate)) {
     189                        settings.oncreate.call(i);
     190                }
     191
    187192        /* add created form to self */
    188193        self.appendChild(f);
  • _outils_/docjquery/plugin/ttm/jq_admin.php

    r10435 r10526  
    9393                                        spip_query($query);
    9494                                        if(!empty($langues)) {
    95                                                 $query="UPDATE $tablejq SET etat='mod' WHERE reference=".$bdd['id'];
     95                                                $query="UPDATE $tablejq SET etat='new' WHERE reference=".$bdd['id'];
    9696                                                spip_query($query);
    9797                                        }
  • _outils_/docjquery/readme.txt

    r10435 r10526  
    3737- nom, nombre de paramètres, paramètre : pour avoir la signature du bloc de doc
    3838- date de dernière modif
    39 - état : NEW=nouveau (pour les EN) ou à traduire (pour les autres),
    40   TRV=travail= en cours de traduction, OK=à jour, MOD=à revoir (modifié),
     39- état : NEW=nouveau (pour les EN) ou à traduire (pour les autres) ou
     40  à revoir (modifié), TRV=travail= en cours de traduction, OK=à jour,
    4141  SUP=à supprimer
    4242- reference : id de l'enreg dont on est la trad, 0 pour les enreg EN.
     
    7676    recup de l'xml, de l'id et de la langue et maj en bdd de l'xml, le statut
    7777    et la date
    78   - ajouter un truc pour spécifier un statut "en cours/terminé"
     78  * ajouter un truc pour spécifier un statut "en cours/terminé"
    7979
    8080* squelette d'export xml d'une langue
     
    8282- gestion de la version (tag dans l'xml à mettre en bdd pour reporter dans
    8383  l'export)
     84- gestion de la trad des descriptions de type (pour l'instant dans un multi)
Note: See TracChangeset for help on using the changeset viewer.