MediaWiki:Common.js: Difference between revisions

From LBA File Information
Jump to navigation Jump to search
Content deleted Content added
Created page with "Any JavaScript here will be loaded for all users on every page load.: function findIndexableTables() { var tabs = document.getElementsByTagName("table"); var res = n..."
 
No edit summary
Line 17: Line 17:
var cb = document.getElementById('index0_' + id);
var cb = document.getElementById('index0_' + id);
if (cb && reid_tables[id]) {
if (cb && reid_tables[id]) {
var delta;
if (cb.checked)
delta = -1;
else
delta = 1;
for (a = 0; a < reid_tables[id].rows.length; a++) {
for (a = 0; a < reid_tables[id].rows.length; a++) {
var row = reid_tables[id].rows[a];
var row = reid_tables[id].rows[a];
if (!isNaN(row.cells[0].innerHTML)) {
if (!isNaN(row.cells[0].innerHTML))
var delta;
if (cb.checked)
delta = -1;
else
delta = 1;
row.cells[0].innerHTML = parseInt(row.cells[0].innerHTML) + delta;
row.cells[0].innerHTML = parseInt(row.cells[0].innerHTML) + delta;
if (!isNaN(row.cells[1].innerHTML.substr(4))) {
var n = parseInt(row.cells[1].innerHTML.substr(4));
row.cells[1].innerHTML.replace(n, n + delta);
}
}
}
}

Revision as of 19:04, 16 February 2013

/* Any JavaScript here will be loaded for all users on every page load. */

function findIndexableTables()
{
  var tabs = document.getElementsByTagName("table");
  var res = new Array();
  for (a = 0; a < tabs.length; a++) {
    var cls = tabs[a].className.split(/\s+/);
    if (cls.indexOf("indexable") > -1)
      res.push(tabs[a]);
  }
  return res;
}

function reindexTable(id)
{
  var cb = document.getElementById('index0_' + id);
  if (cb && reid_tables[id]) {
    var delta;
    if (cb.checked)
      delta = -1;
    else
      delta = 1;
    for (a = 0; a < reid_tables[id].rows.length; a++) {
      var row = reid_tables[id].rows[a];   
      if (!isNaN(row.cells[0].innerHTML))  
        row.cells[0].innerHTML = parseInt(row.cells[0].innerHTML) + delta;
      if (!isNaN(row.cells[1].innerHTML.substr(4))) {
        var n = parseInt(row.cells[1].innerHTML.substr(4));
        row.cells[1].innerHTML.replace(n, n + delta);
      }
    }
  }
}

var reid_tables = findIndexableTables();

for (a = 0; a < reid_tables.length; a++) {
  var tr = reid_tables[a].rows[0];
  if (reid_tables[a].caption == null)
    reid_tables[a].createCaption();
  else
    reid_tables[a].caption.innerHTML += '<br>';
  reid_tables[a].caption.innerHTML +=
    '<form><input type="checkbox" name="index0" value="1" id="index0_'+(a)+'"'
  + ' style="margin-left:0;vertical-align:middle"'
  + ' onclick="reindexTable('+a+')" />'
  + '<label for="index0_'+(a)+'" style="vertical-align:middle;font-weight:normal">Index from 0</label>'
  + '</form>';
}