app/views/interaction_claims/interaction_search_results.html.haml
- known_drug_partners_per_gene = DataModel::Interaction.group(:gene_id).count
- known_gene_partners_per_drug = DataModel::Interaction.group(:drug_id).count
#notice= notice
=content_for :title do
=tx "title"
- if @search_mode.nil?
- @search_mode = @search_results.get_context
=content_for :header do
%h2
=tx "title_main"
%small
- if @search_mode == 'genes'
=tx "title_small"
- else
=tx "title_small_drugs"
- if @related_source_gene
= @related_source_gene
%a(href="/faq#difference")
=icon('question-sign')
.container-fluid.search-results
.tabbable
%ul.nav.nav-tabs
%li.active
%a(href="#successful" data-toggle="tab") Unique Matches
%li
%a(href="#failed" data-toggle="tab") Ambiguous or Unmatched
.tab-content{style: "margin-top: 12px; background: white;"}
.tab-pane.active#successful
.row-fluid#container
.span12
- definite_results = @search_results.definite_results
- definite_no_interactions = @search_results.definite_no_interactions
= render partial: 'interaction_claims/interaction_search_successful', locals: {definite_results: definite_results, definite_no_interactions: definite_no_interactions, known_drug_partners_per_gene: known_drug_partners_per_gene, known_gene_partners_per_drug: known_gene_partners_per_drug} #use @search_mode to determine type of view, just use one set of templates
.tab-pane.fade#failed
.row-fluid#container
.span12
- ambiguous_results = @search_results.ambiguous_results
- ambiguous_no_interactions = @search_results.ambiguous_no_interactions
- failed_results = @search_results.no_results_results
- if failed_results.any?
- failed_terms = failed_results.flat_map{|result| result.search_terms}
- else
- failed_terms = []
= render partial: 'interaction_claims/interaction_search_failed', locals: {ambiguous_results: ambiguous_results, ambiguous_no_interactions: ambiguous_no_interactions, failed_terms: failed_terms, known_drug_partners_per_gene: known_drug_partners_per_gene, known_gene_partners_per_drug: known_gene_partners_per_drug}
:javascript
$(".sidebar-toggle").on("click", function() {
name = "#" + this.name;
$(name).toggle();
});
$(".ambiguous.search-term").on("click", function() {
name = "." + this.name;
$(name).click();
});
$('table').each(function(index){
$(this).find('> tbody > tr').hide().slice(0, 11).show();
});
$(".show-all").on("click", function(context) {
var table_id = context.target.value
var tbl = $('#'.concat(table_id));
$("tbody > tr", tbl).show();
$("#nrows", $(this).next().next().next()).html(tbl.find('tr:visible').length - 1);
});
$(".show-more").on("click", function(context) {
var table_id = context.target.value
var tbl = $('#'.concat(table_id));
$("tbody > tr", tbl).slice(0, tbl.find('tr:visible').length + 10).show();
$("#nrows", $(this).next().next()).html(tbl.find('tr:visible').length - 1);
});
$(".show-less").on("click", function(context) {
var table_id = context.target.value
var tbl = $('#'.concat(table_id));
tbl.find('> tbody > tr').hide().slice(0, 11).show();
$("#nrows", $(this).next()).html(tbl.find('tr:visible').length - 1);
});
$(document).ready(function () {
var activeTab = $('#' + window.location.hash.substr(2));
if(activeTab.length) {
$('a[href="' + "#" + window.location.hash.substr(2) + '"]').trigger('click');
} else {
$('a[href="' + "#successful" + '"]').trigger('click');
}
});
window.addEventListener("popstate", function() {
var activeTab = $('#' + window.location.hash.substr(2));
if (activeTab.length) {
$('a[href="' + "#" + window.location.hash.substr(2) + '"]').trigger('click');
} else {
$('a[href="' + "#successful" + '"]').trigger('click');
}
});
$(".tabbable > ul > li > a").click(function () {
window.location.hash = "_" + $(this).attr('href').substr(1);
return true;
});