6 $editable_stock_props => {}
7 $editable_stock_props_definitions => {}
9 $management_factor_types => ()
13 <& /util/import_javascript.mas, classes => [ 'jstree.dist.jstree', 'bootstrap_min.js', 'jquery.iframe-post-form', 'CXGN.List', 'CXGN.BreedersToolbox.AddTrial','CXGN.BreedersToolbox.UploadTrial','CXGN.BreedersToolbox.Trial', 'CXGN.Trial','CXGN.BreedersToolbox.GenotypingTrial','CXGN.BreedersToolbox.Accessions', 'CXGN.BreedersToolbox.UploadPedigrees','CXGN.BreedersToolbox.Crosses','CXGN.BreedersToolbox.FieldBook','CXGN.BreedersToolbox.UploadPhenotype', 'CXGN.BreederSearch', 'CXGN.Trial','CXGN.TrialTreeFolders' ] &>
15 <& /util/import_css.mas, paths => ['/static/documents/inc/jstree_theme/jstree-bstheme-min.css'] &>
17 <& /breeders_toolbox/folder/folder_set.mas, project_type => 'field_trial' &>
18 <& /breeders_toolbox/folder/folder_new.mas, project_type => 'field_trial' &>
19 <& /breeders_toolbox/folder/folder_move.mas, project_type => 'field_trial' &>
20 <& /breeders_toolbox/folder/folders_edit.mas, folder_tree_type => 'Trial', folder_tree_identifier => 'trial_list', folder_tree_refresh_name => 'refresh_jstree_html' &>
22 <& /breeders_toolbox/trial/trial_create_dialogs.mas, locations => \@locations, breeding_programs => $breeding_programs, management_factor_types => $management_factor_types, design_types => $design_types &>
24 <& /breeders_toolbox/trial/download_trials_phenotypes_dialog.mas &>
26 <& /breeders_toolbox/trial/trial_upload_dialogs.mas, locations => \@locations, breeding_programs => $breeding_programs, design_types => $design_types &>
27 <& /breeders_toolbox/add_accessions_dialogs.mas, preferred_species=>$preferred_species, editable_stock_props=>$editable_stock_props, editable_stock_props_definitions=>$editable_stock_props_definitions &>
28 <& /breeders_toolbox/upload_seedlots_dialogs.mas &>
29 <& /breeders_toolbox/add_seedlot_dialogs.mas, timestamp=>$timestamp &>
31 <table class="table table-bordered">
35 <th>Breeding Programs -- Folders -- Trials <button class="btn btn-sm btn-default" id="refresh_jstree_html_trialtree_button" name="refresh_jstree_html">Refresh</button></th>
42 <input type="text" class="form-control input-sm" id="trial_tree_search" placeholder="Search" />
44 <h4>Download Trial Phenotypes</h4>
45 <h5><i>Select multiple trials by holding 'Ctrl'.</i></h5>
46 <button class="btn btn-primary" id="trials_download_phenotypes_button" disabled="disabled" title="First Select Trial(s) to Download">Download Phenotypes</button>
48 <h5><i>Double click<br />trial ( <span class="glyphicon glyphicon-leaf text-success"></span> ) or folder ( <span class="glyphicon glyphicon-folder-open text-danger"></span> )<br/>to view detail page.</i></h5>
49 <h5><i>Breeding programs ( <span class="glyphicon glyphicon-briefcase text-info"></span> )</i></h5>
50 <h5><i>Genotyping data projects ( <span class="glyphicon glyphicon-align-left text-warning"></span> )</i></h5>
51 <h5><i>Analyses ( <span class="glyphicon glyphicon-stats text-success"></span> )</i></h5>
52 <h5><i>Sampling trials ( <span class="glyphicon glyphicon-th text-success"></span> )</i></h5>
55 <button class="btn btn-sm btn-default" id="new_folder_dialog_link">Create new folder</button><br/><br/>
56 <button class="btn btn-sm btn-default" id="open_folder_dialog_link">Move trial(s) to folder</button><br/><br/>
57 <button class="btn btn-sm btn-default" id="move_folder_dialog_link">Move folder</button>
59 <div id="folder_edit_options" style="display:none">
61 <h5><i>Select multiple folders by holding 'Ctrl'.</i></h5>
62 <button class="btn btn-primary" id="edit_folders_button" title="First Select Folder(s) to Edit">Edit Folder(s)</button>
66 <!--<button id="delete" disabled="disabled" >Delete</button -->
70 <div id="trial_list" >[loading...]</div>
81 jQuery(document).ready(function($) {
84 url: '/ajax/breeders/get_trials_with_folders_cached?type=trial',
85 success: function(response) {
86 var html = '<ul>'+response.html+'</ul>';
88 jQuery('#trial_list').html(html);
90 jQuery('#trial_list').jstree( {
91 "core": { 'themes': { 'name': 'proton', 'responsive': true}},
92 "valid_children" : [ "folder", "trial", "breeding_program", "genotyping_data_project", "analyses" ],
94 "breeding_program" : {
95 "icon": 'glyphicon glyphicon-briefcase text-info',
98 "icon": 'glyphicon glyphicon-folder-open text-danger',
101 "icon": 'glyphicon glyphicon-leaf text-success',
103 "genotyping_data_project" : {
104 "icon": 'glyphicon glyphicon-align-left text-warning',
107 "icon": 'glyphicon glyphicon-stats text-success',
110 "icon": 'glyphicon glyphicon-th text-success',
112 "pcr_genotyping_data_project" : {
113 "icon": 'glyphicon glyphicon-align-left text-warning',
117 "case_insensitive" : true,
119 "plugins" : ["html_data","types","search"],
124 error: function(response) {
125 alert("An error occurred while loading the trial data.");
129 jQuery('#refresh_jstree_html_trialtree_button').click(function(){
131 url: '/ajax/breeders/get_trials_with_folders_cached?type=trial',
132 success: function(response) {
133 var html = '<ul>'+response.html+'</ul>';
135 jQuery('#trial_list').html(html);
137 jQuery('#trial_list').jstree( {
138 "core": { 'themes': { 'name': 'proton', 'responsive': true}},
139 "valid_children" : [ "folder", "trial", "breeding_program", "genotyping_data_project", "analyses", "sampling_trial" ],
141 "breeding_program" : {
142 "icon": 'glyphicon glyphicon-briefcase text-info',
145 "icon": 'glyphicon glyphicon-folder-open text-danger',
148 "icon": 'glyphicon glyphicon-leaf text-success',
150 "genotyping_data_project" : {
151 "icon": 'glyphicon glyphicon-align-left text-warning',
154 "icon": 'glyphicon glyphicon-stats text-success',
157 "icon": 'glyphicon glyphicon-th text-success',
161 "case_insensitive" : true,
163 "plugins" : ["html_data","types","search"],
168 error: function(response) {
169 alert("An error occurred while loading the trial data.");
174 jQuery("#trial_tree_search").keyup(function() {
175 var v = jQuery("#trial_tree_search").val();
176 jQuery("#trial_list").jstree(true).search(v);
181 jQuery('#trial_list').on("changed.jstree", function (e, data) {
183 if ($('#trial_list').jstree('is_leaf', data.node) && data.node.data.jstree.type == 'trial') {
184 jQuery('#trials_download_phenotypes_button').removeAttr('disabled');
185 jQuery("#folder_edit_options").hide();
187 else if ($('#trial_list').jstree('is_leaf', data.node) && data.node.data.jstree.type == 'folder') {
188 jQuery('#trials_download_phenotypes_button').attr('disabled', 'disabled');
189 jQuery("#folder_edit_options").show();
192 jQuery('#trials_download_phenotypes_button').attr('disabled', 'disabled');
193 jQuery("#folder_edit_options").hide();
198 $("#trial_list").delegate("li", "dblclick", function(event){
199 var node = $("#trial_list").jstree("get_node", this);
201 if (node.id.substr(0,1) !== 'j') {
202 if (node.type == 'folder') {
203 window.open('/folder/'+node.id);
204 event.stopPropagation();
205 } else if (node.type == 'breeding_program') {
206 window.open('/breeders/program/'+node.id);
207 event.stopPropagation();
208 } else if (node.type == 'analyses') {
209 window.open('/analyses/'+node.id);
210 event.stopPropagation();
211 } else if (node.type == 'genotyping_data_project') {
212 window.open('/breeders_toolbox/trial/'+node.id);
213 event.stopPropagation();
214 } else if (node.type == 'trial') {
215 window.open('/breeders_toolbox/trial/'+node.id);
216 event.stopPropagation();
217 } else if (node.type == 'sampling_trial') {
218 window.open('/breeders_toolbox/trial/'+node.id);
219 event.stopPropagation();