about summary refs log tree commit diff
path: root/qc_app/static/js
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2022-07-13 02:37:52 +0300
committerFrederick Muriuki Muriithi2022-07-19 04:59:59 +0300
commit68cf0750ee29d91abf8fe8d0a81426e324b41b12 (patch)
treeed1b752cb63937ebe5d1c5cca812cbd0f7bd65a6 /qc_app/static/js
parent27032e1876373f9b519275bffbca117f2c96ca1f (diff)
downloadgn-uploader-68cf0750ee29d91abf8fe8d0a81426e324b41b12.tar.gz
Implement dataset selection
- Implement UI enabling selection from existing datasets
- Start implementation of UI that enables creation of new dataset
Diffstat (limited to 'qc_app/static/js')
-rw-r--r--qc_app/static/js/dbinsert.js156
1 files changed, 0 insertions, 156 deletions
diff --git a/qc_app/static/js/dbinsert.js b/qc_app/static/js/dbinsert.js
deleted file mode 100644
index 63d2c86..0000000
--- a/qc_app/static/js/dbinsert.js
+++ /dev/null
@@ -1,156 +0,0 @@
-function remove_children(element) {
-    Array.from(element.children).forEach(child => {
-	element.removeChild(child);
-    });
-}
-
-function trigger_change_event(element) {
-    evt = new Event("change");
-    element.dispatchEvent(evt);
-}
-
-function setup_groups(group_data) {
-    elt = document.getElementById("group");
-    remove_children(elt);
-    the_groups = group_data.reduce(
-	function(acc, row) {
-	    grouping = row[2].slice(7).trim();
-	    if(acc[grouping] === undefined) {
-		acc[grouping] = [];
-	    }
-	    acc[grouping].push([row[0], row[1]]);
-	    return acc;
-	},
-	{});
-    for(grouping in the_groups) {
-	optgrp = document.createElement("optgroup");
-	optgrp.setAttribute("label", grouping);
-	the_groups[grouping].forEach(group => {
-	    opt = document.createElement("option");
-	    opt.setAttribute("value", group[0]);
-	    opt.appendChild(document.createTextNode(group[1]));
-	    optgrp.appendChild(opt);
-	});
-	elt.appendChild(optgrp);
-    }
-    trigger_change_event(elt);
-}
-
-function setup_types(type_data) {
-    elt = document.getElementById("type");
-    remove_children(elt);
-    the_types = type_data.reduce(function(acc, row) {
-	grp = row[2];
-	if(acc[grp] === undefined) {
-	    acc[grp] = [];
-	}
-	acc[grp].push([row[0], row[1]]);
-	return acc;
-    }, {});
-    for(type_group in the_types) {
-	optgrp = document.createElement("optgroup");
-	optgrp.setAttribute("label", type_group);
-	the_types[type_group].forEach(type => {
-	    opt = document.createElement("option");
-	    opt.setAttribute("value", type[0]);
-	    opt.appendChild(document.createTextNode(type[1]));
-	    optgrp.appendChild(opt);
-	});
-	elt.appendChild(optgrp);
-    }
-    trigger_change_event(elt);
-}
-
-function setup_datasets(dataset_data) {
-    elt = document.getElementById("dataset");
-    remove_children(elt);
-    dataset_data.forEach(dataset => {
-	opt = document.createElement("option");
-	opt.setAttribute("value", dataset[0]);
-	opt.appendChild(document.createTextNode(
-	    "[" + dataset[1] + "] " + dataset[2]));
-	elt.appendChild(opt);
-    });
-    trigger_change_event(elt);
-}
-
-function radio_column(chip) {
-    col = document.createElement("td");
-    radio = document.createElement("input");
-    radio.setAttribute("type", "radio");
-    radio.setAttribute("name", "genechipid");
-    radio.setAttribute("value", chip["GeneChipId"]);
-    radio.setAttribute("required", "required");
-    col.appendChild(radio);
-    return col;
-}
-
-function setup_genechips(genechip_data) {
-    columns = ["GeneChipName", "Name", "GeoPlatform", "GO_tree_value"]
-    submit_button = document.querySelector(
-	"#select-dataset-form input[type='submit']");
-    elt = document.getElementById(
-	"genechips-table").getElementsByTagName("tbody")[0];
-    remove_children(elt);
-    if((genechip_data === undefined) || genechip_data.length === 0) {
-	row = document.createElement("tr");
-	col = document.createElement("td");
-	col.setAttribute("colspan", "5");
-	text = document.createTextNode("No chips found for selected species");
-	col.appendChild(text);
-	row.appendChild(col);
-	elt.appendChild(row);
-	submit_button.setAttribute("disabled", true);
-	return false;
-    }
-
-    submit_button.removeAttribute("disabled")
-    genechip_data.forEach(chip => {
-	row = document.createElement("tr");
-	row.appendChild(radio_column(chip));
-	columns.forEach(column => {
-	    col = document.createElement("td");
-	    content = document.createTextNode(chip[column]);
-	    col.appendChild(content);
-	    row.appendChild(col);
-	});
-	elt.appendChild(row);
-    });
-}
-
-function menu_contents() {
-    return JSON.parse(
-	document.getElementById("select-dataset-form").getAttribute(
-	    "data-menu-content"));
-}
-
-function genechips() {
-    return JSON.parse(
-	document.getElementById("select-dataset-form").getAttribute(
-	    "data-genechips"));
-}
-
-function update_menu(event) {
-    menu = menu_contents();
-    genec = genechips();
-
-    species_elt = document.getElementById("species");
-    group_elt = document.getElementById("group");
-    type_elt = document.getElementById("type");
-    dataset_elt = document.getElementById("dataset");
-
-    if(event.target == species_elt) {
-	setup_groups(menu["groups"][species_elt.value]);
-	setup_genechips(genec[species_elt.value.toLowerCase()]);
-    }
-
-    if(event.target == group_elt) {
-	setup_types(menu["types"][species_elt.value][group_elt.value]);
-    }
-
-    if(event.target == type_elt) {
-	setup_datasets(
-	    menu["datasets"][species_elt.value][group_elt.value][type_elt.value]
-	);
-    }
-}