about summary refs log tree commit diff
path: root/wqflask
diff options
context:
space:
mode:
Diffstat (limited to 'wqflask')
-rw-r--r--wqflask/wqflask/show_trait/show_trait.py8
-rw-r--r--wqflask/wqflask/static/new/javascript/show_trait.js2
-rw-r--r--wqflask/wqflask/templates/collections/add.html20
-rw-r--r--wqflask/wqflask/templates/collections/view.html16
-rw-r--r--wqflask/wqflask/templates/show_trait_transform_and_filter.html2
5 files changed, 42 insertions, 6 deletions
diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py
index 878c41c0..6892f02b 100644
--- a/wqflask/wqflask/show_trait/show_trait.py
+++ b/wqflask/wqflask/show_trait/show_trait.py
@@ -203,6 +203,13 @@ class ShowTrait(object):
                     if sample.value < 0:
                         self.negative_vals_exist = "true"
 
+        #ZS: Check whether any attributes have few enough distinct values to show the "Block samples by group" option
+        self.categorical_attr_exists = "false"
+        for attribute in self.sample_groups[0].attributes:
+            if len(self.sample_groups[0].attributes[attribute].distinct_values) <= 10:
+                self.categorical_attr_exists = "true"
+                break
+
         sample_column_width = max_samplename_width * 8
 
         self.stats_table_width, self.trait_table_width = get_table_widths(self.sample_groups, sample_column_width, self.has_num_cases)
@@ -277,6 +284,7 @@ class ShowTrait(object):
                        se_exists = self.sample_groups[0].se_exists,
                        has_num_cases = self.has_num_cases,
                        attributes = self.sample_groups[0].attributes,
+                       categorical_attr_exists = self.categorical_attr_exists,
                        categorical_vars = ",".join(categorical_var_list),
                        num_values = self.num_values,
                        qnorm_values = self.qnorm_vals,
diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js
index 9d356570..6e9d68c4 100644
--- a/wqflask/wqflask/static/new/javascript/show_trait.js
+++ b/wqflask/wqflask/static/new/javascript/show_trait.js
@@ -634,7 +634,7 @@ populate_sample_attributes_values_dropdown = function() {
   return _results;
 };
 
-if (Object.keys(js_data.attributes).length){
+if (js_data.categorical_attr_exists == "true"){
   populate_sample_attributes_values_dropdown();
 }
 
diff --git a/wqflask/wqflask/templates/collections/add.html b/wqflask/wqflask/templates/collections/add.html
index b4e5385b..0398c6e4 100644
--- a/wqflask/wqflask/templates/collections/add.html
+++ b/wqflask/wqflask/templates/collections/add.html
@@ -49,8 +49,20 @@
 </div>
 
 <script>
-    $('#add_form').parsley();
-    $('#add_form').on('submit', function(){
-      parent.jQuery.colorbox.close();
-    });
+  $('#add_form').parsley();
+  $('#add_form').on('submit', function(){
+    parent.jQuery.colorbox.close();
+  });
+
+  apply_default = function() {
+    let default_collection_id = $.cookie('default_collection');
+    if (default_collection_id) {
+      let the_option = $('[name=existing_collection] option').filter(function() {
+        return ($(this).val().split(":")[0] == default_collection_id);
+      })
+      the_option.prop('selected', true);
+    }
+  }
+
+  apply_default();
 </script>
diff --git a/wqflask/wqflask/templates/collections/view.html b/wqflask/wqflask/templates/collections/view.html
index 8d5e3616..9ec98ab1 100644
--- a/wqflask/wqflask/templates/collections/view.html
+++ b/wqflask/wqflask/templates/collections/view.html
@@ -14,6 +14,7 @@
             <span id="collection_name">{{ uc.name }}</span>
             <input type="text" name="new_collection_name" style="font-size: 20px; display: none; width: 500px;" class="form-control" placeholder="{{ uc.name }}"> 
             <button class="btn btn-default" style="display: inline;" id="change_collection_name">Change Collection Name</button>
+            <button class="btn btn-default" style="display: inline;" id="make_default">Make Default</button>
         </h1>
         <h3>This collection has {{ '{}'.format(numify(trait_obs|count, "record", "records")) }}</h3>
 
@@ -231,6 +232,21 @@
                     $('#collection_name').css('display', 'inline');
                 }
             });
+
+            make_default = function() {
+                alert("The current collection is now your default collection.")
+                let uc_id = $('#uc_id').val();
+                $.cookie('default_collection', uc_id, {
+                    expires: 365,
+                    path: '/'
+                });
+
+                let default_collection_id = $.cookie('default_collection');
+            };
+
+            $("#make_default").on("click", function(){
+                make_default();
+            });
         });
     </script>
 
diff --git a/wqflask/wqflask/templates/show_trait_transform_and_filter.html b/wqflask/wqflask/templates/show_trait_transform_and_filter.html
index b70ca590..e3f5ef81 100644
--- a/wqflask/wqflask/templates/show_trait_transform_and_filter.html
+++ b/wqflask/wqflask/templates/show_trait_transform_and_filter.html
@@ -20,7 +20,7 @@
     <div id="remove_samples_invalid" class="alert alert-error" style="display:none;">
           Please check that your input is formatted correctly, e.g. <strong>3, 5-10, 12</strong>
     </div>
-    {% if sample_groups[0].attributes %}
+    {% if categorical_attr_exists == "true" %}
     <div class="input-append block-div-2">
         <label for="exclude_column">Block samples by group:</label>
         <select id="exclude_column" size=1>