[ Index ]

PHP Cross Reference of MyBB

title

Body

[close]

/jscripts/ -> inline_moderation.js (source)

   1  var inlineModeration = {
   2      init: function()
   3      {
   4          inlineModeration.inlineCount = 0;
   5          if(!inlineType || !inlineId)
   6          {
   7              return false;
   8          }
   9  
  10          inlineModeration.cookieName = "inlinemod_"+inlineType+inlineId;
  11          inputs = document.getElementsByTagName("input");
  12  
  13          if(!inputs)
  14          {
  15              return false;
  16          }
  17  
  18          inlineCookie = Cookie.get(inlineModeration.cookieName);
  19  
  20          if(inlineCookie)
  21          {
  22              inlineIds = inlineCookie.split("|");
  23          }
  24          
  25          for(var i=0; i < inputs.length; i++)
  26          {
  27              var element = inputs[i];
  28              if((element.name != "allbox") && (element.type == "checkbox") && (element.id.split("_")[0] == "inlinemod"))
  29              {
  30                  Event.observe(element, "click", inlineModeration.checkItem);
  31              }
  32  
  33              if(inlineCookie)
  34              {
  35                  inlineCheck = element.id.split("_");
  36                  id = inlineCheck[1];
  37  
  38                  if(inlineIds.indexOf('ALL') != -1)
  39                  {
  40                      inlineModeration.clearChecked();
  41                      inlineCookie = null;
  42                  }
  43                  else if(inlineIds.indexOf(id) != -1)
  44                  {
  45                      element.checked = true;
  46                      var tr = element.up('tr');
  47                      var fieldset = element.up('fieldset');
  48                      
  49                      if(tr)
  50                      {
  51                          tr.addClassName('trow_selected');
  52                      }
  53                      
  54                      if(fieldset)
  55                      {
  56                          fieldset.addClassName('inline_selected');    
  57                      }
  58                  }
  59                  else
  60                  {
  61                      element.checked = false;
  62                      var tr = element.up('tr');
  63                      if(tr)
  64                      {
  65                          tr.removeClassName('trow_selected');
  66                      }
  67                  }
  68              }
  69          }
  70          
  71          if(inlineCookie)
  72          {
  73              goButton = $("inline_go");
  74              if(inlineIds)
  75              {
  76                  var inlineCount = 0;
  77                  inlineIds.each(function(item) {
  78                      if(item != '') inlineCount++;
  79                  });
  80                  inlineModeration.inlineCount = inlineCount;
  81              }
  82              goButton.value = go_text+" ("+(inlineModeration.inlineCount)+")";
  83          }
  84          return true;
  85      },
  86  
  87      checkItem: function(e)
  88      {
  89          element = Event.element(e);
  90  
  91          if(!element)
  92          {
  93              return false;
  94          }
  95  
  96          inlineCheck = element.id.split("_");
  97          id = inlineCheck[1];
  98  
  99          if(!id)
 100          {
 101              return false;
 102          }
 103  
 104          var newIds = new Array();
 105          var remIds = new Array();
 106          inlineCookie = Cookie.get(inlineModeration.cookieName);
 107  
 108          if(inlineCookie)
 109          {
 110              inlineIds = inlineCookie.split("|");
 111              inlineIds.each(function(item) {
 112                  if(item != "" && item != null)
 113                  {
 114                      if(item != id)
 115                      {
 116                          newIds[newIds.length] = item;
 117                      }
 118                  }
 119              });
 120          }
 121  
 122          if(element.checked == true)
 123          {
 124              inlineModeration.inlineCount++;
 125              newIds[newIds.length] = id;
 126              var tr = element.up('tr');
 127              if(tr)
 128              {
 129                  tr.addClassName('trow_selected');
 130              }
 131          }
 132          else
 133          {
 134              inlineModeration.inlineCount--;
 135              var tr = element.up('tr');
 136              if(tr)
 137              {
 138                  tr.removeClassName('trow_selected');
 139              }
 140  
 141              if(inlineCookie.indexOf("ALL") != -1)
 142              {
 143                  // We've already selected all threads, add this to our "no-go" cookie
 144                  remIds[remIds.length] = id;
 145              }
 146          }
 147  
 148          goButton = $("inline_go");
 149  
 150          if(remIds.length)
 151          {
 152              inlineData = "|"+remIds.join("|")+"|";
 153              Cookie.set(inlineModeration.cookieName + '_removed', inlineData, 3600000);
 154  
 155              // Get the right count for us
 156              var count = goButton.value.replace(/[^\d]/g, '');
 157              inlineModeration.inlineCount = count;
 158              inlineModeration.inlineCount--;
 159          }
 160          else
 161          {
 162              inlineData = "|"+newIds.join("|")+"|";
 163              Cookie.set(inlineModeration.cookieName, inlineData, 3600000);
 164          }
 165  
 166          if(inlineModeration.inlineCount < 0)
 167          {
 168              inlineModeration.inlineCount = 0;
 169          }
 170  
 171          goButton.value = go_text+" ("+inlineModeration.inlineCount+")";
 172  
 173          return true;
 174      },
 175  
 176      clearChecked: function()
 177      {
 178          var selectRow = document.getElementById("selectAllrow");
 179          if(selectRow)
 180          {
 181              selectRow.style.display = "none";
 182          }
 183          
 184          var allSelectedRow = document.getElementById("allSelectedrow");
 185          if(allSelectedRow)
 186          {
 187              allSelectedRow.style.display = "none";
 188          }
 189          
 190          inputs = document.getElementsByTagName("input");
 191  
 192          if(!inputs)
 193          {
 194              return false;
 195          }
 196  
 197          $H(inputs).each(function(element) {
 198              var element = element.value;
 199              if(!element.value) return;
 200              if(element.type == "checkbox" && (element.id.split("_")[0] == "inlinemod" || element.name == "allbox"))
 201              {
 202                  element.checked = false;
 203              }
 204          });
 205  
 206          $$('tr.trow_selected').each(function(element) {
 207              element.removeClassName('trow_selected');
 208          });
 209  
 210          $$('fieldset.inline_selected').each(function(element) {
 211              element.removeClassName('inline_selected');
 212          });
 213  
 214          inlineModeration.inlineCount = 0;
 215          goButton = $("inline_go");
 216          goButton.value = go_text+" (0)";
 217          Cookie.unset(inlineModeration.cookieName);
 218          Cookie.unset(inlineModeration.cookieName + '_removed');
 219  
 220          return true;
 221      },
 222  
 223      checkAll: function(master)
 224      {
 225          inputs = document.getElementsByTagName("input");
 226  
 227          if(!inputs)
 228          {
 229              return false;
 230          }
 231  
 232          inlineCookie = Cookie.get(inlineModeration.cookieName);
 233  
 234          if(inlineCookie)
 235          {
 236              inlineIds = inlineCookie.split("|");
 237          }
 238  
 239          var newIds = new Array();
 240          $H(inputs).each(function(element) {
 241              var element = element.value;
 242              if(!element.value) return;
 243              inlineCheck = element.id.split("_");
 244              if((element.name != "allbox") && (element.type == "checkbox") && (inlineCheck[0] == "inlinemod"))
 245              {
 246                  id = inlineCheck[1];
 247                  var changed = (element.checked != master.checked);
 248                  element.checked = master.checked;
 249  
 250                  var tr = element.up('tr');
 251                  var fieldset = element.up('fieldset');
 252                  if(tr && master.checked == true)
 253                  {
 254                      tr.addClassName('trow_selected');
 255                  }
 256                  else
 257                  {
 258                      tr.removeClassName('trow_selected');
 259                  }
 260                  
 261                  if(typeof(fieldset) != "undefined")
 262                  {
 263                      if(master.checked == true)
 264                      {
 265                          fieldset.addClassName('inline_selected');
 266                      }
 267                      else
 268                      {
 269                          fieldset.removeClassName('inline_selected');
 270                      }
 271                  }
 272                  
 273                  if(changed)
 274                  {
 275                      if(master.checked == true)
 276                      {
 277                          inlineModeration.inlineCount++;
 278                          newIds[newIds.length] = id;
 279                      }
 280                      else
 281                      {
 282                          inlineModeration.inlineCount--;
 283                      }
 284                  }
 285              }
 286          });
 287  
 288          inlineData = "|"+newIds.join("|")+"|";
 289          goButton = $("inline_go");
 290  
 291          if(inlineModeration.inlineCount < 0)
 292          {
 293              inlineModeration.inlineCount = 0;
 294          }
 295          
 296          if(inlineModeration.inlineCount < all_text)
 297          {
 298              var selectRow = document.getElementById("selectAllrow");
 299              if(selectRow)
 300              {
 301                  if(master.checked == true)
 302                  {
 303                      selectRow.style.display = "table-row";
 304                  }
 305                  else
 306                  {
 307                      selectRow.style.display = "none";
 308                  }
 309              }
 310          }
 311          
 312          goButton.value = go_text+" ("+inlineModeration.inlineCount+")";
 313          Cookie.set(inlineModeration.cookieName, inlineData, 3600000);
 314      },
 315          
 316      selectAll: function()
 317      {
 318          goButton.value = go_text+" ("+all_text+")";
 319          Cookie.set(inlineModeration.cookieName, "|ALL|", 3600000);
 320          
 321          var selectRow = document.getElementById("selectAllrow");
 322          if(selectRow)
 323          {
 324              selectRow.style.display = "none";
 325          }
 326          
 327          var allSelectedRow = document.getElementById("allSelectedrow");
 328          if(allSelectedRow)
 329          {
 330              allSelectedRow.style.display = "table-row";
 331          }
 332      }
 333  };
 334  Event.observe(document, "dom:loaded", inlineModeration.init);


Generated: Tue Oct 8 19:19:50 2013 Cross-referenced by PHPXref 0.7.1