From 9ac815b8f6977743dacfe767aabdf4523895fe7c Mon Sep 17 00:00:00 2001
From: Zachary Sloan
Date: Fri, 14 Sep 2012 16:18:47 -0500
Subject: Got the dynamic javascript stats table working
---
wqflask/base/webqtlFormData.py | 1 +
wqflask/wqflask/show_trait/DataEditingPage.py | 1 +
.../new/javascript/trait_data_and_analysis.coffee | 51 ++++++++++---------
.../new/javascript/trait_data_and_analysis.js | 58 +++++++++++-----------
wqflask/wqflask/templates/search_result_page.html | 10 ++--
.../wqflask/templates/trait_data_and_analysis.html | 4 +-
wqflask/wqflask/views.py | 19 +++++--
7 files changed, 78 insertions(+), 66 deletions(-)
(limited to 'wqflask')
diff --git a/wqflask/base/webqtlFormData.py b/wqflask/base/webqtlFormData.py
index 9f58d437..a8aef2a5 100755
--- a/wqflask/base/webqtlFormData.py
+++ b/wqflask/base/webqtlFormData.py
@@ -45,6 +45,7 @@ from utility import webqtlUtil
class webqtlFormData:
'Represents data from a WebQTL form page, needed to generate the next page'
+
attrs = ('formID','RISet','genotype','strainlist','allstrainlist',
'suggestive','significance','submitID','identification', 'enablevariance',
'nperm','nboot','email','incparentsf1','genotype_1','genotype_2','traitInfo')
diff --git a/wqflask/wqflask/show_trait/DataEditingPage.py b/wqflask/wqflask/show_trait/DataEditingPage.py
index 643db81d..8ee1d9c8 100755
--- a/wqflask/wqflask/show_trait/DataEditingPage.py
+++ b/wqflask/wqflask/show_trait/DataEditingPage.py
@@ -244,6 +244,7 @@ class DataEditingPage(templatePage):
self.sample_groups['primary_only'] = fd.RISet + " Only"
self.sample_groups['other_only'] = "Non-" + fd.RISet
self.sample_groups['all_cases'] = "All Cases"
+ self.js_data = dict(sample_groups = self.sample_groups)
#self.basic_table['columns'] = yaml.load("""
diff --git a/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.coffee b/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.coffee
index 5c153ccb..16dd2571 100644
--- a/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.coffee
+++ b/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.coffee
@@ -20,7 +20,7 @@ $ ->
$(".stats_mdp").change(stats_mdp_change)
update_stat_values = (the_values)->
- for category in ['primary', 'other', 'all']
+ for category in ['primary_only', 'other_only', 'all_cases']
id = "#" + process_id(category, "mean")
console.log("id:", id)
total = 0
@@ -52,9 +52,9 @@ $ ->
edit_data_change = ->
the_values =
- primary: []
- other: []
- all: []
+ primary_only: []
+ other_only: []
+ all_cases: []
console.log("at beginning:", the_values)
values = $('#value_table').find(".edit_strain_value")
#console.log("values are:", values)
@@ -73,20 +73,23 @@ $ ->
if is_number(real_value) and real_value != ""
real_value = parseFloat(real_value)
if _(category).startsWith("Primary")
- the_values.primary.push(real_value)
+ the_values.primary_only.push(real_value)
else if _(category).startsWith("Other")
- the_values.other.push(real_value)
- the_values.all.push(real_value)
- console.log("torwads end:", the_values)
+ the_values.other_only.push(real_value)
+ the_values.all_cases.push(real_value)
+ console.log("towards end:", the_values)
update_stat_values(the_values)
make_table = ->
header = " | "
- for column in basic_table['columns']
- console.log("column:", column)
- the_id = process_id("column", column.t)
- header += """#{ column.n } | """
+ console.log("js_data.sample_groups:", js_data.sample_groups)
+ for key, value of js_data.sample_groups
+ console.log("aa key:", key)
+ console.log("aa value:", value)
+ the_id = process_id("column", key)
+ header += """#{ value } | """
header += "
"
+ console.log("windex header is:", header)
rows = [
{
@@ -114,9 +117,10 @@ $ ->
console.log("rowing")
row_line = """
"""
row_line += """#{ row.pretty } | """
- for column in basic_table['columns']
- console.log("apple:", column)
- the_id = process_id(column.t, row.vn)
+ console.log("box - js_data.sample_groups:", js_data.sample_groups)
+ for key, value of js_data.sample_groups
+ console.log("apple key:", key)
+ the_id = process_id(key, row.vn)
console.log("the_id:", the_id)
row_line += """foo | """
row_line += """
"""
@@ -152,10 +156,9 @@ $ ->
$('#show_hide_outliers').val("Hide Outliers")
console.log("Should be now Hide Outliers")
-
- ###
- Calculate Correlations Code
- ###
+
+ #Calculate Correlations Code
+
on_corr_method_change = ->
console.log("in beginning of on_corr_method_change")
@@ -181,9 +184,9 @@ $ ->
#
#$('#corr_compute').click(on_corr_submit)
- ###
- End Calculate Correlations Code
- ###
+
+ #End Calculate Correlations Code
+
console.log("before registering show_hide_outliers")
@@ -195,7 +198,7 @@ $ ->
console.log("loaded")
#console.log("basic_table is:", basic_table)
# Add back following two lines later
- #make_table()
- #edit_data_change() # Set the values at the beginning
+ make_table()
+ edit_data_change() # Set the values at the beginning
#$("#all-mean").html('foobar8')
console.log("end")
diff --git a/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.js b/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.js
index 55acbada..0b49dde3 100644
--- a/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.js
+++ b/wqflask/wqflask/static/new/javascript/trait_data_and_analysis.js
@@ -29,7 +29,7 @@
$(".stats_mdp").change(stats_mdp_change);
update_stat_values = function(the_values) {
var category, current_mean, current_n_of_samples, id, in_box, n_of_samples, the_mean, total, value, _i, _j, _len, _len1, _ref, _ref1, _results;
- _ref = ['primary', 'other', 'all'];
+ _ref = ['primary_only', 'other_only', 'all_cases'];
_results = [];
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
category = _ref[_i];
@@ -72,9 +72,9 @@
edit_data_change = function() {
var category, checkbox, checked, real_value, row, the_values, value, values, _i, _len;
the_values = {
- primary: [],
- other: [],
- all: []
+ primary_only: [],
+ other_only: [],
+ all_cases: []
};
console.log("at beginning:", the_values);
values = $('#value_table').find(".edit_strain_value");
@@ -94,27 +94,30 @@
if (is_number(real_value) && real_value !== "") {
real_value = parseFloat(real_value);
if (_(category).startsWith("Primary")) {
- the_values.primary.push(real_value);
+ the_values.primary_only.push(real_value);
} else if (_(category).startsWith("Other")) {
- the_values.other.push(real_value);
+ the_values.other_only.push(real_value);
}
- the_values.all.push(real_value);
+ the_values.all_cases.push(real_value);
}
}
- console.log("torwads end:", the_values);
+ console.log("towards end:", the_values);
return update_stat_values(the_values);
};
make_table = function() {
- var column, header, row, row_line, rows, table, the_id, the_rows, _i, _j, _k, _len, _len1, _len2, _ref, _ref1;
+ var header, key, row, row_line, rows, table, the_id, the_rows, value, _i, _len, _ref, _ref1;
header = " | ";
- _ref = basic_table['columns'];
- for (_i = 0, _len = _ref.length; _i < _len; _i++) {
- column = _ref[_i];
- console.log("column:", column);
- the_id = process_id("column", column.t);
- header += "" + column.n + " | ";
+ console.log("js_data.sample_groups:", js_data.sample_groups);
+ _ref = js_data.sample_groups;
+ for (key in _ref) {
+ value = _ref[key];
+ console.log("aa key:", key);
+ console.log("aa value:", value);
+ the_id = process_id("column", key);
+ header += "" + value + " | ";
}
header += "
";
+ console.log("windex header is:", header);
rows = [
{
vn: "n_of_samples",
@@ -133,16 +136,17 @@
console.log("rows are:", rows);
the_rows = "";
console.log("length of rows:", rows.length);
- for (_j = 0, _len1 = rows.length; _j < _len1; _j++) {
- row = rows[_j];
+ for (_i = 0, _len = rows.length; _i < _len; _i++) {
+ row = rows[_i];
console.log("rowing");
row_line = "";
row_line += "" + row.pretty + " | ";
- _ref1 = basic_table['columns'];
- for (_k = 0, _len2 = _ref1.length; _k < _len2; _k++) {
- column = _ref1[_k];
- console.log("apple:", column);
- the_id = process_id(column.t, row.vn);
+ console.log("box - js_data.sample_groups:", js_data.sample_groups);
+ _ref1 = js_data.sample_groups;
+ for (key in _ref1) {
+ value = _ref1[key];
+ console.log("apple key:", key);
+ the_id = process_id(key, row.vn);
console.log("the_id:", the_id);
row_line += "foo | ";
}
@@ -186,10 +190,6 @@
return console.log("Should be now Hide Outliers");
}
};
- /*
- Calculate Correlations Code
- */
-
on_corr_method_change = function() {
var corr_method;
console.log("in beginning of on_corr_method_change");
@@ -199,16 +199,14 @@
return $('#' + corr_method + "_r_desc").show().effect("highlight");
};
$('select[name=corr_method]').change(on_corr_method_change);
- /*
- End Calculate Correlations Code
- */
-
console.log("before registering show_hide_outliers");
$('#show_hide_outliers').click(show_hide_outliers);
console.log("after registering show_hide_outliers");
_.mixin(_.str.exports());
$('#value_table').change(edit_data_change);
console.log("loaded");
+ make_table();
+ edit_data_change();
return console.log("end");
});
diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html
index 09094fc6..afcd06d0 100644
--- a/wqflask/wqflask/templates/search_result_page.html
+++ b/wqflask/wqflask/templates/search_result_page.html
@@ -39,7 +39,7 @@
To add one or more records to your Selection window, use the checkbox and then click the Add to Collection button.
-