MediaWiki:Common.js
From dataZoa Wiki
Note: After saving, 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: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Clear the cache in Tools → Preferences
/* Any JavaScript here will be loaded for all users on every page load. */ /* Global overrides for styling */ $('body').addClass('GbcWIKI'); $('#mw-head').addClass('GbcWIKI'); $('#mw-head').height('80px'); // horrible temporary kludge for chrome $('#mw-page-base').addClass('GbcWIKI') $('#mw-head-base').addClass('GbcWIKI') /* stop wasting space */ $('#editpage-copywarn').hide(); $('.mw-editinginterface').hide(); $('.mw-translateinterface').hide(); $('#wpSummaryLabel').hide(); $('#wpSummary').hide(); $('.editCheckBoxes').hide(); //the below does work!! /* $(document).ready(function(){ $("h2").click(function(){ alert("The h2 was clicked."); }); }); */ //basic function, wrapped in document.ready -- this works! function thisAlert() {$(document).ready(function(){ alert('this is an alert'); }); } //function triggered by the presence of a particular id $(document).ready(function() { if($('#mylist').length > 0) { alert('yes') }; }); //internal load function => this ultimately does not work because I can't call the function function testLoad() {$(document).ready(function(){ $.ajax({ url:'http://docwiki.datazoa.com/Test_Origin_Text', type:'get', dataType:'html', success:function(data) { alert('testLoad was successful!');} }) }); } //modified internal load, triggered by an id (as above) $(document).ready(function() { if($('#loadfunction').length > 0) { $.ajax({ url:'http://docwiki.datazoa.com/Test_Origin_Text', type:'get', dataType:'html', success:function(data) { alert('testLoad was successful!');} }) }; }); //internal load with full script $(document).ready(function() { if($('#myList').length > 0) { $.ajax({ url:'http://docwiki.datazoa.com/Test_Origin_Text', type:'get', dataType:'html', success:function(data) { var _html= jQuery(data); list = _html.find('li'); // gets me an object (maybe?) with four elements for (i = 0; i <= list.length; i++) { console.log(list[i].innerHTML); //I get an error on HTML but it still seems to output correctly var node = document.createElement("li"); // create a <li> node var textnode = document.createTextNode(list[i].innerHTML); //create a text node node.appendChild(textnode); // append text to li document.getElementById("myList").appendChild(node); // append li to ul with id="myList" } } }) }; }); //external load with full script -- still showing an error on list . . . $(document).ready(function() { if($('#externalList').length > 0) { $.ajax({ url:'https://www.datazoa.com/publish/gettingdata-01-1.asp', type:'get', dataType:'html', success:function(data) { var _html= jQuery(data); list = _html.find('Gdib GCfl'); // gets me an object (maybe?) with four elements for (i = 0; i <= list.length; i++) { console.log(list[i].innerHTML); //I get an error on HTML but it still seems to output correctly var node = document.createElement("li"); // create a <li> node var textnode = document.createTextNode(list[i].innerHTML); //create a text node node.appendChild(textnode); // append text to li document.getElementById("externalList").appendChild(node); // append li to ul with id="externalList" } } }) }; }); //external load function, simplified, with trigger $(document).ready(function() { if($('#externalList').length > 0) { $.ajax({ url:'https://www.datazoa.com/publish/gettingdata-01-1.asp', type:'get', dataType:'html', success:function(data) { alert('externaltLoad was successful!');} }) }; }); //external load function -- this does not work, comes up as undefined, etc. function extLoad() {$(document).ready(function(){ $.ajax({ url:'https://www.datazoa.com/publish/gettingdata-01-1.asp', type:'get', dataType:'html', success:function(data) { alert('extLoad was successful!');} }) }); } // script for loading gettingdata-01-1.asp $(document).ready(function() { if($('#gettingdata-01-1').length > 0) { $.ajax({ url:'https://www.datazoa.com/publish/gettingdata-01-1.asp', type:'get', dataType:'html', success:function(data) { _html= jQuery(data); titles = _html.find('.Gdib.GCfl'); expression = /http\S+?\"/ patt = new RegExp(expression); //titles = $(".Gdib.GCfl"); for (i = 2; i < 33; i ++) { title = titles[i].innerHTML; link = titles[i].getAttribute('onclick'); if(title) { if(title.includes('img')){ //console.log("skip this line"); } else { console.log(title); title = title.replace("&","&"); res = patt.exec(link); res = String(res).replace("\"",""); var node = document.createElement("li"); // create a <li> node var textnode = document.createElement("a"); textnode.setAttribute('href', res); //textnode.setAttribute('title', title); textnode.innerHTML = title; //var textnode = document.createTextNode("[" + res + " " + title + "]"); //create a text node //var textnode = document.createTextNode("<a href=\"" + res + "\">" + title + "</a>"); //create a text node node.appendChild(textnode); // append text to li document.getElementById("gettingdata-01-1").appendChild(node); // append li to ul with id="myList" } } //alert('externalLoad was successful!'); } } }) }; }); // new script for US Data // script for loading gettingdata-01-1.asp $(document).ready(function() { if($('#gettingdata-01-1-new').length > 0) { $.ajax({ url:'https://www.datazoa.com/publish/gettingdata-01-1.asp', type:'get', dataType:'html', success:function(data) { _html= jQuery(data); titles = _html.find('.Gdib.GCfl'); expression = /http\S+?\"/ patt = new RegExp(expression); //titles = $(".Gdib.GCfl"); for (i = 2; i < 33; i ++) { title = titles[i].innerHTML; link = titles[i].getAttribute('onclick'); if(title) { if(title.includes('img')){ //console.log("skip this line"); } else { console.log(title); title = title.replace("&","&"); res = patt.exec(link); res = String(res).replace("\"",""); var node = document.createElement("li"); // create a <li> node var textnode = document.createElement("a"); textnode.setAttribute('href', res); //textnode.setAttribute('title', title); textnode.innerHTML = title; //var textnode = document.createTextNode("[" + res + " " + title + "]"); //create a text node //var textnode = document.createTextNode("<a href=\"" + res + "\">" + title + "</a>"); //create a text node node.appendChild(textnode); // append text to li document.getElementById("gettingdata-01-1").appendChild(node); // append li to ul with id="myList" } } //alert('externalLoad was successful!'); } } }) }; }); // script for loading get-dzdot $(document).ready(function() { if($('#get-dzdot').length > 0) { $.ajax({ url:'https://www.datazoa.com/publish/gettingpublicdata1.asp?onlydot=true', type:'get', dataType:'html', success:function(data) { _html= jQuery(data); //get the title h3 = _html.find('h3'); var node = document.createElement("h3"); var textnode = document.createTextNode(h3[0].textContent); node.appendChild(textnode); document.getElementById("get-dzdot").appendChild(node); //console.log(h3[0].textContent); //get the text items = _html.find("li"); console.log(items.length) array = [0,1,5,6,7] for (i = 0; i < array.length; i++) { item = items[array[i]].innerHTML; // item = item.replace(/<a href=\"/g,'[').replace(/\">/g,' ').replace(/<\/a>/g,']').replace(/<span class=\"Gfsxs Gfsi\"/g,'').replace(/<\/span>/g,''); //item = item + '<br />' console.log(item); var node = document.createElement("li"); var textnode = document.createTextNode(item); node.appendChild(textnode); document.getElementById("get-dzdot").appendChild(textnode); } } }); }; }); // script for loading multi-country data sources $(document).ready(function() { if($('#mcountry').length > 0) { $.ajax({ url:'https://www.datazoa.com/publish/gettingdata-01-3.asp', type:'get', dataType:'html', success:function(data) { _html= jQuery(data); //get what i need trs = _html.find('.DIsourcesite'); console.log(trs.length); titles = _html.find('[class="Gdib GCfl"]'); console.log(titles.length); tooltips = _html.find('.GCkeyTip'); console.log(tooltips.length); tvs = _html.find('[class="GCfl Gdib"]'); console.log(tvs.length); //set variables j = 1 k = 0 l = 0 expression = /http\S+?\"/ expression_tv = /www\S+?\"/ expression_tt = /<b>[a-zA-Z\s\d\D]+?\">/ patt = new RegExp(expression); patt_tv = new RegExp(expression_tv); patt_tt = new RegExp(expression_tt); //loop for (i = 0; i < trs.length; i++) { // get titles and links tr = trs[i].innerHTML if(tr.includes('Gdib GCfl')) { //title title = titles[j].textContent; title = title.replace("&","&"); //link url link = titles[j].getAttribute('onclick'); link = patt.exec(link); link = String(link).replace("\"",""); //testing console.log(title + " " + link); //add it to the document var node = document.createElement("span"); // create a <li> node var textnode = document.createElement("a"); textnode.setAttribute('href', link); textnode.innerHTML = title; textnode.style.marginRight = "5px"; node.appendChild(textnode); // append text to li document.getElementById("mcountry").appendChild(node); // append li to ul with id="myList" j += 1; } //get tvs if(tr.includes('TVicon')) { tv = tvs[k].getAttribute('onclick'); console.log(tv); tv = patt_tv.exec(tv); tv = String(tv).replace("\"",""); console.log(tv); //add it to the document img_link = document.createElement("a"); img_link.setAttribute('href',tv); img = document.createElement("img"); img.src = 'http://datazoa.com/img/TVicon.png'; img.style.marginRight = "5px"; document.getElementById("mcountry").appendChild(img_link); document.getElementById("mcountry").appendChild(img); k += 1; } //get tooltips if(tr.includes('GCkeyTip')) { tt = tooltips[l].outerHTML; console.log(l + " " + tt); tt = patt_tt.exec(tt); tt = String(tt).replace("\"",""); console.log(tt); //add it to the document img_link = document.createElement("a"); img_link.setAttribute('href',tt); img = document.createElement("img"); img.src = 'https://www.datazoa.com/img/Key.png'; document.getElementById("mcountry").appendChild(img_link); document.getElementById("mcountry").appendChild(img); l += 1; } //create a new line br = document.createElement("br"); document.getElementById("mcountry").appendChild(br); } } }); }; }); // js for changing the image if($('.changeimage').length > 0) { var image = $('.changeimage'); image = image[0]; image.style.background = "url(https://www.datazoa.com/img/vert_data_table.png)"; image.style.backgroundPosition = "0px 0px"; //change the first number for horizontal positioning, the second number for vertical image.style.backgroundRepeat = "no-repeat"; image.style.width = "600px"; image.style.height = "200px"; } // Load images from OUTSIDE the wiki -- needs some kludges... // js for imgSnippet (show a shifted part of a foreign image) // Model: <div class="imgSnippetWrap1"><div class="imgSnippet " data-styler="{ view: nnn, styler: '...stylestr...' }"></div></div> // Copy the View string from Decorator.asp //var g_althost = ''; // set to e.g. https://www.datahydra.com var g_althost = 'http://www.datahydra.com'; $('.imgSnippet').each( function() { var elem = $(this); eval( "var styler = " + elem.data('styler')); elem.attr('style', styler.style.replace(/SQ/g,"'").replace('/img/DocSamples',g_althost+'/img/DocSamples')); elem.addClass( 'decoratorView' + styler.view); // watermark reminder when under development if ( g_althost.toLowerCase().indexOf('datazoa.com') < 0 ) { elem.text(' ' + g_althost); elem.css('color','orange'); elem.css('font-weight','bold'); elem.css('font-size','xx-small'); } }); // workhorse for imgWhole, loads a foreign image (after page load, to avoid MediaWiki limitation) // for elem, takes an attr called data-guts, which is a string that evals to an object, slaps it into the elem itself imgWholeFunc = function( elem ) { if ( undefined === elem.attr('style') ) { elem.attr('style',''); } // assert a style attr eval( "var guts = " + elem.data('guts')); // get the string for attr data-guts if ( undefined !== guts ) { elem.attr('title', guts.title); elem.attr('style', elem.attr('style') + ' ' + 'background: transparent url(' + g_imgWholeHost + guts.url + ') scroll 0px 0px; background-repeat: no-repeat; '); elem.attr('style', elem.attr('style') + ' ' + guts.xtraStyle); } } // Model: <div class="imgWholeWrap1"><div class="imgWhole " data-guts="{ url: '...', xtraStyle: '...stylestr...' }"></div></div> // example to insert an icon from dataZoa.com: // <div class="imgWholeWrap1"><div class="imgWhole " data-guts="{ url: '/img/Hint.png', title: 'Hint example', xtraStyle: ' min-height: 16px; min-width: 16px;' }"></div></div> var g_imgWholeHost = "https://www.datazoa.com" // where are the images from? // generic $('.imgWhole').each( function() { imgWholeFunc($(this)); }); // for imgGlyph24 class // e.g. <div class="imgGlyph24 imgIdea"></div> to insert a lightbulb // $('.imgIdea').each( function() { $(this).attr("data-guts","{ url: '/img/3_idea24.png', title: 'A tip for you...', xtraStyle: '' }"); imgWholeFunc( $(this) ); }); $('.imgWarning').each( function() { $(this).attr("data-guts","{ url: '/img/58_warn24.png', title: 'Warning!', xtraStyle: '' }"); imgWholeFunc( $(this) ); }); $('.imgConcept').each( function() { $(this).attr("data-guts","{ url: '/img/81_BlueFlag24.png', title: 'Important Concept...', xtraStyle: '' }"); imgWholeFunc( $(this) ); });