data__sequence_formatter.inc 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. class data__sequence_formatter extends ChadoFieldFormatter {
  3. // The default lable for this field.
  4. public static $default_label = 'Sequence';
  5. // The list of field types for which this formatter is appropriate.
  6. public static $field_types = ['data__sequence'];
  7. /**
  8. * @see TripalFieldFormatter::view()
  9. */
  10. public function view(&$element, $entity_type, $entity, $langcode, $items, $display) {
  11. // If there are no items, we don't want to return any markup.
  12. if (count($items) == 0 or (count($items) == 1 and empty($items[0]['value']['data:2044']))) {
  13. $element[0] = [
  14. '#type' => 'markup',
  15. '#markup' => 'No sequence is available.',
  16. ];
  17. return;
  18. }
  19. $num_bases = 50;
  20. foreach ($items as $k => $d) {
  21. $rendered_seq = '<pre class="residues-formatter">';
  22. $rendered_seq .= $d['value']['NCIT:C47845']; // render the fasta record.
  23. $rendered_seq .= '</pre>';
  24. $element[$k] = [
  25. // We create a render array to produce the desired markup,
  26. '#type' => 'markup',
  27. '#markup' => $rendered_seq,
  28. ];
  29. }
  30. }
  31. }