MediaWiki:Common.js

From zooid Wiki
Revision as of 21:11, 5 September 2015 by DavidM (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-4532309-1']);
_gaq.push(['_trackPageview']);

(function() {
  var ga = document.createElement('script'); ga.type = 'text/javascript';
  ga.async = true;
  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : ' http://www') + '.google-analytics.com/ga.js';
  var s = document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(ga, s);
})();

onload = function() {
	if (document.getElementsByClassName == undefined) {
		document.getElementsByClassName = function(className) {
			var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
			var allElements = document.getElementsByTagName("*");
			var results = [];
 
			var element;
			for ( var i = 0; (element = allElements[i]) != null; i++) {
				var elementClass = element.className;
				if (elementClass && elementClass.indexOf(className) != -1
						&& hasClassName.test(elementClass))
					results.push(element);
			}
			return results;
		}
	}
//	makeExt('external');
 
	function makeExt(lclass) {
		links = document.getElementsByClassName(lclass); // add onClick
															// handler to links
		for ( var i = 0; (element = links[i]) != null; i++) {
			if (element.href.indexOf(window.location.hostname) < 0
				&& element.href.indexOf("mailto:") < 0 && element.href.indexOf("fungalgenomics.ca") < 0) {
				element.href = "http://intranet.fungalgenomics.ca/frame/?l=" + escape(element.href);
			}
		}
	}
}
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
function include(url){ 
    if(url.match(/\.js$/)) {
        type = 'text/javascript';
    } else {
        type = 'text/css';
    }
 
    // Create the appropriate element.
    var tag = null;
    switch( type ){
        case 'text/javascript' :
            tag = document.createElement( 'script' );
            tag.type = type;
            tag.src = url;
            break;
        case 'text/css' :
            tag = document.createElement( 'link' );
            tag.rel = 'stylesheet';
            tag.type = type;
            tag.href = url;
            break;
    }
 
    document.getElementsByTagName("head")[0].appendChild(tag);
}
 
if ($('.seqdiag').length) {
  include('/js/seqdiag/parser.js');
  include('/js/seqdiag/seqdiag.js');
 
  var checkLoad = function() {
    if (!SeqdiagParser || !Seqdiag) {
      return;
    }
console.log("Builder", Seqdiag.Builder);
    clearInterval(seqCheck);
    $('.seqdiag').each(function() {
    var txt = decodeURIComponent($(this).text());
console.log(txt);
      var ast = SeqdiagParser.parse(txt);
      var diagram = Seqdiag.DiagramBuilder.build(ast);
      var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
      svg.setAttribute("height", $(this).height());
      svg.setAttribute("width", $(this).width());
      var drawer = new Seqdiag.Drawer.SVG(diagram, svg, document);
      drawer.draw();
      $(this).after(svg);
      $(this).css('display', 'none');
    });
  }
  var seqCheck = setInterval(checkLoad, 500);
}
 
if ($('.dialoc').length) {
  include('https://intranet.fungalgenomics.ca/dagre/dagre.min.js');
  include('https://intranet.fungalgenomics.ca/dagre/d3.v3.min.js');
  include('https://intranet.fungalgenomics.ca/dagre/graphlib.min.js');
  include('https://intranet.fungalgenomics.ca/dagre/smw.js', 'defer');
}