about summary refs log tree commit diff
diff options
context:
space:
mode:
authorzsloan2020-06-26 14:42:08 -0500
committerzsloan2020-06-26 14:42:08 -0500
commit297391cd25c5ec5bcb72de9636e1a08f32175a6a (patch)
tree01b1c2187f21c77f9264821125f564b429d208fb
parent645c07b98aae9508e8a0aeedd8eaca815d5daf54 (diff)
downloadgenenetwork2-297391cd25c5ec5bcb72de9636e1a08f32175a6a.tar.gz
Changed drop-down menus to include type sub-categories
-rw-r--r--wqflask/wqflask/api/gen_menu.py8
-rw-r--r--wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js32
2 files changed, 36 insertions, 4 deletions
diff --git a/wqflask/wqflask/api/gen_menu.py b/wqflask/wqflask/api/gen_menu.py
index bdcc3bf7..cfce0c8e 100644
--- a/wqflask/wqflask/api/gen_menu.py
+++ b/wqflask/wqflask/api/gen_menu.py
@@ -68,12 +68,12 @@ def get_types(groups):
         types[species] = {}
         for group_name, _group_full_name, _family_name in group_dict:
             if phenotypes_exist(group_name):
-                types[species][group_name] = [("Phenotypes", "Phenotypes")]
+                types[species][group_name] = [("Phenotypes", "Traits and Cofactors", "Phenotypes")]
             if genotypes_exist(group_name):
                 if group_name in types[species]:
-                    types[species][group_name] += [("Genotypes", "Genotypes")]
+                    types[species][group_name] += [("Genotypes", "DNA Markers and SNPs", "Genotypes")]
                 else:
-                    types[species][group_name] = [("Genotypes", "Genotypes")]
+                    types[species][group_name] = [("Genotypes", "DNA Markers and SNPs", "Genotypes")]
             if group_name in types[species]:
                 types_list = build_types(species, group_name)
                 if len(types_list) > 0:
@@ -134,7 +134,7 @@ def build_types(species, group):
         if len(result):
             these_datasets = build_datasets(species, group, result[0])
             if len(these_datasets) > 0:
-                results.append([str(result[0]), str(result[0])])
+                results.append([str(result[0]), str(result[0]), "Molecular Trait Datasets"])
 
     return results
 
diff --git a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js b/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
index ee7be68c..d5711f6d 100644
--- a/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
+++ b/wqflask/wqflask/static/new/javascript/dataset_select_menu_orig.js
@@ -94,6 +94,37 @@ redo_dropdown = function(dropdown, items) {
         _results.push(dropdown.append($("<option />").val(item[0]).text(item[1])));
       }
     }
+  } else if (dropdown.attr('id') == "type"){
+    type_family_list = [];
+    for (_i = 0, _len = items.length; _i < _len; _i++) {
+      item = items[_i];
+      type_family_list.push([item[0], item[1], item[2]])
+    }
+
+    current_family = ""
+    this_opt_group = null
+    for (_i = 0, _len = type_family_list.length; _i < _len; _i++) {
+      item = type_family_list[_i];
+      if (item[2] != "None" && current_family == ""){
+        current_family = item[2]
+        this_opt_group = $("<optgroup label=\"" + item[2] + "\">")
+        this_opt_group.append($("<option />").val(item[0]).text(item[1]));
+      } else if (current_family != "" && item[2] == current_family){
+        this_opt_group.append($("<option />").val(item[0]).text(item[1]));
+        if (_i == type_family_list.length - 1){
+          _results.push(dropdown.append(this_opt_group))
+        }
+      } else if (current_family != "" && item[2] != current_family && item[2] != "None"){
+        current_family = item[2]
+        _results.push(dropdown.append(this_opt_group))
+        this_opt_group = $("<optgroup label=\"" + current_family + "\">")
+        this_opt_group.append($("<option />").val(item[0]).text(item[1]));
+      } else {
+        _results.push(dropdown.append(this_opt_group))
+        current_family = ""
+        _results.push(dropdown.append($("<option />").val(item[0]).text(item[1])));
+      } 
+    }
   } else {
     for (_i = 0, _len = items.length; _i < _len; _i++) {
       item = items[_i];
@@ -104,6 +135,7 @@ redo_dropdown = function(dropdown, items) {
       }
     }
   }
+
   return _results;
 };
 $('#species').change((function(_this) {