7 |
|
|
8 |
use Continuity::Widget::DomNode; |
use Continuity::Widget::DomNode; |
9 |
use Data::Dump qw/dump/; |
use Data::Dump qw/dump/; |
10 |
use Carp qw/confess/; |
use Carp qw/confess cluck/; |
11 |
use File::Slurp; |
use File::Slurp; |
12 |
|
|
13 |
use Frey::Bookmarklet; |
use Frey::Bookmarklet; |
25 |
isa => 'ArrayRef[HashRef[Str]]', |
isa => 'ArrayRef[HashRef[Str]]', |
26 |
lazy => 1, |
lazy => 1, |
27 |
default => sub { [ |
default => sub { [ |
28 |
{ 'ClassBrowser' => Frey::ClassBrowser->new( usage_on_top => 0 )->as_markup }, |
# { 'ClassBrowser' => Frey::ClassBrowser->new( usage_on_top => 0 )->as_markup }, |
29 |
{ 'Bookmarklets' => Frey::Bookmarklet->new->as_markup }, |
# { 'Bookmarklets' => Frey::Bookmarklet->new->as_markup }, |
30 |
] }, |
] }, |
31 |
); |
); |
32 |
|
|
157 |
|
|
158 |
my $status_line = ''; |
my $status_line = ''; |
159 |
foreach my $part ( @{ $self->status } ) { |
foreach my $part ( @{ $self->status } ) { |
|
if ( ref($part) ne 'HASH' ) { |
|
|
warn "part not hash ",dump( $part ) ; |
|
|
#$self->status( $part ); |
|
|
next; |
|
|
} |
|
160 |
foreach my $name ( keys %$part ) { |
foreach my $name ( keys %$part ) { |
161 |
my $content = $part->{$name}; |
my $content = $part->{$name}; |
162 |
if ( ref($content) ) { |
if ( ref($content) ) { |
299 |
sub add_status { |
sub add_status { |
300 |
my ( $self, $data ) = @_; |
my ( $self, $data ) = @_; |
301 |
push @{ $self->status }, $data; |
push @{ $self->status }, $data; |
302 |
warn "## current status ", $#{ $self->status }, " elements"; |
} |
303 |
|
|
304 |
|
sub DEMOLISH { |
305 |
|
my ( $self ) = @_; |
306 |
|
cluck "## DEMOLISH status ", $#{ $self->status } + 1, " elements ", dump( map { keys %$_ } @{ $self->status } ); |
307 |
} |
} |
308 |
|
|
309 |
1; |
1; |