Team:Cornell/javascripts/notebook

From 2013.igem.org

(Difference between revisions)
Line 118: Line 118:
{
{
var firefox = /Firefox/i.test(navigator.userAgent);
var firefox = /Firefox/i.test(navigator.userAgent);
-
 
+
-
for(var i = 0; i < info.length; i++)  
+
var parents = document.getElementsByClassName("entry");
 +
for(var pi = 0; pi < parents.length; pi++)
{
{
-
var name = info[i][0];
+
var eles = [parents[pi].children[0].children[2], parents[pi].children[0].children[3]];
-
var skip = true;
+
for(var ti = 0; ti < 2; ti++)
-
 
+
-
while(window.find(name))
+
{
{
-
if(skip || firefox)  
+
var ele = eles[ti];
 +
var text = ele.innerHTML;
 +
for(var i = 0; i < info.length; i++)
{
{
-
var rng = window.getSelection().getRangeAt(0);
+
var p = info[i];
 +
var name = p[0];
 +
var full = p[1];
 +
var img = p[2];
 +
var desc = p[3];
 +
var href = p[4];
-
var ah = document.createElement('div');
+
var content = '';
-
ah.className="author-hover";
+
var after = text;
-
var link = document.createElement('a');
+
var pos = after.indexOf(p[0]);
-
link.href = info[i][4];
+
while(pos != -1)
-
link.appendChild(document.createTextNode(rng));
+
{
-
ah.appendChild(link);
+
var before = after.substring(0, pos);
-
+
after = after.substring(pos + name.length);
-
var ahp = document.createElement('div');
+
var image = img ? '<img src="' + img + '">' : '';
-
ahp.className="author-hover-pic";
+
var middle = '<div class="author-hover"><a href="' + href + '">' + name + '</a></div><div class="author-hover-pic"><div class="author-desc">' + image + '<div><h5>' + full + '</h5><p>' + desc + '</p></div></div></div>';
-
var ad = document.createElement('div');
+
var content = content + before + middle;
-
ad.className="author-desc";
+
}
-
var img = document.createElement('img');
+
-
img.src = info[i][2];
+
-
var d = document.createElement('div');
+
-
var h = document.createElement('h5');
+
-
h.appendChild(document.createTextNode(info[i][1]));
+
-
var p = document.createElement('p');
+
-
p.appendChild(document.createTextNode(info[i][3]));
+
-
+
-
d.appendChild(h);
+
-
d.appendChild(p);
+
-
if(info[i][2] != "") ad.appendChild(img);
+
-
ad.appendChild(d);
+
-
ahp.appendChild(ad);
+
-
+
-
rng.deleteContents();
+
-
rng.insertNode(ahp);
+
-
rng.insertNode(ah);
+
-
alert(getOffset(ah).left);
+
-
ahp.left = getOffset(ah).left;
+
-
alert(getOffset(ahp).left);
+
}
}
-
skip = !skip;
+
ele.innerHTML = text;
}
}
-
window.getSelection().removeAllRanges();
 
}
}
-
}
+
}
-
else if(document.body.createTextRange)
+
-
{
+
-
for(var i = 0; i < info.length; i++)
+
-
{
+
-
var rng=document.body.createTextRange();
+
-
var name = info[i][0];
+
-
 
+
-
while(rng.findText(name))
+
-
{
+
-
rng.pasteHTML('<div><div class="author-hover">' + rng.text + '</div> <div class="author-hover-pic"> <div class="author-desc"> <img src="' + info[i][2] +'" </img> <div> <h5>' + info[i][1] + '</h5>' + info[i][3] + '</div> </div> </div> </div>');
+
-
}
+
-
}
+
-
}
+
-
window.scroll(0,0)
+
}
}
-
function getOffset(el) {
+
 
-
     var x = 0;
+
// function findNames() {
-
     var y = 0;
+
// <!-- KEYWORDS HERE -->
-
     while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
+
// var info = [
-
         x += el.offsetLeft - el.scrollLeft;
+
// ["Rafael", "Rafael Lizarralde", "https://static.igem.org/mediawiki/2012/2/25/CornellProteinFoldingIsHard.gif", "I like pickled watermelons dipped in soy sauce. Also, I'm not as cool as Nupur.", "https://2013.igem.org/Team:Cornell"],
-
         y += el.offsetTop - el.scrollTop;
+
// ["Inigo", "Inigo Montoya", "https://static.igem.org/mediawiki/2013/5/50/Cornell-nb-wet-bc.png", "You killed his father.", "https://2013.igem.org/Team:Cornell"],
-
         el = el.offsetParent;
+
// ["Nupur", "Nupur Bhatt", "https://static.igem.org/mediawiki/2013/2/29/Cornell-nb-dry-sc.png", "Source of all greater trash.", "https://2013.igem.org/Team:Cornell"],
-
     }
+
// ["lorem", "hi", "", "test", "https://2013.igem.org/Team:Cornell"]
-
     return {top: y, left: x};
+
// ];
-
}
+
//
 +
// if(window.find)
 +
// {
 +
// var firefox = /Firefox/i.test(navigator.userAgent);
 +
//
 +
// for(var i = 0; i < info.length; i++)
 +
// {
 +
// var name = info[i][0];
 +
// var skip = true;
 +
//
 +
// while(window.find(name))
 +
// {
 +
// if(skip || firefox)
 +
// {
 +
// var rng = window.getSelection().getRangeAt(0);
 +
//
 +
// var ah = document.createElement('div');
 +
// ah.className="author-hover";
 +
// var link = document.createElement('a');
 +
// link.href = info[i][4];
 +
// link.appendChild(document.createTextNode(rng));
 +
// ah.appendChild(link);
 +
//
 +
// var ahp = document.createElement('div');
 +
// ahp.className="author-hover-pic";
 +
// var ad = document.createElement('div');
 +
// ad.className="author-desc";
 +
// var img = document.createElement('img');
 +
// img.src = info[i][2];
 +
// var d = document.createElement('div');
 +
// var h = document.createElement('h5');
 +
// h.appendChild(document.createTextNode(info[i][1]));
 +
// var p = document.createElement('p');
 +
// p.appendChild(document.createTextNode(info[i][3]));
 +
//
 +
// d.appendChild(h);
 +
// d.appendChild(p);
 +
// if(info[i][2] != "") ad.appendChild(img);
 +
// ad.appendChild(d);
 +
// ahp.appendChild(ad);
 +
//
 +
// rng.deleteContents();
 +
// rng.insertNode(ahp);
 +
// rng.insertNode(ah);
 +
// alert(getOffset(ah).left);
 +
// ahp.left = getOffset(ah).left;
 +
// alert(getOffset(ahp).left);
 +
// }
 +
// skip = !skip;
 +
// }
 +
// window.getSelection().removeAllRanges();
 +
// }
 +
// }
 +
// else if(document.body.createTextRange)
 +
// {
 +
// for(var i = 0; i < info.length; i++)
 +
// {
 +
// var rng=document.body.createTextRange();
 +
// var name = info[i][0];
 +
//
 +
// while(rng.findText(name))
 +
// {
 +
// rng.pasteHTML('<div><div class="author-hover">' + rng.text + '</div> <div class="author-hover-pic"> <div class="author-desc"> <img src="' + info[i][2] +'" </img> <div> <h5>' + info[i][1] + '</h5>' + info[i][3] + '</div> </div> </div> </div>');
 +
// }
 +
// }
 +
// }
 +
// window.scroll(0,0)
 +
// }
 +
//
 +
// function getOffset(el) {
 +
//     var x = 0;
 +
//     var y = 0;
 +
//     while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
 +
//         x += el.offsetLeft - el.scrollLeft;
 +
//         y += el.offsetTop - el.scrollTop;
 +
//         el = el.offsetParent;
 +
//     }
 +
//     return {top: y, left: x};
 +
// }

Revision as of 17:58, 30 June 2013

function loadHref() { if(document.location != "https://2013.igem.org/Team:Cornell/notebook") { var href = document.location.href; var i = href.substring(href.indexOf("#")+1); document.getElementById('week' + i + 'entry').style.display = 'block'; if(i != 'A') { document.getElementById('weekAentry').style.display = 'none'; document.getElementById('weekA').className = ; } document.getElementById('week' + i ).className = 'active'; } var techb = document.getElementsByClassName('nb-onetech-i'); for(var i = techb.length-1; i >= 0; i--) { techb[i].onclick = function() { showTech(this); } var teche = techb[i].parentNode.parentNode.children[1]; if(teche.innerHTML == "" || teche.innerHTML.indexOf("{{{tech}}}") != -1){ techb[i].className = 'nb-onetech-disabled'; teche.className = 'nb-tech-disabled'; } } } function filter(that) { var ele = that.children[0]; var show = ele.style.display == 'none'; ele.style.display= (show ? 'block' : 'none'); that.parentNode.children[1].className = (show ? 'nb-only' : 'nb-only-i'); all(); var list = document.getElementsByClassName('nb-' + ele.id); for (var i = 0; i < list.length; i++) { list[i].style.display = (show ? 'block' : 'none'); } } function onlyFilter(that) { var filt = that.parentNode; var row = filt.parentNode;

for(var i=0; i<row.children.length; i++) { var hide = true; if(row.children[i] == filt) hide = false; row.children[i].children[0].children[0].style.display = (hide ? 'none' : 'block'); row.children[i].children[1].className = (hide ? 'nb-only-i' : 'nb-only');

var list = document.getElementsByClassName('nb-' + row.children[i].children[0].children[0].id); for (var j = 0; j < list.length; j++) { list[j].style.display = (hide ? 'none' : 'block'); } } all(); } function all() { var all = true; var allbut = document.getElementById('nb-all'); var row = document.getElementById('wet-only').parentNode.parentNode; for(var i=0; i<row.children.length; i++) { if(row.children[i].children[1].className == 'nb-only-i') all = false; } allbut.className = (all ? 'nb-all' : 'nb-all-i'); } function showAll() { var all = true; var allbut = document.getElementById('nb-all'); var row = document.getElementById('wet-only').parentNode.parentNode; for(var i=0; i<row.children.length; i++) { row.children[i].children[0].children[0].style.display = 'block'; row.children[i].children[1].className = 'nb-only'; } allbut.className = (all ? 'nb-all' : 'nb-all-i'); var list = document.getElementsByClassName("entry"); for (var i = 0; i < list.length; i++) { list[i].style.display = 'block'; } } function weekFilter(that) { for(var i = -4; i<25; i++) { var c = (i > 0 ? "" + i : String.fromCharCode(69 + i)); var ele = document.getElementById('week' + c); if(ele != null) ele.className = (that.id.substr(4) == c ? 'active' : ); } var filt = that.id + "entry"; var all = document.getElementsByClassName('nb-week'); for(var i = 0; i<all.length; i++) { if(all[i].tagName == 'DIV') all[i].style.display = 'none'; } document.getElementById(filt).style.display = 'block'; } function showAllTech() { var techbut = document.getElementById('nb-alltech'); var all = techbut.className == 'nb-all-i'; techbut.className = (all ? 'nb-all' : 'nb-all-i'); var row = document.getElementsByClassName('nb-tech'); for(var i=0; i<row.length; i++) { row[i].style.display = (all ? 'block' : 'none'); } var techs = document.getElementsByClassName(all ? 'nb-onetech-i' : 'nb-onetech'); for(var i= techs.length -1; i >= 0; i--) { techs[i].className = (all ? 'nb-onetech' : 'nb-onetech-i'); } } function showTech(that) { var show = that.className == 'nb-onetech'; that.className = show ? 'nb-onetech-i' : 'nb-onetech'; that.parentNode.parentNode.children[1].style.display = show ? 'none' : 'block'; }

function findNames() {

var info = [ ["Rafael", "Rafael Lizarralde", "CornellProteinFoldingIsHard.gif", "I like pickled watermelons dipped in soy sauce. Also, I'm not as cool as Nupur.", "https://2013.igem.org/Team:Cornell"], ["Inigo", "Inigo Montoya", "Cornell-nb-wet-bc.png", "You killed his father.", "https://2013.igem.org/Team:Cornell"], ["Nupur", "Nupur Bhatt", "Cornell-nb-dry-sc.png", "Source of all greater trash.", "https://2013.igem.org/Team:Cornell"], ["lorem", "hi", "", "test", "https://2013.igem.org/Team:Cornell"] ];

if(window.find) { var firefox = /Firefox/i.test(navigator.userAgent);

var parents = document.getElementsByClassName("entry"); for(var pi = 0; pi < parents.length; pi++) { var eles = [parents[pi].children[0].children[2], parents[pi].children[0].children[3]]; for(var ti = 0; ti < 2; ti++) { var ele = eles[ti]; var text = ele.innerHTML; for(var i = 0; i < info.length; i++) { var p = info[i]; var name = p[0]; var full = p[1]; var img = p[2]; var desc = p[3]; var href = p[4];

var content = ; var after = text; var pos = after.indexOf(p[0]); while(pos != -1) { var before = after.substring(0, pos); after = after.substring(pos + name.length); var image = img ? '<img src="' + img + '">' : ;

var middle = '
<a href="' + href + '">' + name + '</a>
' + image + '
' + full + '

' + desc + '

';

var content = content + before + middle; } } ele.innerHTML = text; } }

	}

}


// function findNames() { // // var info = [ // ["Rafael", "Rafael Lizarralde", "CornellProteinFoldingIsHard.gif", "I like pickled watermelons dipped in soy sauce. Also, I'm not as cool as Nupur.", "https://2013.igem.org/Team:Cornell"], // ["Inigo", "Inigo Montoya", "Cornell-nb-wet-bc.png", "You killed his father.", "https://2013.igem.org/Team:Cornell"], // ["Nupur", "Nupur Bhatt", "Cornell-nb-dry-sc.png", "Source of all greater trash.", "https://2013.igem.org/Team:Cornell"], // ["lorem", "hi", "", "test", "https://2013.igem.org/Team:Cornell"] // ]; // // if(window.find) // { // var firefox = /Firefox/i.test(navigator.userAgent); // // for(var i = 0; i < info.length; i++) // { // var name = info[i][0]; // var skip = true; // // while(window.find(name)) // { // if(skip || firefox) // { // var rng = window.getSelection().getRangeAt(0); // // var ah = document.createElement('div'); // ah.className="author-hover"; // var link = document.createElement('a'); // link.href = info[i][4]; // link.appendChild(document.createTextNode(rng)); // ah.appendChild(link); // // var ahp = document.createElement('div'); // ahp.className="author-hover-pic"; // var ad = document.createElement('div'); // ad.className="author-desc"; // var img = document.createElement('img'); // img.src = info[i][2]; // var d = document.createElement('div'); // var h = document.createElement('h5'); // h.appendChild(document.createTextNode(info[i][1])); // var p = document.createElement('p'); // p.appendChild(document.createTextNode(info[i][3])); // // d.appendChild(h); // d.appendChild(p); // if(info[i][2] != "") ad.appendChild(img); // ad.appendChild(d); // ahp.appendChild(ad); // // rng.deleteContents(); // rng.insertNode(ahp); // rng.insertNode(ah); // alert(getOffset(ah).left); // ahp.left = getOffset(ah).left; // alert(getOffset(ahp).left); // } // skip = !skip; // } // window.getSelection().removeAllRanges(); // } // } // else if(document.body.createTextRange) // { // for(var i = 0; i < info.length; i++) // { // var rng=document.body.createTextRange(); // var name = info[i][0]; // // while(rng.findText(name)) // {

// rng.pasteHTML('
' + rng.text + '
<img src="' + info[i][2] +'" </img>
' + info[i][1] + '
' + info[i][3] + '
');

// } // } // } // window.scroll(0,0) // } // // function getOffset(el) { // var x = 0; // var y = 0; // while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) { // x += el.offsetLeft - el.scrollLeft; // y += el.offsetTop - el.scrollTop; // el = el.offsetParent; // } // return {top: y, left: x}; // }