Difference between revisions of "MediaWiki:Common.js"
From MakeICT Wiki
Jump to navigationJump to searchLine 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
+ | |||
+ | (function () { | ||
+ | var outputNode = document.getElementById("makeict-all-todos"); | ||
+ | if(outputNode){ | ||
+ | var bullets = document.getElementById("meeting-list").getElementsByTagName("li"); | ||
+ | |||
+ | for(i=0; i<bullets.length; i++){ | ||
+ | try{ | ||
+ | var tmpFrame = document.createElement("iframe"); | ||
+ | tmpFrame.onload = function(){ | ||
+ | var summaryNode = this.contentDocument.getElementById("makeict-todo-summary"); | ||
+ | var heading = document.createElement("h2"); | ||
+ | var link = document.createElement("a"); | ||
+ | link.href = this.src; | ||
+ | link.innerHTML = this.contentDocument.getElementsByTagName("h1")[0].innerHTML; | ||
+ | heading.appendChild(link); | ||
+ | outputNode.appendChild(heading); | ||
+ | outputNode.appendChild(summaryNode.cloneNode(true)); | ||
+ | |||
+ | document.body.removeChild(this); | ||
+ | }; | ||
+ | tmpFrame.style.display = "none"; | ||
+ | tmpFrame.src = bullets[i].getElementsByTagName("a")[0].href; | ||
+ | document.body.appendChild(tmpFrame); | ||
+ | }catch(exc){ | ||
+ | console.log(exc); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | }()); | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
(function () { | (function () { | ||
var cloneNodesToList = function(list, nodes) { | var cloneNodesToList = function(list, nodes) { | ||
Line 39: | Line 74: | ||
cloneNodesToList($("#makeict-todo-summary")[0], tasks); | cloneNodesToList($("#makeict-todo-summary")[0], tasks); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}()); | }()); |
Revision as of 14:43, 20 July 2015
/* Any JavaScript here will be loaded for all users on every page load. */
(function () {
var outputNode = document.getElementById("makeict-all-todos");
if(outputNode){
var bullets = document.getElementById("meeting-list").getElementsByTagName("li");
for(i=0; i<bullets.length; i++){
try{
var tmpFrame = document.createElement("iframe");
tmpFrame.onload = function(){
var summaryNode = this.contentDocument.getElementById("makeict-todo-summary");
var heading = document.createElement("h2");
var link = document.createElement("a");
link.href = this.src;
link.innerHTML = this.contentDocument.getElementsByTagName("h1")[0].innerHTML;
heading.appendChild(link);
outputNode.appendChild(heading);
outputNode.appendChild(summaryNode.cloneNode(true));
document.body.removeChild(this);
};
tmpFrame.style.display = "none";
tmpFrame.src = bullets[i].getElementsByTagName("a")[0].href;
document.body.appendChild(tmpFrame);
}catch(exc){
console.log(exc);
}
}
}
}());
(function () {
var cloneNodesToList = function(list, nodes) {
if(nodes.length == 0){
var listItem = document.createElement("li");
listItem.innerHTML = "None";
list.appendChild(listItem);
}else{
for(var i=0; i<nodes.length; i++){
var listItem = document.createElement("li");
listItem.appendChild(nodes[i].cloneNode(true));
list.appendChild(listItem);
}
}
};
var getTaskProperty = function(task, property){
console.log(".makeict-todo-" + property);
return $(task).find(".makeict-todo-" + property)[0].innerText.toLowerCase();
}
var taskCompare = function(taskA, taskB){
var props = ["who", "when"];
for(i in props){
var a = getTaskProperty(taskA, props[i]);
var b = getTaskProperty(taskB, props[i]);
if(a > b) return 1;
if(b > a) return -1;
}
return 0;
};
cloneNodesToList($("#makeict-decision-summary")[0], $(".makeict-decision"));
var tasks = $(".makeict-todo");
try{
tasks.sort(taskCompare);
}catch(exc){}
cloneNodesToList($("#makeict-todo-summary")[0], tasks);
}());