فهرست منبع

Improved themeing for the feature module

spficklin 14 سال پیش
والد
کامیت
02b6ac29d9

+ 52 - 52
theme_tripal/css/tripal.css

@@ -1,68 +1,68 @@
-
-
-table.tripal_table_vert {
-   width: 0px;  /* reset the table width */
+.tripal-info-box {
+   width: 100%;
 }
-
-tbody.tripal_table_vert, tbody th {
-   border: 0px solid #CCCCCC;
-   padding: 0px;
+.tripal-table {
+   width: 100%; 
 }
-
-table.tripal_table_horz {
-   width: 0px;  /* reset the table width */
+.tripal-table-horz {
+   border-top: 2px solid #999999;
+   border-bottom: 2px solid #999999; 
 }
 
-tbody.tripal_table_horz, tbody th {
-   border: 0px solid #CCCCCC;
-   padding: 5px 15px 10px 0px;
-   margin: 0px;
+/* settings for vertical tables (headers across left-side) */
+.tripal-info-box table.tripal-table-vert .tripal-table-even-row th {
+   background-color: #EEEEEE;
+   font-weight: none;
+   text-align: right;
 }
-
-td.tripal_table_horz, td {  
-   padding: 0px 15px 5px 0px;
-   margin: 0px;
+.tripal-info-box table.tripal-table-vert .tripal-table-odd-row th {
+   background-color: #FFFFFF;
+   text-align: right;
 }
-
-.tripal_expandableBox {
-   padding: 10px 10px 10px 10px;
-   border: 1px solid #CCC5AE;
-   cursor: pointer; /* hand-shaped cursor */
-   background-image: url("../images/arrow-up-48x48.png");
-   background-repeat: no-repeat;
-   background-position: top right; 
-   background-color: #EEEFFF;
+.tripal-info-box table.tripal-table-vert .tripal-table-even-row {
+   background-color: #EEEEEE;
+   border-top: 1px solid #CCCCCC;
+   border-bottom: 1px solid #CCCCCC;
 }
-
-.tripal_expandableBoxContent{
-   margin: 0 0 0 0;
-   padding: 5px 5px 5px 5px;
-   clear:both;
-   border-right: 1px solid #CCC5AE;
-   border-bottom: 1px solid #CCC5AE;
-   border-left: 1px solid #CCC5AE;
+.tripal-info-box table.tripal-table-vert .tripal-table-odd-row {
    background-color: #FFFFFF;
-   font-size: small;
-   overflow: auto;
+   border-top: 1px solid #CCCCCC;
+   border-bottom: 1px solid #CCCCCC;
 }
-
-.tripal_expandableSubBoxContent{
-   padding: 5px 5px 5px 5px;
-   clear:both;
-   border-right: 1px solid #CCC5AE;
-   border-bottom: 1px solid #CCC5AE;
-   border-left: 1px solid #CCC5AE;
-   border-top: 1px solid #CCC5AE;
-   background-color: #EEFEEE;
-   overflow: auto;
-   min-height: 150px;
-   font-family: courier;
+/* settings for horizontal tables (headers across top) */
+.tripal-info-box table.tripal-table-horz th {
+   background-color: #EEEEFF;
+   font-weight: none;
+   text-align: left;
+}
+.tripal-info-box table.tripal-table-horz .tripal-table-even-row {
+   background-color: #FFFFFF;
+   font-weight: none;
+   text-align: left;
+   border-top: 1px solid #CCCCCC;
+   border-bottom: 1px solid #CCCCCC;
+}
+.tripal-info-box table.tripal-table-horz .tripal-table-odd-row {
+   background-color: #EEEEEE;
+   text-align: left;
+   border-top: 1px solid #CCCCCC;
+   border-bottom: 1px solid #CCCCCC;
 }
 
-#tripal_expandableBox_toggle_button {
-   cursor: pointer; /* hand-shaped cursor */
+.tripal-info-box-title {
+  font-size: 2em;
+  padding-top: 20px;
+
+}
+/* hide the title when inside of a block on a panel */
+.pane-block .tripal-info-box-title {
+   visibility: hidden;
+   padding: 0;
+   margin: 0;
+   height: 0px;
 }
 
+/* Ajax loader */
 #tripal_ajaxLoading {
    position: fixed;
    top: 40%;

+ 9 - 13
theme_tripal/css/tripal_feature.css

@@ -1,34 +1,30 @@
-/* styles for the sequence blocks on the feature page */
-pre#tripal_feature-sequence {
-   background-color: #FFFFFF;
-   border: 0;
-   margin: 0;
-   margin-top: 10px;
-   padding: 0;
+#tripal_feature-featureloc_sequence {
+  height: 300px;
+  overflow: scroll;
 }
 
-div#tripal_feature-sequence-legend {
+div#tripal_feature-featureloc_sequence-legend {
    padding: 10px;
    margin: 10px;
 }
 /* styles for cvterm types in sequences */
-div#tripal_feature-sequence-legend span {
+div#tripal_feature-featureloc_sequence-legend span {
    margin: 5px;
    padding: 10px;
 }
-span.tripal_feature-sequence-five_prime_UTR {
+span.tripal_feature-featureloc_sequence-five_prime_UTR {
    background-color: #99FF99;
 }
 
-span.tripal_feature-sequence-three_prime_UTR {
+span.tripal_feature-featureloc_sequence-three_prime_UTR {
    background-color: #FF9999;
 }
 
-span.tripal_feature-sequence-CDS {
+span.tripal_feature-featureloc_sequence-CDS {
    background-color: #FFFF99;
 }
 
-span.tripal_feature-sequence-mRNA {
+span.tripal_feature-featureloc_sequence-mRNA {
    background-color: #FFFF99;
 }
 /* information tables on the feature pages */

+ 49 - 0
theme_tripal/tripal_feature/tripal_feature_base.tpl.php

@@ -0,0 +1,49 @@
+<?php
+
+$feature  = $variables['node']->feature;
+$accession = $variables['node']->accession;
+$organism = $variables['node']->organism;
+$org_nid = $variables['node']->org_nid;
+
+?>
+<div id="tripal_feature-base-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title">Feature Details</div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc"></div>
+
+   <?php if($feature->is_obsolete == 't'){ ?>
+      <div class="tripal_feature-obsolete">This feature is obsolete and no longer used in analysis, but is here for reference</div>
+   <?php }?>
+   <table class="tripal_feature-table tripal-table tripal-table-vert">
+      <tr class="tripal_feature-table-odd-row tripal-table-even-row">
+        <th>Name</th>
+        <td><?php print $feature->featurename; ?></td>
+      </tr>
+      <tr class="tripal_feature-table-odd-row tripal-table-odd-row">
+        <th nowrap>Unique Name</th>
+        <td><?php print $feature->uniquename; ?></td>
+      </tr>
+      <tr class="tripal_feature-table-odd-row tripal-table-even-row">
+        <th>Internal ID</th>
+        <td><?php print $accession; ?></td>
+      </tr>
+      <tr class="tripal_feature-table-odd-row tripal-table-odd-row">
+        <th>Length</th>
+        <td><?php print $feature->seqlen ?></td>
+      </tr>
+      <tr class="tripal_feature-table-odd-row tripal-table-even-row">
+        <th>Type</th>
+        <td><?php print $feature->cvname; ?></td>
+      </tr>
+      <tr class="tripal_feature-table-odd-row tripal-table-odd-row">
+        <th>Organism</th>
+        <td>
+          <?php if ($node->org_nid) { ?>
+      	   <a href="<?php print url("node/$org_nid") ?>"><?php print $organism->genus ." " . $organism->species ." (" .$organism->common_name ." )"?></a>
+      	 <?php 
+          } else { 
+            print $organism->genus ." " . $organism->species ." (" .$organism->common_name ." )";
+          } ?>
+        </td>
+     	</tr>           	                                
+   </table>
+</div>

+ 12 - 0
theme_tripal/tripal_feature/tripal_feature_featureloc_sequences.tpl.php

@@ -0,0 +1,12 @@
+<?php
+$featureloc_sequences =  $variables['featureloc_sequences'];
+if($featureloc_sequences){
+   foreach($featureloc_sequences as $seq => $attrs){ ?>
+     <div id="tripal_feature-floc_seq-<?php print $attrs['type']?>-box" class="tripal_feature-info-box tripal-info-box">
+       <div class="tripal_feature-info-box-title tripal-info-box-title">Formatted <?php print $attrs['type']?> sequence </div>
+       <div class="tripal_feature-info-box-desc tripal-info-box-desc">The formatted <?php print $attrs['type']?> sequence </div>
+       <?php print $attrs['formatted_seq'] ?>
+     <div>        
+   <?php } 
+}?>
+

+ 43 - 0
theme_tripal/tripal_feature/tripal_feature_featurelocs_as_child.tpl.php

@@ -0,0 +1,43 @@
+<?php
+
+$featurelocs_as_child = $variables['featurelocs_as_child'];
+$feature = $variables['node']->feature;
+
+?>
+<div id="tripal_feature-featurelocs_as_child-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title">Features where <?php print $feature->featurename;?> is located</div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc">The <?php print $feature->featurename;?> feature is located relative to the following features:</div>
+  <table class="tripal_feature-table tripal-table tripal-table-horz">
+    <tr>
+      <th>Name</th>
+      <th>Type</th>
+      <th>Position</th>
+      <th>Phase</th>
+      <th>Strand</th>
+    </tr>
+    <?php
+      $i = 0; 
+      foreach ($featurelocs_as_child as $index => $loc){
+         $class = 'tripal_feature-table-odd-row tripal-table-odd-row';
+         if($i % 2 == 0 ){
+            $class = 'tripal_feature-table-odd-row tripal-table-even-row';
+         } 
+         $locname = $loc->name;
+         if($loc->nid){
+           $locname = "<a href=\"" . url("node/$loc->nid") . "\">$loc->name</a> ";
+         }
+         ?>
+         <tr class="<?php print $class ?>">
+           <td><?php print $locname ?></td>
+           <td><?php print $loc->cvname ?></td>
+           <td><?php print $loc->src_name .":".$loc->fmin . ".." . $loc->fmax ?></td>
+           <td><?php print $loc->phase ?></td>
+           <td><?php print $loc->strand ?></td>
+         </tr>
+         <?php
+         $i++;  
+      } ?>
+    </table>
+</div>
+
+

+ 43 - 0
theme_tripal/tripal_feature/tripal_feature_featurelocs_as_parent.tpl.php

@@ -0,0 +1,43 @@
+<?php
+
+$featurelocs_as_parent = $variables['featurelocs_as_parent'];
+$feature = $variables['node']->feature;
+
+?>
+<div id="tripal_feature-featurelocs_as_parent-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title">Features Located on <?php print $feature->featurename;?></div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc">The features shown below are located relative to <?php print $feature->featurename;?></div>
+  <table class="tripal_feature-table tripal-table tripal-table-horz">
+    <tr>
+      <th>Name</th>
+      <th>Type</th>
+      <th>Position</th>
+      <th>Phase</th>
+      <th>Strand</th>
+    </tr>
+    <?php
+      $i = 0; 
+      foreach ($featurelocs_as_parent as $index => $loc){
+         $class = 'tripal_feature-table-odd-row tripal-table-odd-row';
+         if($i % 2 == 0 ){
+            $class = 'tripal_feature-table-odd-row tripal-table-even-row';
+         } 
+         $locname = $loc->name;
+         if($loc->nid){
+           $locname = "<a href=\"" . url("node/$loc->nid") . "\">$loc->name</a> ";
+         }
+         ?>
+         <tr class="<?php print $class ?>">
+           <td><?php print $locname ?></td>
+           <td><?php print $loc->cvname ?></td>
+           <td><?php print $loc->src_name .":".$loc->fmin . ".." . $loc->fmax ?></td>
+           <td><?php print $loc->phase ?></td>
+           <td><?php print $loc->strand ?></td>
+         </tr>
+         <?php
+         $i++;  
+      } ?>
+    </table>
+</div>
+
+

+ 19 - 0
theme_tripal/tripal_feature/tripal_feature_libraries.tpl.php

@@ -0,0 +1,19 @@
+<!-- Add library information which this feature belongs to-->
+           	<?php if ($node->lib_additions) { ?>
+               <tr><th>Library</th><td>
+                  <?php
+                     $libraries = $node->lib_additions;
+                     foreach ($libraries as $lib_url => $lib_name) {
+                        // Check if library exists as a node in drupal
+                        if ($lib_url) {
+                  ?>
+                     <a href="<?php print $lib_url?>"><?php print $lib_name?></a><BR>
+                  <?php
+                        } else {
+                           print $lib_name;
+                        }
+                     }
+                  ?>
+               </td></tr>
+            <?php } ?>
+            <!-- End of library addition -->

+ 61 - 0
theme_tripal/tripal_feature/tripal_feature_references.tpl.php

@@ -0,0 +1,61 @@
+<?php
+
+/*
+
+References variables
+--------------------
+
+$variables['references']:  an array of references indexed 0 .. n, where 'n' the
+  number of references available for this feature.
+
+These variables are avaliable for each reference in the array:
+  
+  uniquename
+  feature_id
+  accession
+  dbdesc
+  db_id
+  db_name
+  urlprefix
+  dbxref_id
+
+*/
+
+$references = $variables['tripal_feature']['references'];
+$feature = $variables['node']->feature;
+
+?>
+<div id="tripal_feature-references-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title">References</div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc">The feature '<?php print $feature->featurename ?>' is also available at these locations</div>
+  <?php if(count($references) > 0){ ?>
+  <table class="tripal_feature-table tripal-table tripal-table-horz">
+    <tr>
+      <th>Dababase</th>
+      <th>Accession</th>
+    </tr>
+    <?php
+    $i = 0; 
+    foreach ($references as $result){ 
+      $class = 'tripal_feature-table-odd-row tripal-table-odd-row';
+      if($i % 2 == 0 ){
+         $class = 'tripal_feature-table-odd-row tripal-table-even-row';
+      }
+      ?>
+      <tr class="<?php print $class ?>">
+        <td><?php print $result->db_name?></td>
+        <td><?php 
+           if($result->urlprefix){ 
+              ?><a href="<?php print $result->urlprefix.$result->accession?>"><?php print $result->accession?></a><?php 
+           } else { 
+             print $result->accession; 
+           } 
+           ?>
+        </td>
+      </tr>
+      <?php
+      $i++;  
+    } ?>
+  </table>
+  <?php } ?>
+</div>

+ 53 - 0
theme_tripal/tripal_feature/tripal_feature_relationships_as_object.tpl.php

@@ -0,0 +1,53 @@
+<?php
+
+$object_relationships = $variables['object_relationships'];
+$feature = $variables['node']->feature;
+
+?>
+<div id="tripal_feature-subject_relationships-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title">Object Relationships</div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc">The feature '<?php print $feature->featurename ?>' has an object relationship with the following</div>
+  <?php if(count($object_relationships) > 0){ ?>
+  <table class="tripal_feature-table tripal-table tripal-table-horz">
+    <tr>
+      <th>Name</th>
+      <th>Type</th>
+      <th>Relationship</th>
+      <th>Position</th>
+    </tr>
+    <?php
+    $i = 0; 
+    foreach ($object_relationships as $result){   
+      $class = 'tripal_feature-table-odd-row tripal-table-odd-row';
+      if($i % 2 == 0 ){
+         $class = 'tripal_feature-table-odd-row tripal-table-even-row';
+      }
+      $subject_name = $result->subject_name;
+      if(!$subject_name){
+         $subject_name = $result->subject_uniquename;
+      }?>
+      <tr class="<?php print $class ?>">
+        <td>
+           <?php if(isset($result->subject_nid)){
+                  print "<a href=\"" . url("node/$result->subject_nid") . "\">$result->subject_name ($result->subject_type)</a> ";
+           } else {
+                  print "$subject_name";
+           }?>     
+        </td>
+        <td><?php print $result->subject_type?></td>
+        <td><b><?php print $result->rel_type?></b></td>
+        <td>
+           <?php
+           $featurelocs = $result->featurelocs;
+           if($featurelocs){
+              foreach($featurelocs as $src => $attrs){
+                 print "$attrs->src_name ($attrs->src_cvname):$attrs->fmin $attrs->fmax</br>";
+              } 
+           }?> 
+        </td>
+      </tr>
+    <?php } ?>
+  </table>
+  <?php }?>
+</div>
+

+ 41 - 0
theme_tripal/tripal_feature/tripal_feature_relationships_as_subject.tpl.php

@@ -0,0 +1,41 @@
+<?php
+
+$subject_relationships = $variables['subject_relationships'];
+$feature = $variables['node']->feature;
+
+?>
+<div id="tripal_feature-subject_relationships-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title">Subject Relationships</div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc">The feature '<?php print $feature->featurename ?>' has a subject relationship with the following</div>
+  <?php if(count($subject_relationships) > 0){ ?>
+  <table class="tripal_feature-table tripal-table tripal-table-horz">
+    <tr>
+      <th>Relationship</th>
+      <th>Feature</th>
+      <th>Type</th>
+    </tr>
+    <?php
+    $i = 0; 
+    foreach ($subject_relationships as $result){ 
+      $class = 'tripal_feature-table-odd-row tripal-table-odd-row';
+      if($i % 2 == 0 ){
+         $class = 'tripal_feature-table-odd-row tripal-table-even-row';
+      } ?>
+      <tr class="<?php print $class ?>">
+        <td><b><?php print $result->rel_type?></b></td>
+        <td> 
+           <?php if(isset($result->object_nid)){
+             print "<a href=\"" . url("node/$result->object_nid") . "\">$result->object_name</a> ";
+           } else {
+             print "$result->object_name ";
+           } ?>
+        </td>
+        <td><?php print $result->object_type?></td>          
+      </tr>
+      <?php
+      $i++;  
+    }?>
+  </table>
+  <?php } ?> 
+</div>
+

+ 17 - 0
theme_tripal/tripal_feature/tripal_feature_sequence.tpl.php

@@ -0,0 +1,17 @@
+<?php
+$feature = $variables['node']->feature;
+?>
+<div id="tripal_feature-sequence-box" class="tripal_feature-info-box tripal-info-box">
+  <div class="tripal_feature-info-box-title tripal-info-box-title"><?php print $feature->cvname ?> Sequence</div>
+  <div class="tripal_feature-info-box-desc tripal-info-box-desc">The nucleotide or peptide sequence for this feature</div>
+  <?php print $feature->cvname; ?> sequence        
+  <pre id="tripal_feature-sequence-residues"><?php 
+     if($feature->residues){
+        // format the sequence to break ever 100 residues
+        print ereg_replace("(.{100})","\\1<br>",$feature->residues); 
+     } else {
+        print "sequence currently not available";
+     } ?>
+  </pre>
+</div>
+

+ 19 - 0
theme_tripal/tripal_feature/tripal_feature_synonyms.tpl.php

@@ -0,0 +1,19 @@
+<!-- theme_tripal_feature_feature_synonyms -->
+            <?php
+               $synonyms = $node->synonyms;
+               if(count($synonyms) > 0){
+            ?>
+      			<tr><th>Synonyms</th><td>
+                  <?php
+                  // iterate through each synonym
+                  if (is_array($synonyms)) {
+                     foreach ($synonyms as $result){
+                        print $result->name."<br>";
+                     }
+                  } else {
+                     print $synonyms;
+                  }
+                  ?>
+               	</td></tr>
+            <?php } ?>
+      		<!-- End of theme_tripal_feature_feature_synonyms -->