Changeset 789 in spip-zone


Ignore:
Timestamp:
Sep 1, 2005, 6:08:14 PM (15 years ago)
Author:
pierre.andrews@…
Message:

avec le nombre de forums attache au mot (c qu un debug)

Location:
_libs_/tag-machine/formulaires
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _libs_/tag-machine/formulaires/ajax.html

    r786 r789  
    11<B_mots>
    22new Array(
    3 <BOUCLE_mots(MOTS) {titre == ^#ENV{titre}} {","}>'#TITRE'</BOUCLE_mots>
     3<BOUCLE_mots(MOTS) {titre == ^#ENV{titre}} {","}>
     4  new Array('#TITRE',<BOUCLE_forums(FORUMS) {id_mot}> </BOUCLE_forums>'#TOTAL_BOUCLE <:forum:>'<//B_forums>)
     5</BOUCLE_mots>
    46)
    57</B_mots>
  • _libs_/tag-machine/formulaires/ajaxTagMachine.js

    r787 r789  
    5656  }
    5757
     58  this.findLastChild = function(node) {
     59        if((node.childNodes != null) && (node.childNodes.length > 0)) {
     60          if(node.childNodes[0].innerHTML != null)
     61          return self.findLastChild(node.childNodes[0]);
     62        }
     63          return node.innerHTML;
     64  }
     65
    5866  this.findSelected = function() {
    5967        var list = document.getElementById('suggested_list');
     
    106114  }
    107115
     116  this.isArray = function(obj) {
     117        if (typeof obj == 'object') { 
     118          return obj.constructor.toString().match(/array/i) != null;
     119        }
     120        return false;
     121  }
     122 
    108123  this.updateSuggest = function(suggestions) {
    109         while(self.div.childNodes.length>0) {
    110           self.div.removeChild(self.div.childNodes[0]);
    111         }
    112 
    113         list = document.createElement("ul");
    114         list.id = "suggested_list"
    115         self.div.appendChild(list);
    116 
    117         for(var sugI=0; sugI<suggestions.length; ++sugI){
    118           var item = document.createElement("li");
    119           var a = document.createElement("a");
    120           a.innerHTML = suggestions[sugI];
    121           a.onmousedown = function() {self.unselectall();self.textfield.value = this.innerHTML; self.div.style.display = 'none';};
    122                   item.onmouseover = function() {
    123                         self.unselectall();
    124                         this.className = 'selected';
    125                   }
    126           item.appendChild(a);
    127           list.appendChild(item);
    128         }
    129         self.div.style.display= 'block';
    130 
     124        if(suggestions != null) {
     125          while(self.div.childNodes.length>0) {
     126                self.div.removeChild(self.div.childNodes[0]);
     127          }
     128
     129          list = document.createElement("ul");
     130          list.id = "suggested_list"
     131          self.div.appendChild(list);
     132
     133          for(var sugI=0; sugI<suggestions.length; ++sugI){
     134                var a = document.createElement("a");
     135                a.onmousedown = function() {
     136                  self.unselectall();
     137                  self.textfield.value = self.findLastChild(this);
     138                  self.div.style.display = 'none';
     139                };
     140
     141                var item = document.createElement("li");
     142                item.onmouseover = function() {
     143                  self.unselectall();
     144                  this.className = 'selected';
     145                }
     146
     147                if(self.isArray(suggestions[sugI])) {
     148                  var spanLeft = document.createElement("span");
     149                  spanLeft.className = 'sugLeft';
     150                  a.innerHTML = suggestions[sugI][0];
     151                  spanLeft.appendChild(a);
     152                  var spanRight = document.createElement("span");
     153                  spanRight.className = 'sugRight';
     154                  spanRight.innerHTML = suggestions[sugI][1];
     155                  item.appendChild(spanLeft);
     156                  item.appendChild(spanRight);
     157                } else {
     158                  a.innerHTML = suggestions[sugI];
     159                  item.appendChild(a);
     160                }
     161
     162                list.appendChild(item);
     163          }
     164          self.div.style.display= 'block';
     165        } else {
     166          self.div.style.display= 'none';
     167        }
    131168  }
    132169
     
    192229          ev.cancelBubble = true;
    193230          if (ev.stopPropagation) ev.stopPropagation();
    194                 self.textfield.value = self.findSelected().firstChild.innerHTML;
     231                self.textfield.value = self.findLastChild(self.findSelected().firstChild);
    195232                self.div.style.display = 'none';
    196233                setTimeout("document.getElementById('"+self.textfield.id+"').focus()",0);
     
    211248                var sel = self.findSelected();
    212249                if(sel != null)
    213                   self.textfield.value = sel.firstChild.innerHTML;
     250                  self.textfield.value = self.findLastChild(sel.firstChild);
    214251                self.div.style.display = 'none';
    215252                break;
Note: See TracChangeset for help on using the changeset viewer.