6 use CXGN::Page::FormattingHelpers qw/info_table_html/;
7 use SGN::View::Feature qw/ description_featureprop_types cvterm_link /;
10 # find all featureprops other that Note, which is already taken
11 # care of, group them by type
12 my $props = $feature->search_related(
15 # filter out featureprops that are used as the feature's description
17 -not_in => description_featureprop_types($feature)
18 ->get_column('cvterm_id')
21 'length(value)' => { '<=', 1000 },
23 { prefetch => 'type' },
26 while( my $fp = $props->next ) {
27 push @{$properties{ $fp->type->name } ||= []}, $fp;
31 for my $propname ( sort keys %properties ) {
32 my $fps = $properties{$propname};
33 my $name = $m->scomp('/chado/cvterm_link.mas', cvterm => $fps->[0]->type, caps => 'ucfirst' );
35 ? '<ul>'.(join '', map "<li>".encode_entities($_->value)."</li>", @$fps).'</ul>'
36 : encode_entities($fps->[0]->value);
38 print qq|<dl style="float: left; margin: 1em"><dt>$name</dt><dd>$value</dd></dl>\n|;