User:Iritscen/TestSpace.js: Difference between revisions

From OniGalore
Jump to navigation Jump to search
(blanking now that code is in Common.js)
(testing sortable table script)
Line 1: Line 1:
/* Put test JS here! */
/* Put test JS here! */
/***** autosort_sortable ********
* Auto-sorts sortable tables by specified columns (why is this not built-in?!)
*
*  Maintainers: [[User:Iritscen]]
*/
function sortSortableTables()
{
  // Iterate over all <div> elements
  var divs = document.getElementsByTagName("div");
  if (!divs) continue;
  for (var i = 0; i < divs.length; i++)
  {
      var theDiv = divs[i];
      var tables = theDiv.getElementsByTagName("table");
      if (!tables) continue;
      for (var j = 0; j < tables.length; j++)
      {
        var theTable = tables[j];
        // If we found a sortable table...
        if (hasClass(theTable, "sortable"))
        {
            alert("Found one.");
            // ...Look for sort button
            var allTHs = theTable.getElementsByTagName("th");
            if (!allTHs) continue;
            for (var k = 0; k < allTHs.length; k++)
            {
              if (hasClass(allTHs[k], "headersort"))
              {
                  alert("Found the arrow.");
                  allTHs[k].trigger(click); // use jQuery's trigger() to send click event to this arrow
              }
            }
        }
      }
  }
}
addOnloadHook(sortSortableTables);

Revision as of 23:32, 12 November 2015

/* Put test JS here! */
/***** autosort_sortable ********
 * Auto-sorts sortable tables by specified columns (why is this not built-in?!)
 *
 *  Maintainers: [[User:Iritscen]]
 */
function sortSortableTables()
{
   // Iterate over all <div> elements
   var divs = document.getElementsByTagName("div");
   if (!divs) continue;
   for (var i = 0; i < divs.length; i++)
   {
      var theDiv = divs[i];
      var tables = theDiv.getElementsByTagName("table");
      if (!tables) continue;
      for (var j = 0; j < tables.length; j++)
      {
         var theTable = tables[j];
         // If we found a sortable table...
         if (hasClass(theTable, "sortable"))
         {
            alert("Found one.");
            // ...Look for sort button
            var allTHs = theTable.getElementsByTagName("th");
            if (!allTHs) continue;
            for (var k = 0; k < allTHs.length; k++)
            {
               if (hasClass(allTHs[k], "headersort"))
               {
                  alert("Found the arrow.");
                  allTHs[k].trigger(click); // use jQuery's trigger() to send click event to this arrow
               }
            }
         }
      }
   }
}

addOnloadHook(sortSortableTables);