--- trunk/lib/Frey/View/Exhibit.pm 2009/01/06 15:26:19 945 +++ trunk/lib/Frey/View/Exhibit.pm 2009/01/06 15:26:41 946 @@ -4,56 +4,31 @@ extends 'Frey'; with 'Frey::Web'; -use MooseX::Types::Moose qw(Str Int ArrayRef); -use MooseX::Types::Structured qw/Dict/; - use Data::Dump qw/dump/; =head1 DESCRIPTION present C as Exhibit from L +=head1 SEE ALSO + +L + =cut -has sponge => ( +has pipe => ( is => 'rw', - isa => Dict[ - rows => ArrayRef[ArrayRef], - NAME => ArrayRef[Str], - ], -# required => 1, + isa => 'Str', + required => 1, + default => 'Frey::DelIcioUs/as_sponge|Frey::View::Exhibit::JSON/as_markup', ); -sub as_data { - my ($self) = @_; - - confess "need sponge" unless $self->as_sponge; - - my $items; - my $names = $self->as_sponge->{NAME}; - - my $id = 0; - my $have_id = grep { m{^id$} } @$names; - my $have_label = grep { m{^label$} } @$names; - - foreach my $row ( @{ $self->as_sponge->{rows} } ) { - my $item; - map { $item->{ $names->[$_] } = $row->[$_] } ( 0 .. $#{ $row } ); - $item->{id} = $id unless $have_id; - $item->{label} = $id unless $have_label; - $id++; - push @{ $items->{items} }, $item; - } - - return $items; -} - sub depends { my ($self) = @_; - $self->add_head(qq{ - - }); + my $pipe = $self->url_escape( $self->pipe ); + $self->add_head(qq| + + |); $self->add_head(qq|