Browse Source

Fixed bug with coloring nodes in phylo trees

Stephen Ficklin 7 years ago
parent
commit
4d9237655d

+ 2 - 2
tripal_chado/api/modules/tripal_chado.organism.api.inc

@@ -273,7 +273,7 @@ function tripal_autocomplete_organism($text) {
   $matches = array();
   $genus = $text;
   $species = '';
-  if (preg_match('/^(.*?) (.*)$/', $text, $matches)) {
+  if (preg_match('/^(.*?)\s+(.*)$/', $text, $matches)) {
     $genus = $matches[1];
     $species = $matches[2];
   }
@@ -289,7 +289,7 @@ function tripal_autocomplete_organism($text) {
   $results = chado_query($sql, $args);
   $items = array();
   foreach ($results as $organism) {
-    $name = $organism->genus . ' ' .$organism->species;
+    $name = tripal_get_organism_scientific_name($organism);
     $items["$name [id: $organism->organism_id]"] = $name;
   }
   drupal_json_output($items);

+ 4 - 3
tripal_chado/includes/tripal_chado.phylotree.inc

@@ -33,10 +33,11 @@ function tripal_phylogeny_prepare_tree_viewer($phylotree) {
   $color_defaults = variable_get("tripal_phylogeny_org_colors", array('1' => array('organism' => '', 'color' => '')));
   foreach ($color_defaults as $i => $details) {
     if ($details['organism']) {
-      $colors[$details['organism']] =  $details['color'];
+      // Strip the [id:xxx] from the name
+      $organism_id = preg_replace('/^.+\[id: (\d+)\].*$/', '\1', $details['organism']);
+      $colors[$organism_id] =  $details['color'];
     }
   }
-  $colors = json_encode($colors);
 
   drupal_add_js(array(
     'tripal_chado' => array(
@@ -377,7 +378,7 @@ function tripal_phylogeny_default_plots_form($form, &$form_state) {
     $form['node_settings']['org_table']['organism_' . $i] = array(
       '#type' => 'textfield',
       '#default_value' => array_key_exists($i, $color_defaults) ? $color_defaults[$i]['organism'] : '',
-      '#autocomplete_path' => "admin/tripal/legacy/tripal_organism/organism/auto_name",
+      '#autocomplete_path' => "admin/tripal/storage/chado/auto_name/organism",
       '#description' => t('Please enter the name of the organism.'),
       '#size' => 30,
     );

+ 1 - 1
tripal_chado/theme/js/tripal_phylogeny.js

@@ -41,7 +41,7 @@
     var organism_color = Drupal.settings.tripal_chado.org_colors;
     var color = null;
     if (d.genus) {
-      color = organism_color[d.genus + ' ' + d.species];
+      color = organism_color[d.organism_id];
     }
     if (color) { 
       return color; 

+ 3 - 1
tripal_chado/tripal_chado.module

@@ -834,7 +834,9 @@ function tripal_chado_theme($existing, $type, $theme, $path) {
       'render element' => 'form',
       'file' => 'includes/tripal_chado.pub_search.inc',
     ),
-
+    'tripal_phylogeny_admin_org_color_tables' => array(
+      'render element' => 'element',
+    )
 
   );