var myMinMaxObj = {
};
//console.log("box_inpt", box_inpt);
//console.log("jid1", document.getElementById("jidbox").value, results[0][0][0]);
function make_header() {
var table = document.getElementById("myTable");
document.getElementById("myTable").innerHTML = "";
var header = table.createTHead();
var row = header.insertRow(0);
row.style.backgroundColor = "#00CED1";
var cell = row.insertCell(0);
cell.innerHTML = "JARVIS-ID";
var cell = row.insertCell(1);
cell.innerHTML = "Formula";
var cell = row.insertCell(2);
cell.innerHTML = "Spg. symb";
var cell = row.insertCell(3);
cell.innerHTML = "Spg. numb";
var cell = row.insertCell(4);
cell.innerHTML = "Cryst.-sys";
var cell = row.insertCell(5);
cell.innerHTML = "Density";
var cell = row.insertCell(6);
//cell.innerHTML = "MPID";
//var cell = row.insertCell(4)
cell.innerHTML = "mBJ";
var cell = row.insertCell(7);
cell.innerHTML = "GW";
var cell = row.insertCell(8);
cell.innerHTML = "eDMFT";
var cell = row.insertCell(9);
cell.innerHTML = "B3LYP";
}
function sortFunction(a, b) {
window.scrollTo(0,document.body.scrollHeight);
if (a[5] === b[5]) {
return 0;
} else {
return a[5] > b[5] ? -1 : 1;
}
}
function jurl2jid(url) {
var jid = url.split("target='_blank' >")[1].split("")[0];
return jid;
}
function advsearch() {
//console.log("box_inpt", box_inpt);
//var input_txt = input.value; //box_inpt;
tmp = results;
if (
typeof document.getElementById("mytext") != "undefined" &&
document.getElementById("mytext").value != ""
) {
var inp_txt = possibl_els(document.getElementById("mytext").value);
var f = inp_txt.split("-").sort();
var f = f.join("-");
console.log("inpp", inp_txt);
var f = inp_txt.split("-").sort();
var f = f.join("-");
//console.log("comp1", inp_els);
console.log("comp2", f);
var tmp_el_arr = [];
var container = document
.getElementById("container")
.getElementsByTagName("div");
var table = document.getElementById("myTable");
for (i = 0; i < search.length; i++) {
if (search[i] == f) {
now_results = results[i];
tmp_el_arr.push(now_results);
}
}
tmp = tmp_el_arr;
var container = document
.getElementById("container")
.getElementsByTagName("div");
//desect_others(tmp_el_arr, f, container);
}
for (var key in myMinMaxObj) {
// check if the property/key is defined in the object itself, not in parent
if (myMinMaxObj.hasOwnProperty(key)) {
var index = myMinMaxObj[key];
//console.log("index",index);
var element1 = document.getElementById(index[1]).value;
//console.log("is null?", (index[1],document.getElementById(index[1]).value));
var element2 = document.getElementById(index[2]).value;
//console.log("is null?", document.getElementById(index[1]));
if (element1 != "" && element2 != "") {
var maxval = element1;
var minval = element2;
var indexval = index[0];
//console.log("minmax", indexval, minval, maxval);
//console.log("tmp_arr", tmp_arr);
var tmp = make_adv_table_for_index(indexval, maxval, minval, tmp);
}
}
}
//tmp = results;
var inp_els = "";
//console.log("index", index);
make_header();
document.getElementById("pText").innerHTML =
"Results Found: " + tmp[0].length;
make_filtered_tables(tmp);
//console.log("tmp", tmp, tmp.length);
//make_table();
}
function isItNumber(str) {
return /^\-?[0-9]+(e[0-9]+)?(\.[0-9]+)?$/.test(str);
}
function make_adv_table_for_index(filter_index, minn, maxx, res) {
var array = [];
//console.log("filter arr1", results[0][0][5]);
for (i = 0; i < res.length; i++) {
for (j = 0; j < res[i].length; j++) {
var tmp = res[i][j][filter_index];
if (isItNumber(tmp) && parseFloat(tmp) >= minn && parseFloat(tmp) <= maxx) {
//console.log("success");
//console.log("tmppp", tmp, minn, maxx, res[i][j][0]);
array.push(res[i][j]);
//console.log("filter arr", arr);
}
}
//console.log("MinMax", min, max);
}
//console.log("arr success", arr);
return [array];
}
function make_filtered_tables(data) {
window.scrollTo(0,document.body.scrollHeight);
var table = document.getElementById("myTable");
for (i = 0; i < data.length; i++) {
var now_results = data[i];
for (j = 0; j < now_results.length; j++) {
var row = table.insertRow(-1);
var tmp_now = now_results[j];
for (k = 0; k < tmp_now.length ; k++) {
var cell = row.insertCell(k);
cell.innerHTML = tmp_now[k];
}
}
}
}
function add(ev) {
var elt_name = ev.target.id + "-";
var formulabox = document.getElementById("mytext");
var oldformula = formulabox.value;
//console.log("formulabox.value", document.getElementById("mytext").value);
if (oldformula.indexOf(elt_name) != -1) {
formulabox.value = oldformula.replace(elt_name, "");
document.getElementById(ev.target.id).style.backgroundColor = "black";
} else {
formulabox.value = oldformula + elt_name;
document.getElementById(ev.target.id).style.backgroundColor = "#FFA500";
}
box_inpt = formulabox.value;
return box_inpt;
//console.log("box_inpt", box_inpt);
}
function desect_others(now_results, f, container) {
for (ii = 0; ii < search.length; ii++) {
var array = search[ii];
//if (f in search[ii]){
// cons ole.log("success",search[ii]);
//}
//delete tmp[0];
var container = container;
var tmp = f.split("-").sort();
//console.log("tmp=", tmp);
var tmp1 = tmp.join("-");
var dumb = tmp1.concat("-");
//console.log("dumb", dumb);
//onsole.log("tmp1", tmp1);
if (array.includes(dumb)) {
//console.log(dumb, array);
var array1 = array.concat("-").split("-");
//console.log(array1);
//var child_tmp = container[ids].id;
//console.log("child length", child_tmp.length);
for (jids = 0; jids < container.length; jids++) {
if (array1.includes(container[jids].id)) {
//console.log('jid',array1,tmp,child_tmp[jids]);
container[jids].style.backgroundColor = "#FFA500";
}
}
}
window.scrollTo(0, document.body.scrollHeight);
}
}
var myObj = {
"JARVIS-ID": 0,
"Formula": 1,
"Space-group": [2, "spgbox"],
"Calculation type": [
3,
"3D-bulk",
"2D-bulk",
"1D-bulk",
"0D-bulk",
"2D-1L",
"2D-2L",
"2D-3L"
],
"OPT-bandgap": [4, "opgtbox", "opltbox"],
"MBJ-bandgap": [5, "mbjgtbox", "mbjltbox"],
"HSE-bandgap": [6, "hsegtbox", "hseltbox"],
"Kv (GPa)": [7, "bvgtbx", "bvltbox"],
"Gv (GPa)": [8, "gvgtbx", "gvltbox"],
"Formation energy (eV/atom)": [9, "fgtbox", "fltbox"],
"Exfoliation energy (eV/atom)": [10, "exfgtbox", "exfltbox"],
"SOC-Spillage": [11, "spillgtbox", "spillltbox"],
"Other links": 12
};
//console.log("stuff", myObj.Formula);
/*
for (var key in myObj) {
// check if the property/key is defined in the object itself, not in parent
if (myObj.hasOwnProperty(key)) {
console.log("lelelele", key, myObj[key]);
}
}
*/
//var filterIds = ["mbjgtbox", "mbjltbox"];
function getFilterId(specificId) {
var filterId = document.getElementById(specificId);
return filterId;
}
//console.log("id values", filterIds.forEach(getFilterId));
//console.log("filter value", getFilterId("optltbox"));
function make_table(f) {
var container = document
.getElementById("container")
.getElementsByTagName("div");
for (ids = 0; ids < container.length; ids++) {
container[ids].style.backgroundColor = "#F4F4F4";
}
var table = document.getElementById("myTable");
for (i = 0; i < search.length; i++) {
if (search[i] == f) {
console.log("success");
now_results = results[i];
now_results.sort(sortFunction);
for (j = 0; j < now_results.length; j++) {
var row = table.insertRow(-1);
var tmp_now = now_results[j];
for (k = 0; k < tmp_now.length ; k++) {
var cell = row.insertCell(k);
cell.innerHTML = tmp_now[k];
}
}
}
}
document.getElementById("pText").innerHTML =
"Results Found: " + now_results.length;
desect_others(now_results, f, container);
window.scrollTo(0,document.body.scrollHeight);
}
function sortFunction(a, b) {
window.scrollTo(0,document.body.scrollHeight);
if (a[5] === b[5]) {
return 0;
} else {
return a[5] > b[5] ? -1 : 1;
//window.scrollTo(0,document.body.scrollHeight);
}
}