6 $identifier_prefix => ''
11 <& /util/import_javascript.mas, classes => ["jquery", "jqueryui", "thickbox", "CXGN.Page.FormattingHelpers", "jquery.cookie", "CXGN.List"] &>
13 <& /page/page_title.mas, title => "Details for family '$family_name'" &>
15 <&| /page/info_section.mas, title => "Family information" &>
16 <div class="panel panel-default">
17 <div class="panel-body">
19 <div class="col-sm-6">`
21 object_type=>'family_name',
22 object_id=> $family_id,
23 form_name=> 'stock_form',
24 server_side_script => '/phenome/stock/stock_ajax_form.pl',
25 form_div_name=>'stock_details',
26 js_object_name=> 'stockForm',
27 page_url => "/family/$family_id" ,
28 alternate_new_button => '',
29 alternate_ghosted_new_button => '',
30 alternate_delete_button => '',
31 alternate_ghosted_delete_button => ''
34 <div class="col-sm-6">
36 <& /util/barcode.mas, identifier => "$identifier_prefix"."$family_id", text=> "$identifier_prefix stock $family_id ($family_name)", format=>"stock_qrcode" &>
44 <& /util/import_javascript.mas, classes => ['jquery','jquery.dataTables'] &>
45 <& /util/import_css.mas, paths => ['/documents/inc/datatables/jquery.dataTables.css'] &>
47 <&| /page/info_section.mas, title => "Parents: ($family_type_string)", collapsible=>1, collapsed=>0 &>
48 <div class = "well well-sm">
49 <div class = "panel panel-default">
50 <div class = "panel-body">
51 <table id = "family_parent_information" class="table table-hover table-striped">
54 % if ($family_type eq 'same_parents') {
55 <th>Female Parent</th>
56 <th>Female Stock Type</th>
57 <th>Female Ploidy</th>
59 <th>Male Stock Type</th>
61 % } elsif ($family_type eq 'reciprocal_parents') {
63 <th>Parent 1 Stock Type</th>
64 <th>Parent 1 Ploidy</th>
66 <th>Parent 2 Stock Type</th>
67 <th>Parent 2 Ploidy</th>
77 <&| /page/info_section.mas, title => 'Crosses in this family', collapsible=>1, collapsed=>0 &>
78 <div class = "well well-sm">
79 <div class = "panel panel-default">
80 <div class = "panel-body">
81 <div style="overflow:scroll">
82 <table class="table table-hover table-bordered" id="crosses_in_family_table">
85 <div class="panel panel-default">
86 <div class="panel-body">
87 <&| /page/info_section.mas, title => 'Add Crosses to a List', collapsible=>1, collapsed=>1, subtitle=>'<i>Adding crosses in this family to a new or exisiting list</i>'&>
89 <div id="members_to_new_list" style="display:none"></div>
90 <div id="members_add_to_list"></div>
99 <&| /page/info_section.mas, title => 'Progenies', collapsible=>1, collapsed=>0 &>
100 <div class = "well well-sm">
101 <div class = "panel panel-default">
102 <div class = "panel-body">
103 <div style="overflow:scroll">
104 <table class="table table-hover table-bordered" id="all_progenies">
107 <div class="panel panel-default">
108 <div class="panel-body">
109 <&| /page/info_section.mas, title => 'Add progenies to a List', collapsible=>1, collapsed=>1, subtitle=>'<i>Adding progenies of this family to a new or exisiting list</i>'&>
111 <div id="progenies_to_new_list" style="display:none"></div>
112 <div id="progenies_add_to_list"></div>
123 jQuery(document).ready(function(){
125 var family_id = "<% $family_id %>";
127 var family_parent_table = jQuery('#family_parent_information').DataTable({
128 'ajax': '/ajax/family/parents/'+family_id,
134 var crosses_in_family = jQuery('#crosses_in_family_table').DataTable({
135 'ajax': '/ajax/family/members/'+family_id,
138 { title: "Cross Unique ID", "data": null, "render": function ( data, type, row ) { return "<a href='/cross/"+row.cross_id+"'>"+row.cross_name+"</a>"; } },
139 { title: "Cross Type", "data": "cross_type" },
140 { title: "Number of Progenies", "data": "progeny_number" },
141 { title: "Crossing Experiment", "data": null, "render": function ( data, type, row ) { return "<a href='/breeders/trial/"+row.crossing_experiment_id+"'>"+row.crossing_experiment_name+"</a>"; } },
143 "fnInitComplete": function(oSettings, json) {
146 jQuery('#members_add_to_list').html("<div class='well well-sm'><h3>Please login to use lists!</h3></div>");
149 for(var i=0; i<json.data.length; i++){
150 html += json.data[i].cross_name+"\n";
152 jQuery("#members_to_new_list").html(html);
153 addToListMenu("members_add_to_list", "members_to_new_list", {
161 var progenies = jQuery('#all_progenies').DataTable({
162 'ajax': '/ajax/family/all_progenies/'+family_id,
165 { title: "Progeny Name", "data": null, "render": function ( data, type, row ) { return "<a href='/stock/"+row.progeny_id+"/view'>"+row.progeny_name+"</a>"; } },
166 { title: "Cross Unique ID", "data": null, "render": function ( data, type, row ) { return "<a href='/cross/"+row.cross_id+"'>"+row.cross_name+"</a>"; } },
168 "fnInitComplete": function(oSettings, json) {
171 jQuery('#progenies_add_to_list').html("<div class='well well-sm'><h3>Please login to use lists!</h3></div>");
174 for(var i=0; i<json.data.length; i++){
175 html += json.data[i].progeny_name+"\n";
177 jQuery("#progenies_to_new_list").html(html);
178 addToListMenu("progenies_add_to_list", "progenies_to_new_list", {
180 listType: 'accessions',