MediaWiki

Common.js: Difference between revisions

No edit summary
No edit summary
Line 42: Line 42:
       v_text_new += v_text_old.substr(v_from);
       v_text_new += v_text_old.substr(v_from);
       wtbl.rows[r].cells[2].innerHTML = v_text_new;
       wtbl.rows[r].cells[2].innerHTML = v_text_new;
    }
  }
}
if (mw.config.get('wgPageName' ) === 'YadaTest') {
  /* switch tooltip texts from content-div to label-div */
  const v_labels = Array.from(document.getElementsByClassName("tabs-label"));
  const v_content = Array.from(document.getElementsByClassName("tabs-content"));
  for (var i = 0; i < v_labels.length; i++) {
    v_labels[i].title = v_content[i].title;
    v_content[i].title = "";
  }
  /* adjust wikitables */
  var arr = Array.from(document.getElementsByClassName("wikitable"));
  for (var t = 0; t < arr.length; t++) {
    /* insert THEAD in wikitable */
    var thead = document.createElement("thead");
    thead.style.display = "block";
    var wtbl = arr[t];
    wtbl.insertBefore(thead, wtbl.firstChild);
    /* move first row of TBODY to THEAD */
    thead.appendChild(wtbl.rows[0]);
    /* make TBODY scrollable */
    var body = wtbl.tBodies[0];
    body.style.display = "block";
    body.style.overflowY = "auto";
    body.style.maxHeight = "500px";
    /* adjust column widths and hide from-until columns */
    for (var r = 0; r < wtbl.rows.length; r++) {
      wtbl.rows[r].cells[0].classList = "cw_0";
      wtbl.rows[r].cells[1].classList = "cw_0";
      wtbl.rows[r].cells[2].classList = "cw_50";
      wtbl.rows[r].cells[3].classList = "cw_150";
      wtbl.rows[r].cells[4].classList = "cw_500";
      /* mark the text */
      var v_from = parseInt(wtbl.rows[r].cells[0].textContent);
      var v_until = parseInt(wtbl.rows[r].cells[1].textContent);
      var v_text = wtbl.rows[r].cells[4].textContent;
      wtbl.rows[r].cells[4].innerHTML =
        v_text.substr(0,v_from) + "<mark>" +
        v_text.substr(v_from,v_until - v_from + 1) + "</mark>" +
        v_text.substr(v_until+1);
     }
     }
   }
   }

Revision as of 18:34, 18 February 2023

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

if (mw.config.get('wgPageName' ) === 'Krishna_says_in_Bhagavad-gita') { 
  /* switch tooltip texts from content-div to label-div */
  const v_labels = Array.from(document.getElementsByClassName("tabs-label"));
  const v_content = Array.from(document.getElementsByClassName("tabs-content"));
  for (var i = 0; i < v_labels.length; i++) {
    v_labels[i].title = v_content[i].title;
    v_content[i].title = "";
  }
  /* adjust wikitables */
  var arr = Array.from(document.getElementsByClassName("wikitable"));
  for (var t = 0; t < arr.length; t++) {
    /* insert THEAD in wikitable */
    var thead = document.createElement("thead");
    thead.style.display = "block";
    var wtbl = arr[t];
    wtbl.insertBefore(thead, wtbl.firstChild);
    /* move first row of TBODY to THEAD */
    thead.appendChild(wtbl.rows[0]);
    /* make TBODY scrollable */
    var body = wtbl.tBodies[0];
    body.style.display = "block";
    body.style.overflowY = "auto";
    body.style.maxHeight = "500px";
    /* adjust column widths and hide from-until columns */
    for (var r = 0; r < wtbl.rows.length; r++) {
      wtbl.rows[r].cells[0].classList = "cw_0";
      wtbl.rows[r].cells[1].classList = "cw_150";
      wtbl.rows[r].cells[2].classList = "cw_500";
      var v_text_old = wtbl.rows[r].cells[2].textContent;
      /* mark the text */ 
      if (r == 0) continue;
      var v_text_new = ""; var v_from = 0;
      var marks = JSON.parse(wtbl.rows[r].cells[0].textContent.replaceAll("O", "[").replaceAll("C", "]"));
      for (var m = 0; m < marks.length; m++) {
        v_text_new += 
          v_text_old.substr(v_from,marks[m][0]-v_from) + "<mark>" +
          v_text_old.substr(marks[m][0],marks[m][1]-marks[m][0]+1) + "</mark>";
          v_from = marks[m][1]+1;
      }
      v_text_new += v_text_old.substr(v_from);
      wtbl.rows[r].cells[2].innerHTML = v_text_new;
    }
  }
}

// install Google Search
// document.write('<script type="text/javascript" src="'
// + 'http://vanipedia.org/w/index.php?title=MediaWiki:GoogleSearch.js'
// + '&action=raw&ctype=text/javascript"></' + 'script>');

// install JQuery
//document.write('<script type="text/javascript" src="'
//+ 'http://vanipedia.org/w/index.php?title=MediaWiki:JQuery.js'
//+ '&action=raw&ctype=text/javascript"></' + 'script>');

// install WikEd toolbar and Vanify
//document.write('<script type="text/javascript" src="'
//+ 'http://vanipedia.org/w/index.php?title=MediaWiki:Vaniquotes.js'
//+ '&action=raw&ctype=text/javascript"></' + 'script>');
 
// install Replace
//document.write('<script type="text/javascript" src="'
//+ 'http://vanipedia.org/w/index.php?title=MediaWiki:TextboxReplace.js'
//+ '&action=raw&ctype=text/javascript"></' + 'script>');
 
// install Unify
//document.write('<script type="text/javascript" src="'
//+ 'http://vanipedia.org/w/index.php?title=MediaWiki:Unify.js'
//+ '&action=raw&ctype=text/javascript"></' + 'script>');
 
// install Vanify
//document.write('<script type="text/javascript" src="'
//+ 'http://vanipedia.org/w/index.php?title=MediaWiki:Vanify.js'
//+ '&action=raw&ctype=text/javascript"></' + 'script>');

// install Vani_suggest for diacritics auto-suggest pulldown on the search bar
//document.write('<script type="text/javascript" src="'
//+ 'http://vanipedia.org/w/index.php?title=MediaWiki:Vani_suggest.js'
//+ '&action=raw&ctype=text/javascript"></' + 'script>');

// install previous/next links for video categories in all languages
 //document.write('<script type="text/javascript" src="/navcat/navcat.js"></' + 'script>');
 
// Buttons
 
//addOnloadHook(function() {
 
//if (document.editform) {
//addPortletLink("p-cactions", "javascript:Unify()", "unify", "ca-unify", "Convert Balarama fonts to Unicode", "");
// addPortletLink("p-cactions", "javascript:Vanify()", "vanify", "ca-vanify", "Corrects vani markup", "");
// addPortletLink('p-cactions', 'javascript:format()', 'format', 'ca-format', 'Format article', '');
//addPortletLink('p-cactions', 'javascript:wpTextboxReplace()', 'Replace', 'ca-replace', 'Replaces text in the edit window', 'R');
//}
//});
 
// end Buttons